[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.