iio: add MEMSensing MSA311 3-axis accelerometer driver
authorDmitry Rokosov <DDRokosov@sberdevices.ru>
Mon, 22 Aug 2022 17:49:25 +0000 (17:49 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 30 Aug 2022 17:35:38 +0000 (18:35 +0100)
commit1ca2cfbc0c337ed3a3c817f84f9fcf0d32203f73
treed49ce0384b36876211269aa250f22ddb6d8bb993
parent4905949395850e41912ae89e2d2fa88d2cd36319
iio: add MEMSensing MSA311 3-axis accelerometer driver

MSA311 is a tri-axial, low-g accelerometer with I2C digital output for
sensitivity consumer applications. It has dynamic user-selectable full
scales range of +-2g/+-4g/+-8g/+-16g and allows acceleration measurements
with output data rates from 1Hz to 1000Hz.

This driver supports following MSA311 features:
    - IIO interface
    - Different power modes: NORMAL and SUSPEND (using pm_runtime)
    - ODR (Output Data Rate) selection
    - Scale and samp_freq selection
    - IIO triggered buffer, IIO reg access
    - NEW_DATA interrupt + trigger

Below features to be done:
    - Motion Events: ACTIVE, TAP, ORIENT, FREEFALL
    - Low Power mode

Datasheet: https://cdn-shop.adafruit.com/product-files/5309/MSA311-V1.1-ENG.pdf
Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20220822175011.2886-4-ddrokosov@sberdevices.ru
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
MAINTAINERS
drivers/iio/accel/Kconfig
drivers/iio/accel/Makefile
drivers/iio/accel/msa311.c [new file with mode: 0644]