[PATCH v4 0/2] iio: imu: smi240: add bosch smi240 driver

Jianping.Shen
2024-08-26T14:06:24Z

This patchset adds the iio driver for bosch imu smi240. The smi240
is a combined three axis angular rate and three axis acceleration
sensor module with a measurement range of +/-300°/s and up to 16g.
Smi240 does not support interrupt. This driver provides raw data
access for each axis through sysfs, and tiggered buffer for
continuous sampling. A synchronous acc and gyro sampling can be
triggered by setting the capture bit in spi read command.

dt-bindings:
v1 -> v2
- Add more detail in description
- Add maintainer
- Add vdd and vddio power supply
- Use generic node name
- Order the properties according to DTS coding style
v2 -> v3
- improve description
- improve supply definition
- make supply definition as required
- add supply definition in example
v3 -> v4
- no changes

imu driver:
v1 -> v2
- Use regmap for register access
- Redefine channel for each singel axis
- Provide triggered buffer
- Fix findings in Kconfig
- Remove unimportant functions
v2 -> v3
- Use enum für capture mode
- Using spi default init value instead manual init
- remove duplicated module declaration
- Fix code to avoid warning
v3 -> v4
- Use DMA safe buffer
- Use channel info instead of custom ABI
- Fix other findings

Shen Jianping (2):
dt-bindings: iio: imu: smi240: devicetree binding
iio: imu: smi240: imu driver

.../bindings/iio/imu/bosch,smi240.yaml | 52 +++
drivers/iio/imu/Kconfig | 1 +
drivers/iio/imu/Makefile | 1 +
drivers/iio/imu/smi240/Kconfig | 12 +
drivers/iio/imu/smi240/Makefile | 7 +
drivers/iio/imu/smi240/smi240.h | 35 ++
drivers/iio/imu/smi240/smi240_core.c | 385 ++++++++++++++++++
drivers/iio/imu/smi240/smi240_spi.c | 172 ++++++++
8 files changed, 665 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,smi240.yaml
create mode 100644 drivers/iio/imu/smi240/Kconfig
create mode 100644 drivers/iio/imu/smi240/Makefile
create mode 100644 drivers/iio/imu/smi240/smi240.h
create mode 100644 drivers/iio/imu/smi240/smi240_core.c
create mode 100644 drivers/iio/imu/smi240/smi240_spi.c

--
2.34.1