iio: imu: smi240: add bosch smi240 driver
From: | Jianping.Shen-AT-de.bosch.com | |
To: | <jic23-AT-kernel.org>, <lars-AT-metafoo.de>, <robh-AT-kernel.org>, <krzk+dt-AT-kernel.org>, <conor+dt-AT-kernel.org>, <dima.fedrau-AT-gmail.com>, <marcelo.schmitt1-AT-gmail.com>, <linux-iio-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <Jianping.Shen-AT-de.bosch.com>, <Christian.Lorenz3-AT-de.bosch.com>, <Ulrike.Frauendorf-AT-de.bosch.com>, <Kai.Dolde-AT-de.bosch.com> | |
Subject: | [PATCH v7 0/2] iio: imu: smi240: add bosch smi240 driver | |
Date: | Fri, 13 Sep 2024 12:00:09 +0200 | |
Message-ID: | <20240913100011.4618-1-Jianping.Shen@de.bosch.com> | |
Archive-link: | Article |
From: Shen Jianping <Jianping.Shen@de.bosch.com> 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 v5 -> v6 - Fix checkpatch findings v6 -> v7 - 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 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 | 611 ++++++++++++++++++ 4 files changed, 678 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,smi240.yaml create mode 100644 drivers/iio/imu/smi240.c -- 2.34.1