Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] iio: imu: inv_icm42600: add support for icm42630
@ 2026-07-20 17:34 Jorijn van der Graaf
  2026-07-20 17:34 ` [PATCH 1/2] dt-bindings: iio: imu: icm42600: add icm42630 Jorijn van der Graaf
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Jorijn van der Graaf @ 2026-07-20 17:34 UTC (permalink / raw)
  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, devicetree, linux-kernel

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.

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://lore.kernel.org/all/20260716182637.24310-1-macroalpha82@gmail.com/

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-07-22 16:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-20 17:34 [PATCH 0/2] iio: imu: inv_icm42600: add support for icm42630 Jorijn van der Graaf
2026-07-20 17:34 ` [PATCH 1/2] dt-bindings: iio: imu: icm42600: add icm42630 Jorijn van der Graaf
2026-07-21  7:14   ` Jean-Baptiste Maneyrol
2026-07-21 16:01   ` Conor Dooley
2026-07-21 17:16     ` Jorijn van der Graaf
2026-07-22 16:59       ` Conor Dooley
2026-07-20 17:34 ` [PATCH 2/2] iio: imu: inv_icm42600: add support for icm42630 Jorijn van der Graaf
2026-07-21  7:18   ` Jean-Baptiste Maneyrol
2026-07-21  7:12 ` [PATCH 0/2] " Jean-Baptiste Maneyrol

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox