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