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

Jianping.Shen
2024-09-04T14:05:34Z

Add 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. 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

v4 -> v5
- 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

v4 -> v5
- Merge the implementation in one simple file
- Add channel info for acc/gyro data channel
- Fix other findings

Shen Jianping (2):
dt-bindings: iio: imu: smi240: add Bosch smi240
iio: imu: smi240: add driver

.../bindings/iio/imu/bosch,smi240.yaml | 52 ++
drivers/iio/imu/Kconfig | 14 +
drivers/iio/imu/Makefile | 2 +
drivers/iio/imu/smi240.c | 578 ++++++++++++++++++
4 files changed, 646 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,smi240.yaml
create mode 100644 drivers/iio/imu/smi240.c

--
2.34.1