Add basic I2C support for the Bosch BMI270 IMU. References: https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/ Signed-off-by: Alex Lanzano <lanzano.alex@xxxxxxxxx> --- Changes in v4: - Include linux/bitfield.h to bmi270_core.c - Add comments documenting sleep functions - Increase configuration delay to be inline with datasheet Changes in v3: - Remove code pertaining to buffer / triggered buffer - Move register definitions from struct to defines - Add bit mask defines for registers and replace hardcoded values - Create macros for accel and gryo channels - Code style cleanup Changes in v2: - Remove spi example in binding documentation - Add more properties to i2c example in binding documentation --- Alex Lanzano (2): dt-bindings: iio: imu: add bmi270 bindings iio: imu: Add i2c driver for bmi270 imu .../bindings/iio/imu/bosch,bmi270.yaml | 77 ++++++ MAINTAINERS | 7 + drivers/iio/imu/Kconfig | 1 + drivers/iio/imu/Makefile | 1 + drivers/iio/imu/bmi270/Kconfig | 21 ++ drivers/iio/imu/bmi270/Makefile | 6 + drivers/iio/imu/bmi270/bmi270.h | 62 +++++ drivers/iio/imu/bmi270/bmi270_core.c | 258 ++++++++++++++++++ drivers/iio/imu/bmi270/bmi270_i2c.c | 48 ++++ 9 files changed, 481 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml create mode 100644 drivers/iio/imu/bmi270/Kconfig create mode 100644 drivers/iio/imu/bmi270/Makefile create mode 100644 drivers/iio/imu/bmi270/bmi270.h create mode 100644 drivers/iio/imu/bmi270/bmi270_core.c create mode 100644 drivers/iio/imu/bmi270/bmi270_i2c.c -- 2.46.0