OSDN Git Service

iio: accel: add support for LIS302DL variant
authorSicelo A. Mhlongo <absicsz@gmail.com>
Mon, 7 Mar 2022 13:25:02 +0000 (15:25 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 4 Apr 2022 08:11:23 +0000 (09:11 +0100)
Add support for STMicroelectronics LIS302DL accelerometer to the st_accel
framework.

Datasheet: https://www.st.com/resource/en/datasheet/lis302dl.pdf

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220307132502.73854-4-absicsz@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/st_accel.h
drivers/iio/accel/st_accel_core.c
drivers/iio/accel/st_accel_i2c.c
drivers/iio/accel/st_accel_spi.c

index 96e66b2..5b0f54e 100644 (file)
 #define LIS3DE_ACCEL_DEV_NAME          "lis3de"
 #define LIS2DE12_ACCEL_DEV_NAME                "lis2de12"
 #define LIS2HH12_ACCEL_DEV_NAME                "lis2hh12"
+#define LIS302DL_ACCEL_DEV_NAME                "lis302dl"
 #define SC7A20_ACCEL_DEV_NAME          "sc7a20"
 
+
 #ifdef CONFIG_IIO_BUFFER
 int st_accel_allocate_ring(struct iio_dev *indio_dev);
 int st_accel_trig_set_state(struct iio_trigger *trig, bool state);
index 5c5da6f..673f380 100644 (file)
@@ -444,6 +444,7 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
                .wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
                .sensors_supported = {
                        [0] = LIS331DL_ACCEL_DEV_NAME,
+                       [1] = LIS302DL_ACCEL_DEV_NAME,
                },
                .ch = (struct iio_chan_spec *)st_accel_8bit_channels,
                .odr = {
index 96adc43..45ee0dd 100644 (file)
@@ -108,6 +108,10 @@ static const struct of_device_id st_accel_of_match[] = {
                .data = LIS2HH12_ACCEL_DEV_NAME,
        },
        {
+               .compatible = "st,lis302dl",
+               .data = LIS302DL_ACCEL_DEV_NAME,
+       },
+       {
                .compatible = "silan,sc7a20",
                .data = SC7A20_ACCEL_DEV_NAME,
        },
@@ -146,6 +150,7 @@ static const struct i2c_device_id st_accel_id_table[] = {
        { LIS3DE_ACCEL_DEV_NAME },
        { LIS2DE12_ACCEL_DEV_NAME },
        { LIS2HH12_ACCEL_DEV_NAME },
+       { LIS302DL_ACCEL_DEV_NAME },
        { SC7A20_ACCEL_DEV_NAME },
        {},
 };
index 108b63d..6c09177 100644 (file)
@@ -92,6 +92,10 @@ static const struct of_device_id st_accel_of_match[] = {
                .compatible = "st,lis3de",
                .data = LIS3DE_ACCEL_DEV_NAME,
        },
+       {
+               .compatible = "st,lis302dl",
+               .data = LIS302DL_ACCEL_DEV_NAME,
+       },
        {}
 };
 MODULE_DEVICE_TABLE(of, st_accel_of_match);
@@ -147,6 +151,7 @@ static const struct spi_device_id st_accel_id_table[] = {
        { LIS2DW12_ACCEL_DEV_NAME },
        { LIS3DHH_ACCEL_DEV_NAME },
        { LIS3DE_ACCEL_DEV_NAME },
+       { LIS302DL_ACCEL_DEV_NAME },
        {},
 };
 MODULE_DEVICE_TABLE(spi, st_accel_id_table);