Commit c73314e6 authored by Mathieu Othacehe's avatar Mathieu Othacehe Committed by Jonathan Cameron

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: default avatarMathieu Othacehe <m.othacehe@gmail.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent cd570e6f
...@@ -1675,3 +1675,10 @@ KernelVersion: 4.12 ...@@ -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.
\ No newline at end of file
...@@ -86,6 +86,7 @@ static const char * const iio_chan_type_name_spec[] = { ...@@ -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[] = {
......
...@@ -45,6 +45,7 @@ enum iio_chan_type { ...@@ -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 {
......
...@@ -59,6 +59,7 @@ static const char * const iio_chan_type_name_spec[] = { ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment