[PATCH v4 0/3] iio: imu: inv_icm42600: add support for icm42630

From: Jorijn van der Graaf

Date: Mon Aug 10 2026 - 15:27:31 EST


The TDK InvenSense ICM-42630 is a 6-axis IMU of the ICM-42600 family,
used in the Fairphone 6. It needs no part-specific driver code: TDK
confirmed it can be supported by inv_icm42600 without modification.

The binding documents the new compatible with an invensense,icm42631
fallback, and a WHOAMI mismatch no longer fails probe, so that a
fallback-matched part can probe; one informational line records the
mismatch, and a whoami of 0x00/0xff (no response) still fails. No
driver id entries are added: the part binds through the fallback.

Tested on the Fairphone 6 with the fallback pair in the devicetree,
via a backport to its 7.1-based kernel: matched as icm42631 through
the fallback, the part probes with the one informational line, and
accelerometer, gyroscope and temperature reads work.

Changes in v4:
- patch 2 (retitled): keep the WHOAMI read and log the mismatch at
info level, following the wording Jonathan proposed, instead of
deleting the check and the whoami definitions (Jonathan, Conor)
- patch 2: add a no-response guard, whoami 0x00/0xff still fails
probe, matching inv_icm45600; both prints use %#04x so the two ids
render at equal width
- patch 3: rebased over the icm42607 and mount-matrix binding changes;
the conditional interrupts requirement added with the icm42607
covers the ICM-42630 through its icm42631 fallback. Added Conor's
Acked-by
- rebased onto current iio/togreg

v3: https://lore.kernel.org/all/20260728184351.75015-1-jorijnvdgraaf@xxxxxxxxxxxxx/
v2: https://lore.kernel.org/all/20260724202708.128267-1-jorijnvdgraaf@xxxxxxxxxxxxx/
v1: https://lore.kernel.org/all/20260720173411.82979-1-jorijnvdgraaf@xxxxxxxxxxxxx/

Jorijn van der Graaf (3):
iio: imu: inv_icm42600: sort device id tables numerically
iio: imu: inv_icm42600: log whoami mismatch instead of failing probe
dt-bindings: iio: imu: icm42600: add icm42630

.../bindings/iio/imu/invensense,icm42600.yaml | 24 +++++++++++--------
.../iio/imu/inv_icm42600/inv_icm42600_core.c | 16 ++++++++++---
.../iio/imu/inv_icm42600/inv_icm42600_i2c.c | 16 ++++++-------
.../iio/imu/inv_icm42600/inv_icm42600_spi.c | 16 ++++++-------
4 files changed, 43 insertions(+), 29 deletions(-)


base-commit: 350d1fb9204b13c5f95e511e98b8bcb47574d425
--
2.55.0