[PATCH 0/3] Add driver for Invensense ICM42370P accelerometer
Kanak Shilledar <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Invensense ICM42370P is a high performance MEMS MotionTracking 3-axis accelerometer. It supports I2C, I3C and SPI protocols. It has a 2.25kB FIFO and two programmable interrupts with support for ultra-low-power wake-on-motion support. It has a built-in temperature sensor. This patch series adds basic support for the sensor with functionality of performing raw reads and writes along with buffered reads via the I2C interface. This device contains 4 register banks for configuring the device called MREG0, MREG1, MREG2 and MREG3. Unlike other devices from the same vendor, this contains a very different way of accessing the register banks apart from the default user bank 0 (MREG0). The register bank access procedure is mentioned in the datasheet [1] Section 13. Due to this specific reason and that it doesn't have a gyro sensor, it is implemented as a standalone driver. This device has 3 formats for the FIFO structure (datasheet [1] Section 6), currently only FIFO packet format 1 is supported, others formats can be added as part of future work. The device supports EDGE and LEVEL triggered interrupts, refer the dt-binding for example of how the devicetree should be setup. The driver is inspired from iio/imu/inv_icm42600. [1] https://uat.invensense.com/en-us/products/3-axis/icm-42370-p Signed-off-by: Kanak Shilledar <[email protected]> --- Kanak Shilledar (3): dt-bindings: Add InvenSense ICM-42370-p accelerometer iio: accel: Add support for ICM42370P iio: accel: icm42370: Add FIFO buffer functionality .../bindings/iio/accel/invensense,icm42370.yaml | 65 + MAINTAINERS | 9 + drivers/iio/accel/Kconfig | 18 + drivers/iio/accel/Makefile | 6 + drivers/iio/accel/inv_icm42370.h | 371 +++++ drivers/iio/accel/inv_icm42370_buffer.c | 504 +++++++ drivers/iio/accel/inv_icm42370_buffer.h | 97 ++ drivers/iio/accel/inv_icm42370_core.c | 1454 ++++++++++++++++++++ drivers/iio/accel/inv_icm42370_i2c.c | 103 ++ 9 files changed, 2627 insertions(+) --- base-commit: 350d1fb9204b13c5f95e511e98b8bcb47574d425 change-id: 20260629-b4-inv_icm42370p-ccd671066bcf Best regards, -- Kanak Shilledar <[email protected]>