[PATCH v2 0/4] iio: imu: inv_icm42600: add support for icm42630

Jorijn van der Graaf posted 4 patches 5 hours ago
.../bindings/iio/imu/invensense,icm42600.yaml | 20 +++++++++++--------
drivers/iio/imu/inv_icm42600/inv_icm42600.h   |  2 ++
.../iio/imu/inv_icm42600/inv_icm42600_core.c  | 13 +++++++-----
.../iio/imu/inv_icm42600/inv_icm42600_i2c.c   | 18 ++++++++++-------
.../iio/imu/inv_icm42600/inv_icm42600_spi.c   | 18 ++++++++++-------
5 files changed, 44 insertions(+), 27 deletions(-)
[PATCH v2 0/4] iio: imu: inv_icm42600: add support for icm42630
Posted by Jorijn van der Graaf 5 hours ago
The TDK InvenSense ICM-42630 is a 6-axis IMU of the ICM-42600 family,
used in the Fairphone 6. The existing inv_icm42600 driver drives it
unmodified.

v2 restructures the series per the v1 review: the binding documents the
new compatible with an invensense,icm42631 fallback, and the driver's
WHOAMI hard check becomes a warning so that a fallback-matched part can
probe at all (on older kernels via a backport of that one patch). The
id tables are sorted numerically in a precursor patch and the new
entries slot into numeric position.

Both resulting paths were tested on the Fairphone 6 with the fallback
pair in the devicetree, via backports to its 7.1-based kernel: matched
as icm42631 through the fallback (patch 2 alone, dedicated entries
removed), the part warns once, probes, and accelerometer, gyroscope
and temperature reads work; with the dedicated entries present it
binds as icm42630 without a warning. The fuller v1 test set (all
full-scale ranges, several sampling frequencies, watermark-paced FIFO
reads via INT1) ran with the dedicated compatible and is unchanged by
this revision.

Chris Morgan's icm42607 series [1] touches the same binding enum, so
whichever lands second has a trivial merge conflict. Its conditional
interrupts requirement covers the ICM-42630 automatically through the
fallback compatible.

Changes in v2:
- new patch 1: sort the device id tables numerically (Jonathan)
- new patch 2: warn on whoami mismatch instead of failing probe
  (Conor, Jonathan)
- patch 3 (v1 patch 1): compatible now documented with the icm42631
  fallback (Jonathan); commit message rewritten; dropped Jean-Baptiste's
  Acked-by because of the rework
- patch 4 (v1 patch 2): match entries placed in numeric position
  (Jonathan); kept Jean-Baptiste's Acked-by - the only code change is
  the entry placement; its commit message gains a sentence on the
  fallback and a more precise note on the tested backport

[1] https://lore.kernel.org/all/20260722153942.144387-1-macroalpha82@gmail.com/

v1: https://lore.kernel.org/all/20260720173411.82979-1-jorijnvdgraaf@catcrafts.net/

Jorijn van der Graaf (4):
  iio: imu: inv_icm42600: sort device id tables numerically
  iio: imu: inv_icm42600: warn on whoami mismatch instead of failing
    probe
  dt-bindings: iio: imu: icm42600: add icm42630
  iio: imu: inv_icm42600: add support for icm42630

 .../bindings/iio/imu/invensense,icm42600.yaml | 20 +++++++++++--------
 drivers/iio/imu/inv_icm42600/inv_icm42600.h   |  2 ++
 .../iio/imu/inv_icm42600/inv_icm42600_core.c  | 13 +++++++-----
 .../iio/imu/inv_icm42600/inv_icm42600_i2c.c   | 18 ++++++++++-------
 .../iio/imu/inv_icm42600/inv_icm42600_spi.c   | 18 ++++++++++-------
 5 files changed, 44 insertions(+), 27 deletions(-)


base-commit: 036d96ceec6d966339aea34d034420991e24cfac
-- 
2.55.0