[PATCH v2 0/2] Add support for WoM (Wake-on-Motion) feature

From: Jean-Baptiste Maneyrol via B4 Relay
Date: Tue Apr 15 2025 - 10:47:48 EST


Similar to feature present in older chip, it compares the magnitude of
the last 2 accel samples against a threshold and returns an interrupt
even if the value is higher.

WoM maps best to accel x|y|z ROC event. This series add system wakeup
functionality if WoM is on and wakeup is enabled when system suspends.

This series also prepare the driver for supporting further APEX
features like pedometer, tilt, ... It introduces an apex structure that
will hold all APEX settings and track the enable state.

Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>
---
Changes in v2:
- change struct order to avoir DMA overflow
- separate wom enable/disable in 2 functions
- delete mutex rework
- Link to v1: https://lore.kernel.org/r/20250220-losd-3-inv-icm42600-add-wom-support-v1-0-9b937f986954@xxxxxxx

---
Jean-Baptiste Maneyrol (2):
iio: imu: inv_icm42600: add WoM support
iio: imu: inv_icm42600: add wakeup functionality for Wake-on-Motion

drivers/iio/imu/inv_icm42600/inv_icm42600.h | 56 +++-
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 283 ++++++++++++++++++++-
drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c | 2 +-
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 103 +++++++-
4 files changed, 430 insertions(+), 14 deletions(-)
---
base-commit: d3d6cb27a945c6fc7ddd3e7423c4303b4b6bad36
change-id: 20250220-losd-3-inv-icm42600-add-wom-support-0620fef9db23

Best regards,
--
Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>