[PATCH v3 0/3] iio: imu: inv_icm42600: add support for icm42630
Jorijn van der Graaf <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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. The binding documents the new compatible with an invensense,icm42631 fallback, and the driver's WHOAMI check is dropped so that a fallback-matched part can probe (on older kernels via a backport of that one patch). 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 silently, and accelerometer, gyroscope and temperature reads work. The fuller v1 test set (all full-scale ranges, several sampling frequencies, watermark-paced FIFO reads via INT1) ran with v1's dedicated icm42630 id entries, whose configuration is the same family default the fallback match selects. 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 v3: - patch 2: drop the whoami check entirely instead of demoting the mismatch error to a warning, and remove the now-unused whoami definitions (Conor) - dropped v2's patch 4 (dedicated icm42630 driver id entries): the part binds through the fallback (Conor); Jean-Baptiste's Acked-by on it lapses with the patch - patch 1 and the binding patch are unchanged; series rebased onto current iio/togreg [1] https://lore.kernel.org/all/[email protected]/ v2: https://lore.kernel.org/all/[email protected]/ v1: https://lore.kernel.org/all/[email protected]/ Jorijn van der Graaf (3): iio: imu: inv_icm42600: sort device id tables numerically iio: imu: inv_icm42600: drop the whoami check dt-bindings: iio: imu: icm42600: add icm42630 .../bindings/iio/imu/invensense,icm42600.yaml | 20 +++++++++++-------- drivers/iio/imu/inv_icm42600/inv_icm42600.h | 9 --------- .../iio/imu/inv_icm42600/inv_icm42600_core.c | 17 ---------------- .../iio/imu/inv_icm42600/inv_icm42600_i2c.c | 16 +++++++-------- .../iio/imu/inv_icm42600/inv_icm42600_spi.c | 16 +++++++-------- 5 files changed, 28 insertions(+), 50 deletions(-) base-commit: 0506462caaecb179708657142575823177c83783 -- 2.55.0