[PATCH v4 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. It needs no part-specific driver code: TDK
confirmed it can be supported by inv_icm42600 without modification.

The binding documents the new compatible with an invensense,icm42631
fallback, and a WHOAMI mismatch no longer fails probe, so that a
fallback-matched part can probe; one informational line records the
mismatch, and a whoami of 0x00/0xff (no response) still fails. 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 with the one informational line, and
accelerometer, gyroscope and temperature reads work.

Changes in v4:
- patch 2 (retitled): keep the WHOAMI read and log the mismatch at
  info level, following the wording Jonathan proposed, instead of
  deleting the check and the whoami definitions (Jonathan, Conor)
- patch 2: add a no-response guard, whoami 0x00/0xff still fails
  probe, matching inv_icm45600; both prints use %#04x so the two ids
  render at equal width
- patch 3: rebased over the icm42607 and mount-matrix binding changes;
  the conditional interrupts requirement added with the icm42607
  covers the ICM-42630 through its icm42631 fallback. Added Conor's
  Acked-by
- rebased onto current iio/togreg

v3: 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: log whoami mismatch instead of failing probe
  dt-bindings: iio: imu: icm42600: add icm42630

 .../bindings/iio/imu/invensense,icm42600.yaml | 24 +++++++++++--------
 .../iio/imu/inv_icm42600/inv_icm42600_core.c  | 16 ++++++++++---
 .../iio/imu/inv_icm42600/inv_icm42600_i2c.c   | 16 ++++++-------
 .../iio/imu/inv_icm42600/inv_icm42600_spi.c   | 16 ++++++-------
 4 files changed, 43 insertions(+), 29 deletions(-)


base-commit: 350d1fb9204b13c5f95e511e98b8bcb47574d425
-- 
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.