iio:proximity:sx9324: Add SX9324 support
authorGwendal Grignou <gwendal@chromium.org>
Sat, 1 Jan 2022 20:38:15 +0000 (12:38 -0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 23 Jan 2022 18:03:33 +0000 (18:03 +0000)
commit4c18a890dff8d95ca234d184773910383a978d45
treeb6ad275fa7f79c25330c153afc1a096293c99622
parentcaa8ce7f6149576efc3a1af06d2c03e41cb6c46e
iio:proximity:sx9324: Add SX9324 support

Semtech SAR sensor SX9324 is an evolution of the SX9310:
It has 4 phases that can be configured to capture and process data
from any of 3 CS pins and provide independent detection:
proximity, table proximity or body proximity.

Gather antenna data:
  echo sx9324-dev3 > trigger/current_trigger
  echo 1 > scan_elements/in_proximity0_en
  echo 1 > buffer/enable
  od -v -An --endian=big -t d2 -w2 /dev/iio\:device3
  (at 10Hz, the default).

Trigger events:
Setting:
  thresh_falling_period: 2 (events)
  thresh_rising_period: 2 (events)
  in_proximity0_thresh_either_value: 300
  in_proximity0_thresh_either_hysteresis: 72

using iio_event_monitor /dev/iio\:deviceX, approaching my hand to the
antenna pad, I see:
...
Event: time: 1634763907532035297, type: proximity, channel: 0, evtype:
thresh, direction: falling
Event: time: 1634763910138104640, type: proximity, channel: 0, evtype:
thresh, direction: rising
...

Datasheet: https://edit.wpgdadawant.com/uploads/news_file/program/2019/30184/tech_files/program_30184_suggest_other_file.pdf
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20220101203817.290512-4-gwendal@chromium.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Documentation/ABI/testing/sysfs-bus-iio-sx9324 [new file with mode: 0644]
drivers/iio/proximity/Kconfig
drivers/iio/proximity/Makefile
drivers/iio/proximity/sx9324.c [new file with mode: 0644]