[PATCH 0/2] iio: imu: Add support for the ADI ADIS16607

From: Radu Sabau via B4 Relay

Date: Thu Oct 01 2026 - 05:12:32 EST


This series adds support for the Analog Devices ADIS16607, a precision
MEMS IMU with triaxial gyroscope, triaxial accelerometer, and
temperature sensor, communicating over a non-standard SPI Half-Duplex
protocol.

Patch 1 adds the devicetree binding.

Patch 2 adds the driver, built on top of the existing ADIS IIO library
(drivers/iio/imu/adis.c). Notable points for reviewers:

- The device does not implement the standard ADIS SPI protocol used
by other parts in the family; reads/writes are done over a custom
Half-Duplex sequence (see adis16607_spi_read()/adis16607_spi_write()
and the adis_ops overrides).

- An optional external clock (clocks property) selects between
SYNC_DIRECT and SYNC_SCALED modes depending on the supplied
frequency, with the internal 8 kHz clock used as the default when
no clock is provided (adis16607_config_sync()).

- An optional hardware FIFO mode (adi,fifo-enable) is supported as an
alternative to the default single-sample burst-read trigger path.

- Sensor self-test forces a settle delay (self_test_ms) between
enabling and forcing the test before comparing before/after deltas
against per-axis thresholds (adis16607_sensor_self_test()).

This has been tested on a Raspberry Pi 4 (arm64) with the device wired
over SPI, exercising both the default burst-read path and FIFO mode.

Signed-off-by: Radu Sabau <radu.sabau@xxxxxxxxxx>
---
Radu Sabau (2):
dt-bindings: iio: imu: Add bindings for ADI ADIS16607
iio: imu: Add driver for the ADI ADIS16607

.../devicetree/bindings/iio/imu/adi,adis16607.yaml | 91 ++
MAINTAINERS | 8 +
drivers/iio/imu/Kconfig | 13 +
drivers/iio/imu/Makefile | 1 +
drivers/iio/imu/adis16607.c | 1513 ++++++++++++++++++++
5 files changed, 1626 insertions(+)
---
base-commit: 9c87e61e3c5797277407ba5eae4eac8a52be3fa3
change-id: 20260617-adis16607-089ffc655ceb

Best regards,
--
Radu Sabau <radu.sabau@xxxxxxxxxx>