iio: st-accel: add support for lis2dh12
authorGiuseppe Barba <giuseppe.barba@st.com>
Thu, 12 Nov 2015 07:36:49 +0000 (08:36 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 14 Nov 2015 19:04:12 +0000 (19:04 +0000)
This commit add support for STMicroelectronics lis2dh12 accelerometer.
Datasheet for this device can be found here:

http://www.st.com/st-web-ui/static/active/en/resource/technical/
document/datasheet/DM00091513.pdf

Signed-off-by: Giuseppe Barba <giuseppe.barba@st.com>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Acked-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Documentation/devicetree/bindings/iio/st-sensors.txt
drivers/iio/accel/Kconfig
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 d3ccdb190c53b581f347ef2eb8444fcb3ac84592..d4b87cc1e446ec6dd73e367a2d1707a2ba0d5b96 100644 (file)
@@ -36,6 +36,7 @@ Accelerometers:
 - st,lsm303dlm-accel
 - st,lsm330-accel
 - st,lsm303agr-accel
+- st,lis2dh12-accel
 
 Gyroscopes:
 - st,l3g4200d-gyro
index 87487d377f9b259693cd8de37840390dc2ef26cc..edc29b173f6c9012635771116a6cca23193a096e 100644 (file)
@@ -64,7 +64,7 @@ config IIO_ST_ACCEL_3AXIS
        help
          Say yes here to build support for STMicroelectronics accelerometers:
          LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
-         LIS331DLH, LSM303DL, LSM303DLM, LSM330.
+         LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12.
 
          This driver can also be built as a module. If so, these modules
          will be created:
index 468f21fa2950bd2bd59c226919b7b22be1407398..5d4a1897b293ec60644efe18f1f8d0508b051fa9 100644 (file)
@@ -27,6 +27,7 @@
 #define LSM303DLM_ACCEL_DEV_NAME       "lsm303dlm_accel"
 #define LSM330_ACCEL_DEV_NAME          "lsm330_accel"
 #define LSM303AGR_ACCEL_DEV_NAME       "lsm303agr_accel"
+#define LIS2DH12_ACCEL_DEV_NAME                "lis2dh12_accel"
 
 /**
 * struct st_sensors_platform_data - default accel platform data
index dab8b76c14270564efa0eae3665bfa9d716765dc..9d973f1e74acdf26b3f05a4700887b5031784f35 100644 (file)
@@ -234,6 +234,7 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
                        [3] = LSM330DL_ACCEL_DEV_NAME,
                        [4] = LSM330DLC_ACCEL_DEV_NAME,
                        [5] = LSM303AGR_ACCEL_DEV_NAME,
+                       [6] = LIS2DH12_ACCEL_DEV_NAME,
                },
                .ch = (struct iio_chan_spec *)st_accel_12bit_channels,
                .odr = {
index 8b9cc84fd44f96be22186fb7364a5cf6259de701..294a32f89367b479fb29b4316b3f12c622db6efa 100644 (file)
@@ -72,6 +72,10 @@ static const struct of_device_id st_accel_of_match[] = {
                .compatible = "st,lsm303agr-accel",
                .data = LSM303AGR_ACCEL_DEV_NAME,
        },
+       {
+               .compatible = "st,lis2dh12-accel",
+               .data = LIS2DH12_ACCEL_DEV_NAME,
+       },
        {},
 };
 MODULE_DEVICE_TABLE(of, st_accel_of_match);
@@ -121,6 +125,7 @@ static const struct i2c_device_id st_accel_id_table[] = {
        { LSM303DLM_ACCEL_DEV_NAME },
        { LSM330_ACCEL_DEV_NAME },
        { LSM303AGR_ACCEL_DEV_NAME },
+       { LIS2DH12_ACCEL_DEV_NAME },
        {},
 };
 MODULE_DEVICE_TABLE(i2c, st_accel_id_table);
index 54b61a3961c305e60222de437e4355103ae67029..e82bedfaeb9b1ab686afeb17b50763dcae20d767 100644 (file)
@@ -58,6 +58,7 @@ static const struct spi_device_id st_accel_id_table[] = {
        { LSM303DLM_ACCEL_DEV_NAME },
        { LSM330_ACCEL_DEV_NAME },
        { LSM303AGR_ACCEL_DEV_NAME },
+       { LIS2DH12_ACCEL_DEV_NAME },
        {},
 };
 MODULE_DEVICE_TABLE(spi, st_accel_id_table);