[PATCH v2 0/5] Add Invensense ICM42607
Chris Morgan
macroalpha82 at gmail.com
Thu Mar 19 11:29:36 PDT 2026
From: Chris Morgan <macromorgan at hotmail.com>
Add support for the ICM42607 IMU. This sensor shares the same
functionality but a different register layout with the existing
ICM42600.
This driver should work with the ICM42607 and ICM42607P over both I2C
and SPI, however only the ICM42607P over I2C could be tested.
Changes Since V1:
- Instead of creating a new driver, merged with the existing inv_icm42600
driver. This necessitated adding some code to the existing driver to
permit using a different register layout for the same functionality.
- Split changes up a bit more to decrease the size of the individual
patches. Note that patch 0004 is still pretty hefty; if I need to split
further I may need to create some temporary stub functions.
- Used guard() and PM_RUNTIME_ACQUIRE_AUTOSUSPEND() on the new functions
per Jonathan's recommendations.
Chris Morgan (5):
dt-bindings: iio: imu: add icm42607
iio: imu: inv_icm42600: Add support for using alternate registers
iio: imu: inv_icm42600: Add registers for icm42607
iio: imu: inv_icm42600: Add support for icm42607
arm64: dts: rockchip: Add icm42607p IMU for RG-DS
.../bindings/iio/imu/invensense,icm42600.yaml | 4 +
.../dts/rockchip/rk3568-anbernic-rg-ds.dts | 20 +-
drivers/iio/imu/inv_icm42600/inv_icm42600.h | 333 +++++++-
.../iio/imu/inv_icm42600/inv_icm42600_accel.c | 497 ++++++++++-
.../imu/inv_icm42600/inv_icm42600_buffer.c | 240 +++++-
.../imu/inv_icm42600/inv_icm42600_buffer.h | 5 +
.../iio/imu/inv_icm42600/inv_icm42600_core.c | 795 +++++++++++++++---
.../iio/imu/inv_icm42600/inv_icm42600_gyro.c | 379 ++++++++-
.../iio/imu/inv_icm42600/inv_icm42600_i2c.c | 53 +-
.../iio/imu/inv_icm42600/inv_icm42600_spi.c | 59 +-
.../iio/imu/inv_icm42600/inv_icm42600_temp.c | 64 ++
.../iio/imu/inv_icm42600/inv_icm42600_temp.h | 4 +
12 files changed, 2289 insertions(+), 164 deletions(-)
--
2.43.0
More information about the Linux-rockchip
mailing list