Re: [PATCH 0/2] iio: imu: inv_icm42600: add support for icm42630
From: Jean-Baptiste Maneyrol
Date: Tue Jul 21 2026 - 03:16:34 EST
>________________________________________
>From: Jorijn van der Graaf <jorijnvdgraaf@xxxxxxxxxxxxx>
>Sent: Monday, July 20, 2026 19:34
>To: Jonathan Cameron; Jean-Baptiste Maneyrol
>Cc: Jorijn van der Graaf; David Lechner; Nuno Sá; Andy Shevchenko; Rob Herring; Krzysztof Kozlowski; Conor Dooley; Chris Morgan; Luca Weiss; linux-iio@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>Subject: [PATCH 0/2] iio: imu: inv_icm42600: add support for icm42630
>
>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 once its WHOAMI value is known, so this is just the compatible plus the chip id / WHOAMI table
>ZjQcmQRYFpfptBannerStart
>This Message Is From an External Sender
>This message came from outside your organization.
>
>ZjQcmQRYFpfptBannerEnd
>
>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 once its WHOAMI value is known, so this is just the
>compatible plus the chip id / WHOAMI table entries.
>
>The part appears to be a mobile SKU and has no public datasheet. The
>name comes from the Fairphone 6 schematics and platform documentation;
>the WHOAMI value 0x0C was read from the hardware over both SPI and
>I2C, and the chip's bank 0 register defaults match the ICM-42600
>family layout. Jean-Baptiste, if you are able to confirm the part name
>and WHOAMI value from the TDK side, that would be very welcome.
>
Hello Jorijn,
I can confirm ICM-42630 is the correct name and is a chip similar to ICM-42631.
It can be supported by inv_icm42600 driver without any modification.
WHOAMI value is 0x0C, that's correct.
Thanks for your series,
JB
>Tested on the Fairphone 6: patch 2 applied to the device's 7.1-based
>kernel (with the id-table hunks adjusted to that base's style) drives
>the chip over a bit-banged SPI bus with INT1 wired to the SoC - probe,
>accelerometer, gyroscope and temperature raw reads, all full-scale
>ranges, multiple sampling frequencies, and watermark-paced FIFO reads
>through the INT1 interrupt. The accelerometer full scale was cross-checked against
>gravity (~2048 LSB/g at the default range, matching +-16g); the
>+-2000 dps gyroscope full scale is inferred from family membership,
>pending confirmation from TDK.
>
>The series is based on iio/togreg (base-commit below); on that base it
>builds (arm64 defconfig with the driver as modules, W=1 clean on the
>driver directory) and dt_binding_check passes.
>
>Note: Chris Morgan's in-flight ICM-42607 series [1] adds entries to
>the same binding enum; the overlap is context-only (different lines)
>and trivial for whichever lands second.
>
>[1] https://urldefense.com/v3/__https://lore.kernel.org/all/20260716182637.24310-1-macroalpha82@xxxxxxxxx/__;!!FtrhtPsWDhZ6tw!EMkKQset9Yby2oKxW0kPzUUw-xO1e0Se0_ponfx9sVFHe3ZpNkToWE9hCbKcOrvaXMEPxCQChCML3qSGp08krxDg7tbXgqqw_ZFV$[lore[.]kernel[.]org]
>
>The Fairphone 6 board DTS nodes will follow separately via the qcom
>tree once this lands.
>
>Jorijn van der Graaf (2):
> dt-bindings: iio: imu: icm42600: add icm42630
> iio: imu: inv_icm42600: add support for icm42630
>
> .../devicetree/bindings/iio/imu/invensense,icm42600.yaml | 1 +
> drivers/iio/imu/inv_icm42600/inv_icm42600.h | 2 ++
> drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 5 +++++
> drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c | 4 ++++
> drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 4 ++++
> 5 files changed, 16 insertions(+)
>
>
>base-commit: 036d96ceec6d966339aea34d034420991e24cfac
>--
>2.55.0
>
>
>