[PATCH v5 0/2] iio: add driver for Bosch BMA400 accelerometer

From: Dan Robertson
Date: Sun Dec 08 2019 - 21:00:17 EST


This patchset adds a IIO driver for the Bosch BMA400 3-axes ultra low-power
accelerometer. The initial implementation of the driver adds read support for
the acceleration and temperature data registers. The driver also has support
for reading and writing to the output data rate, oversampling ratio, and scale
configuration registers.

The major update in this patchset version is the move from using tables
to convert user input to/from the raw register value to using a
function.

Tests run:
- Various tests with libiio and i2c-dev
- dtbs_check and dt_binding_check

Thanks again for the reviews of patches v4! If I missed anything please
let me know.

Cheers,

- Dan


Changes in v5:

* Move to using a function instead of lookup tables for scale and
frequency conversions.
* Rename DT bindings to bosch,bma400.yaml
* Fixed other errors and improvements found by reviewers

Changes in v4:

* Fix error in DT bindings
* Fix typo when setting the OSR
* Simplified the cached sample frequency
* Fix the MODULE_LICENSE

Changes in v3:

* Use yaml format for DT bindings
* Remove strict dependency on OF
* Tidy Kconfig dependencies
* Stylistic changes
* Do not soft-reset device on remove

Changes in v2:

* Implemented iio_info -> read_avail
* Stylistic changes
* Implemented devicetree bindings


Dan Robertson (2):
dt-bindings: iio: accel: bma400: add bindings
iio: (bma400) add driver for the BMA400

.../bindings/iio/accel/bosch,bma400.yaml | 39 +
drivers/iio/accel/Kconfig | 16 +
drivers/iio/accel/Makefile | 2 +
drivers/iio/accel/bma400.h | 95 ++
drivers/iio/accel/bma400_core.c | 823 ++++++++++++++++++
drivers/iio/accel/bma400_i2c.c | 62 ++
6 files changed, 1037 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/accel/bosch,bma400.yaml
create mode 100644 drivers/iio/accel/bma400.h
create mode 100644 drivers/iio/accel/bma400_core.c
create mode 100644 drivers/iio/accel/bma400_i2c.c