mbox series

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

Message ID 20240826140545.4085-1-Jianping.Shen@de.bosch.com (mailing list archive)
Headers show
Series iio: imu: smi240: add bosch smi240 driver | expand

Message

Shen Jianping (ME-SE/EAD2) Aug. 26, 2024, 2:05 p.m. UTC
From: Shen Jianping <Jianping.Shen@de.bosch.com>

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