[PATCH v3 00/15] iio: accel: adxl345: add interrupt based sensor events
From: Lothar Rubusch
Date: Thu Feb 20 2025 - 05:51:41 EST
Add several interrupt based sensor detection events:
- single tap
- double tap
- free fall
- activity
- inactivity
- sample frequency
- full frequency g range approach
- documentation
All the needed parameters for each and methods of adjusting them, and
forward a resulting IIO event for each to the IIO channel.
Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx>
---
v2 -> v3:
- generally introduction of regmap cache for all directly stored 8-bit
values, specification of volatile regs and cleanup
- moving thresholds, unchanged values and flags to regmap cache, in
consequence removal of corresponding member values of the state
instance
- removal of intio and int_map member fields due to regmap cache, thus
split of set_interrupts() patches in two parts
- rework documentation
- rework of ac-bit comment
v1 -> v2:
- implementation of all events (but tap2 suppress bit) by means IIO ABI
- add sample frequency / ODR configuration
- add g ranges configuration
- add activity/inactivity using auto-sleep and powersave
- add dynamic adjustment of default values for
activity/inactivity thresholds and time for inactivity based on ODR
and g range (can be overwritten)
- add sensor documentation
---
Lothar Rubusch (15):
iio: accel: adxl345: reorganize measurement enable
iio: accel: adxl345: add debug register access
iio: accel: adxl345: reorganize irq handler
iio: accel: adxl345: use regmap cache for INT mapping
iio: accel: adxl345: move INT enable to regmap cache
iio: accel: adxl345: add single tap feature
iio: accel: adxl345: add double tap feature
iio: accel: adxl345: add double tap suppress bit
iio: accel: adxl345: add freefall feature
iio: accel: adxl345: extend sample frequency adjustments
iio: accel: adxl345: add g-range configuration
iio: accel: adxl345: add activity event feature
iio: accel: adxl345: add inactivity feature
iio: accel: adxl345: add coupling detection for activity/inactivity
docs: iio: add documentation for adxl345 driver
Documentation/iio/adxl345.rst | 406 +++++++++
drivers/iio/accel/adxl345.h | 7 +-
drivers/iio/accel/adxl345_core.c | 1449 +++++++++++++++++++++++++++---
drivers/iio/accel/adxl345_i2c.c | 2 +
drivers/iio/accel/adxl345_spi.c | 2 +
5 files changed, 1762 insertions(+), 104 deletions(-)
create mode 100644 Documentation/iio/adxl345.rst
--
2.39.5