iio: st-accel: add support for lis3de
This commit add support for STMicroelectronics lis3de accelerometer. Datasheet for this device can be found here: https://www.st.com/resource/en/datasheet/lis3de.pdf Signed-off-by: Heiko Stuebner <heiko.stuebner@bq.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
74a257a0b5
commit
49b623732e
|
@ -48,6 +48,7 @@ Accelerometers:
|
||||||
- st,lis3l02dq
|
- st,lis3l02dq
|
||||||
- st,lis2dw12
|
- st,lis2dw12
|
||||||
- st,lis3dhh
|
- st,lis3dhh
|
||||||
|
- st,lis3de
|
||||||
|
|
||||||
Gyroscopes:
|
Gyroscopes:
|
||||||
- st,l3g4200d-gyro
|
- st,l3g4200d-gyro
|
||||||
|
|
|
@ -223,7 +223,7 @@ config IIO_ST_ACCEL_3AXIS
|
||||||
Say yes here to build support for STMicroelectronics accelerometers:
|
Say yes here to build support for STMicroelectronics accelerometers:
|
||||||
LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
|
LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
|
||||||
LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
|
LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
|
||||||
LNG2DM
|
LNG2DM, LIS3DE
|
||||||
|
|
||||||
This driver can also be built as a module. If so, these modules
|
This driver can also be built as a module. If so, these modules
|
||||||
will be created:
|
will be created:
|
||||||
|
|
|
@ -56,6 +56,7 @@ enum st_accel_type {
|
||||||
#define LNG2DM_ACCEL_DEV_NAME "lng2dm"
|
#define LNG2DM_ACCEL_DEV_NAME "lng2dm"
|
||||||
#define LIS2DW12_ACCEL_DEV_NAME "lis2dw12"
|
#define LIS2DW12_ACCEL_DEV_NAME "lis2dw12"
|
||||||
#define LIS3DHH_ACCEL_DEV_NAME "lis3dhh"
|
#define LIS3DHH_ACCEL_DEV_NAME "lis3dhh"
|
||||||
|
#define LIS3DE_ACCEL_DEV_NAME "lis3de"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct st_sensors_platform_data - default accel platform data
|
* struct st_sensors_platform_data - default accel platform data
|
||||||
|
|
|
@ -103,6 +103,7 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
|
||||||
[4] = LSM330DLC_ACCEL_DEV_NAME,
|
[4] = LSM330DLC_ACCEL_DEV_NAME,
|
||||||
[5] = LSM303AGR_ACCEL_DEV_NAME,
|
[5] = LSM303AGR_ACCEL_DEV_NAME,
|
||||||
[6] = LIS2DH12_ACCEL_DEV_NAME,
|
[6] = LIS2DH12_ACCEL_DEV_NAME,
|
||||||
|
[7] = LIS3DE_ACCEL_DEV_NAME,
|
||||||
},
|
},
|
||||||
.ch = (struct iio_chan_spec *)st_accel_12bit_channels,
|
.ch = (struct iio_chan_spec *)st_accel_12bit_channels,
|
||||||
.odr = {
|
.odr = {
|
||||||
|
|
|
@ -98,6 +98,10 @@ static const struct of_device_id st_accel_of_match[] = {
|
||||||
.compatible = "st,lis2dw12",
|
.compatible = "st,lis2dw12",
|
||||||
.data = LIS2DW12_ACCEL_DEV_NAME,
|
.data = LIS2DW12_ACCEL_DEV_NAME,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.compatible = "st,lis3de",
|
||||||
|
.data = LIS3DE_ACCEL_DEV_NAME,
|
||||||
|
},
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, st_accel_of_match);
|
MODULE_DEVICE_TABLE(of, st_accel_of_match);
|
||||||
|
@ -135,6 +139,7 @@ static const struct i2c_device_id st_accel_id_table[] = {
|
||||||
{ LIS331DL_ACCEL_DEV_NAME },
|
{ LIS331DL_ACCEL_DEV_NAME },
|
||||||
{ LIS3LV02DL_ACCEL_DEV_NAME },
|
{ LIS3LV02DL_ACCEL_DEV_NAME },
|
||||||
{ LIS2DW12_ACCEL_DEV_NAME },
|
{ LIS2DW12_ACCEL_DEV_NAME },
|
||||||
|
{ LIS3DE_ACCEL_DEV_NAME },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(i2c, st_accel_id_table);
|
MODULE_DEVICE_TABLE(i2c, st_accel_id_table);
|
||||||
|
|
|
@ -90,6 +90,10 @@ static const struct of_device_id st_accel_of_match[] = {
|
||||||
.compatible = "st,lis3dhh",
|
.compatible = "st,lis3dhh",
|
||||||
.data = LIS3DHH_ACCEL_DEV_NAME,
|
.data = LIS3DHH_ACCEL_DEV_NAME,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.compatible = "st,lis3de",
|
||||||
|
.data = LIS3DE_ACCEL_DEV_NAME,
|
||||||
|
},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, st_accel_of_match);
|
MODULE_DEVICE_TABLE(of, st_accel_of_match);
|
||||||
|
@ -143,6 +147,7 @@ static const struct spi_device_id st_accel_id_table[] = {
|
||||||
{ LIS3LV02DL_ACCEL_DEV_NAME },
|
{ LIS3LV02DL_ACCEL_DEV_NAME },
|
||||||
{ LIS2DW12_ACCEL_DEV_NAME },
|
{ LIS2DW12_ACCEL_DEV_NAME },
|
||||||
{ LIS3DHH_ACCEL_DEV_NAME },
|
{ LIS3DHH_ACCEL_DEV_NAME },
|
||||||
|
{ LIS3DE_ACCEL_DEV_NAME },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(spi, st_accel_id_table);
|
MODULE_DEVICE_TABLE(spi, st_accel_id_table);
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
#define ST_SENSORS_DEFAULT_STAT_ADDR 0x27
|
#define ST_SENSORS_DEFAULT_STAT_ADDR 0x27
|
||||||
|
|
||||||
#define ST_SENSORS_MAX_NAME 17
|
#define ST_SENSORS_MAX_NAME 17
|
||||||
#define ST_SENSORS_MAX_4WAI 7
|
#define ST_SENSORS_MAX_4WAI 8
|
||||||
|
|
||||||
#define ST_SENSORS_LSM_CHANNELS(device_type, mask, index, mod, \
|
#define ST_SENSORS_LSM_CHANNELS(device_type, mask, index, mod, \
|
||||||
ch2, s, endian, rbits, sbits, addr) \
|
ch2, s, endian, rbits, sbits, addr) \
|
||||||
|
|
Loading…
Reference in New Issue