mbox series

[v3,00/15] iio: accel: adxl345: add interrupt based sensor events

Message ID 20250220104234.40958-1-l.rubusch@gmail.com (mailing list archive)
Headers show
Series iio: accel: adxl345: add interrupt based sensor events | expand

Message

Lothar Rubusch Feb. 20, 2025, 10:42 a.m. UTC
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@gmail.com>
---
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