From: Jianping Shen <Jianping.Shen@de.bosch.com>
Add the iio driver for bosch imu smi330. The smi330 is a combined
three axis angular rate and three axis acceleration sensor module.
This driver provides raw data access for each axis through sysfs,
and tiggered buffer for continuous sampling.
dt-bindings:
v1 -> v2
- Add missing type to drive-open-drain
- Adapt description of drive-open-drain
v2 -> v3
- No Changes
v3 -> v4
- No Changes
imu driver:
v1 -> v2
- Strip back to a more minimal initial driver
v2 -> v3
- reorganize the driver as 1 core module, 1 I2C module, and 1 SPI module.
- remove build time INT pin choice
- change temperature channel definition
- improved reading data from sensor
- simplified timestamp acquisition
- some other minor finding fixes
v3 -> v4
- move #define from header to c file
- add sanity check to i2c message size
- use available_scan_masks to simplfy the copying data to buffer (dependent on [PATCH RFT] iio: Fix core buffer demux failure to account for unwanted channels at tail)
- allow setting output data rate for acc and gyro separately
- some other minor finding fixes
Jianping Shen (2):
dt-bindings: iio: imu: smi330: Add binding
iio: imu: smi330: Add driver
.../bindings/iio/imu/bosch,smi330.yaml | 90 ++
drivers/iio/imu/Kconfig | 1 +
drivers/iio/imu/Makefile | 1 +
drivers/iio/imu/smi330/Kconfig | 39 +
drivers/iio/imu/smi330/Makefile | 7 +
drivers/iio/imu/smi330/smi330.h | 25 +
drivers/iio/imu/smi330/smi330_core.c | 919 ++++++++++++++++++
drivers/iio/imu/smi330/smi330_i2c.c | 133 +++
drivers/iio/imu/smi330/smi330_spi.c | 85 ++
9 files changed, 1300 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,smi330.yaml
create mode 100644 drivers/iio/imu/smi330/Kconfig
create mode 100644 drivers/iio/imu/smi330/Makefile
create mode 100644 drivers/iio/imu/smi330/smi330.h
create mode 100644 drivers/iio/imu/smi330/smi330_core.c
create mode 100644 drivers/iio/imu/smi330/smi330_i2c.c
create mode 100644 drivers/iio/imu/smi330/smi330_spi.c
--
2.34.1