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

From: Jonathan Cameron
Date: Fri Oct 18 2024 - 14:10:34 EST


On Fri, 18 Oct 2024 15:52:32 +0200
<Jianping.Shen@xxxxxxxxxxxx> wrote:

> From: Shen Jianping <Jianping.Shen@xxxxxxxxxxxx>
>
> 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.
>
Applied to the togreg branch of iio.git and pushed out as testing
for 0-day to take a first look at it.

Minor tweak needed due to the unaligned.h header moving to linux/

Thanks,

Jonathan

> 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
>
> v5 -> v6
> - Fix checkpatch findings
>
> v6 -> v7
> - No changes
>
> v7 -> v8
> - No changes
>
> v8 -> v9
> - 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
>
> v5 -> v6
> - Fix checkpatch findings
> - Fix review findings
>
> v6 -> v7
> - Fix offset and scale
>
> v7 -> v8
> - Use memcpy in spi write to keep CPU endian
> - Fix some minor findings
>
> v8 -> v9
> - remove unnecessary cpu_to_le16 for reg value in spi response
> - use REGMAP_ENDIAN_NATIVE in regmap config to avoid regmap to flip the reg value when passing to spi write
>
> Shen Jianping (2):
> dt-bindings: iio: imu: smi240: add Bosch smi240
> iio: imu: smi240: add driver
>
> .../bindings/iio/imu/bosch,smi240.yaml | 51 ++
> drivers/iio/imu/Kconfig | 14 +
> drivers/iio/imu/Makefile | 2 +
> drivers/iio/imu/smi240.c | 622 ++++++++++++++++++
> 4 files changed, 689 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,smi240.yaml
> create mode 100644 drivers/iio/imu/smi240.c
>