iio: Add channel for Phase

Add new channel type support for phase.

This channel may be used by Time-of-flight sensors to express the
phase difference between emitted and received signals. Those sensor
will then use the phase shift of return signals to approximate the
distance to objects.

Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Mathieu Othacehe
2018-07-20 19:34:25 +02:00
committed by Jonathan Cameron
parent cd570e6fa4
commit c73314e6eb
4 changed files with 11 additions and 0 deletions

View File

@@ -1675,3 +1675,10 @@ KernelVersion: 4.12
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
Raw counter device counters direction for channel Y. Raw counter device counters direction for channel Y.
What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
KernelVersion: 4.18
Contact: linux-iio@vger.kernel.org
Description:
Raw (unscaled) phase difference reading from channel Y
that can be processed to radians.

View File

@@ -86,6 +86,7 @@ static const char * const iio_chan_type_name_spec[] = {
[IIO_INDEX] = "index", [IIO_INDEX] = "index",
[IIO_GRAVITY] = "gravity", [IIO_GRAVITY] = "gravity",
[IIO_POSITIONRELATIVE] = "positionrelative", [IIO_POSITIONRELATIVE] = "positionrelative",
[IIO_PHASE] = "phase",
}; };
static const char * const iio_modifier_names[] = { static const char * const iio_modifier_names[] = {

View File

@@ -45,6 +45,7 @@ enum iio_chan_type {
IIO_INDEX, IIO_INDEX,
IIO_GRAVITY, IIO_GRAVITY,
IIO_POSITIONRELATIVE, IIO_POSITIONRELATIVE,
IIO_PHASE,
}; };
enum iio_modifier { enum iio_modifier {

View File

@@ -59,6 +59,7 @@ static const char * const iio_chan_type_name_spec[] = {
[IIO_UVINDEX] = "uvindex", [IIO_UVINDEX] = "uvindex",
[IIO_GRAVITY] = "gravity", [IIO_GRAVITY] = "gravity",
[IIO_POSITIONRELATIVE] = "positionrelative", [IIO_POSITIONRELATIVE] = "positionrelative",
[IIO_PHASE] = "phase",
}; };
static const char * const iio_ev_type_text[] = { static const char * const iio_ev_type_text[] = {
@@ -153,6 +154,7 @@ static bool event_is_known(struct iio_event_data *event)
case IIO_UVINDEX: case IIO_UVINDEX:
case IIO_GRAVITY: case IIO_GRAVITY:
case IIO_POSITIONRELATIVE: case IIO_POSITIONRELATIVE:
case IIO_PHASE:
break; break;
default: default:
return false; return false;