add support to STM LSM6DSRX 6-axis Mems sensor
Subsystems (3)
Lorenzo Bianconi
maintainercover add support to STM LSM6DSRX 6-axis Mems sensor
Add support to STM LSM6DSRX 6-axis sensor
https://www.st.com/resource/en/datasheet/lsm6dsrx.pdf
Lorenzo Bianconi (2):
iio: imu: st_lsm6dsx: add support to LSM6DSRX
dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsrx device bindings
Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt | 1 + drivers/iio/imu/st_lsm6dsx/Kconfig | 3 ++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 2 ++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 8 ++++---- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 3 +++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c | 5 +++++ 7 files changed, 22 insertions(+), 5 deletions(-)
Signature · 1 line
2.21.0
Lorenzo Bianconi
maintainerPATCH 1/2 iio: imu: st_lsm6dsx: add support to LSM6DSRX
Add support to STM LSM6DSRX 6-axis (acc + gyro) Mems sensor
https://www.st.com/resource/en/datasheet/lsm6dsrx.pdf
--- drivers/iio/imu/st_lsm6dsx/Kconfig | 3 ++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 2 ++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 8 ++++---- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 3 +++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c | 5 +++++ 6 files changed, 21 insertions(+), 5 deletions(-)
drivers/iio/imu/st_lsm6dsx/Kconfig +2 -1
@@ -12,7 +12,8 @@ config IIO_ST_LSM6DSX Say yes here to build support for STMicroelectronics LSM6DSx imu sensor. Supported devices: lsm6ds3, lsm6ds3h, lsm6dsl, lsm6dsm, ism330dlc, lsm6dso, lsm6dsox, asm330lhh, lsm6dsr, lsm6ds3tr-c, - ism330dhcx, lsm6ds0 and the accelerometer/gyroscope of lsm9ds1. + ism330dhcx, lsm6dsrx, lsm6ds0 and the accelerometer/gyroscope + of lsm9ds1. To compile this driver as a module, choose M here: the module will be called st_lsm6dsx.
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h +2 -0
@@ -27,6 +27,7 @@#define ST_ISM330DHCX_DEV_NAME "ism330dhcx"#define ST_LSM9DS1_DEV_NAME "lsm9ds1-imu"#define ST_LSM6DS0_DEV_NAME "lsm6ds0" +#define ST_LSM6DSRX_DEV_NAME "lsm6dsrx"enum st_lsm6dsx_hw_id {ST_LSM6DS3_ID ,
@@ -42,6 +43,7 @@ enum st_lsm6dsx_hw_id {ST_ISM330DHCX_ID ,ST_LSM9DS1_ID ,ST_LSM6DS0_ID , +ST_LSM6DSRX_ID , ST_LSM6DSX_MAX_ID, };
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +4 -4
@@ -14,10 +14,10 @@* (e.g. Gx, Gy, Gz, Ax, Ay, Az), then data are repeated depending on the * value of the decimation factor and ODR set for each FIFO data set. * -* LSM6DSO/LSM6DSOX/ASM330LHH/LSM6DSR/ISM330DHCX: The FIFO buffer can be -* configured to store data from gyroscope and accelerometer. Each sample -* is queued with a tag (1B) indicating data source (gyroscope, accelerometer, -* hw timer). +* LSM6DSO/LSM6DSOX/ASM330LHH/LSM6DSR/LSM6DSRX/ISM330DHCX: +* The FIFO buffer can be configured to store data from gyroscope and +* accelerometer. Each sample is queued with a tag (1B) indicating data +* source (gyroscope, accelerometer, hw timer). * * FIFO supported modes: * - BYPASS: FIFO disabled
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +3 -0
@@ -1084,6 +1084,9 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = { }, { .hw_id = ST_ISM330DHCX_ID, .name = ST_ISM330DHCX_DEV_NAME, + }, { + .hw_id = ST_LSM6DSRX_ID, + .name = ST_LSM6DSRX_DEV_NAME, }, }, .channels = {
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c +5 -0
@@ -91,6 +91,10 @@ static const struct of_device_id st_lsm6dsx_i2c_of_match[] = { .compatible = "st,lsm6ds0", .data = (void *)ST_LSM6DS0_ID, }, + { + .compatible = "st,lsm6dsrx", + .data = (void *)ST_LSM6DSRX_ID, + }, {}, };MODULE_DEVICE_TABLE (of, st_lsm6dsx_i2c_of_match);
@@ -109,6 +113,7 @@ static const struct i2c_device_id st_lsm6dsx_i2c_id_table[] = { { ST_ISM330DHCX_DEV_NAME, ST_ISM330DHCX_ID }, { ST_LSM9DS1_DEV_NAME, ST_LSM9DS1_ID }, { ST_LSM6DS0_DEV_NAME, ST_LSM6DS0_ID }, + { ST_LSM6DSRX_DEV_NAME, ST_LSM6DSRX_ID }, {}, };MODULE_DEVICE_TABLE (i2c, st_lsm6dsx_i2c_id_table);
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c +5 -0
@@ -91,6 +91,10 @@ static const struct of_device_id st_lsm6dsx_spi_of_match[] = { .compatible = "st,lsm6ds0", .data = (void *)ST_LSM6DS0_ID, }, + { + .compatible = "st,lsm6dsrx", + .data = (void *)ST_LSM6DSRX_ID, + }, {}, };MODULE_DEVICE_TABLE (of, st_lsm6dsx_spi_of_match);
@@ -109,6 +113,7 @@ static const struct spi_device_id st_lsm6dsx_spi_id_table[] = { { ST_ISM330DHCX_DEV_NAME, ST_ISM330DHCX_ID }, { ST_LSM9DS1_DEV_NAME, ST_LSM9DS1_ID }, { ST_LSM6DS0_DEV_NAME, ST_LSM6DS0_ID }, + { ST_LSM6DSRX_DEV_NAME, ST_LSM6DSRX_ID }, {}, };MODULE_DEVICE_TABLE (spi, st_lsm6dsx_spi_id_table);
Signature · 1 line
2.21.0
Lorenzo Bianconi
maintainerPATCH 2/2 dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsrx device bindings
In reply to Lorenzo Bianconi--- Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt +1 -0
@@ -15,6 +15,7 @@ Required properties: "st,ism330dhcx" "st,lsm9ds1-imu" "st,lsm6ds0" + "st,lsm6dsrx" - reg: i2c address of the sensor / spi cs line Optional properties:
Signature · 1 line
2.21.0
Jonathan Cameron
maintainerRe: [PATCH 1/2] iio: imu: st_lsm6dsx: add support to LSM6DSRX
In reply to Lorenzo BianconiQuoted 4 lines · On Thu, 24 Oct 2019 17:42:33 +0200 Lorenzo Bianconi <[email protected]> wrote:
Add support to STM LSM6DSRX 6-axis (acc + gyro) Mems sensor
https://www.st.com/resource/en/datasheet/lsm6dsrx.pdfSigned-off-by Lorenzo Bianconi <[email protected]>
Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.
Thanks,
Jonathan
Quoted 122 lines
--- drivers/iio/imu/st_lsm6dsx/Kconfig | 3 ++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 2 ++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 8 ++++---- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 3 +++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c | 5 +++++ 6 files changed, 21 insertions(+), 5 deletions(-)drivers/iio/imu/st_lsm6dsx/Kconfig +2
-1@@ -12,7 +12,8 @@ config IIO_ST_LSM6DSX Say yes here to build support for STMicroelectronics LSM6DSx imu sensor. Supported devices: lsm6ds3, lsm6ds3h, lsm6dsl, lsm6dsm, ism330dlc, lsm6dso, lsm6dsox, asm330lhh, lsm6dsr, lsm6ds3tr-c, - ism330dhcx, lsm6ds0 and the accelerometer/gyroscope of lsm9ds1. + ism330dhcx, lsm6dsrx, lsm6ds0 and the accelerometer/gyroscope + of lsm9ds1. To compile this driver as a module, choose M here: the module will be called st_lsm6dsx.drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h +2
-0@@ -27,6 +27,7 @@#define ST_ISM330DHCX_DEV_NAME "ism330dhcx"#define ST_LSM9DS1_DEV_NAME "lsm9ds1-imu"#define ST_LSM6DS0_DEV_NAME "lsm6ds0" +#define ST_LSM6DSRX_DEV_NAME "lsm6dsrx"enum st_lsm6dsx_hw_id {ST_LSM6DS3_ID ,@@ -42,6 +43,7 @@ enum st_lsm6dsx_hw_id {ST_ISM330DHCX_ID ,ST_LSM9DS1_ID ,ST_LSM6DS0_ID , +ST_LSM6DSRX_ID , ST_LSM6DSX_MAX_ID, };drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +4
-4@@ -14,10 +14,10 @@* (e.g. Gx, Gy, Gz, Ax, Ay, Az), then data are repeated depending on the * value of the decimation factor and ODR set for each FIFO data set. * -* LSM6DSO/LSM6DSOX/ASM330LHH/LSM6DSR/ISM330DHCX: The FIFO buffer can be -* configured to store data from gyroscope and accelerometer. Each sample -* is queued with a tag (1B) indicating data source (gyroscope, accelerometer, -* hw timer). +* LSM6DSO/LSM6DSOX/ASM330LHH/LSM6DSR/LSM6DSRX/ISM330DHCX: +* The FIFO buffer can be configured to store data from gyroscope and +* accelerometer. Each sample is queued with a tag (1B) indicating data +* source (gyroscope, accelerometer, hw timer). * * FIFO supported modes: * - BYPASS: FIFO disabled drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +3
-0@@ -1084,6 +1084,9 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = { }, { .hw_id = ST_ISM330DHCX_ID, .name = ST_ISM330DHCX_DEV_NAME, + }, { + .hw_id = ST_LSM6DSRX_ID, + .name = ST_LSM6DSRX_DEV_NAME, }, }, .channels = {drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c +5
-0@@ -91,6 +91,10 @@ static const struct of_device_id st_lsm6dsx_i2c_of_match[] = { .compatible = "st,lsm6ds0", .data = (void *)ST_LSM6DS0_ID, }, + { + .compatible = "st,lsm6dsrx", + .data = (void *)ST_LSM6DSRX_ID, + }, {}, };MODULE_DEVICE_TABLE (of, st_lsm6dsx_i2c_of_match);@@ -109,6 +113,7 @@ static const struct i2c_device_id st_lsm6dsx_i2c_id_table[] = { { ST_ISM330DHCX_DEV_NAME, ST_ISM330DHCX_ID }, { ST_LSM9DS1_DEV_NAME, ST_LSM9DS1_ID }, { ST_LSM6DS0_DEV_NAME, ST_LSM6DS0_ID }, + { ST_LSM6DSRX_DEV_NAME, ST_LSM6DSRX_ID }, {}, };MODULE_DEVICE_TABLE (i2c, st_lsm6dsx_i2c_id_table);drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c +5
-0@@ -91,6 +91,10 @@ static const struct of_device_id st_lsm6dsx_spi_of_match[] = { .compatible = "st,lsm6ds0", .data = (void *)ST_LSM6DS0_ID, }, + { + .compatible = "st,lsm6dsrx", + .data = (void *)ST_LSM6DSRX_ID, + }, {}, };MODULE_DEVICE_TABLE (of, st_lsm6dsx_spi_of_match);@@ -109,6 +113,7 @@ static const struct spi_device_id st_lsm6dsx_spi_id_table[] = { { ST_ISM330DHCX_DEV_NAME, ST_ISM330DHCX_ID }, { ST_LSM9DS1_DEV_NAME, ST_LSM9DS1_ID }, { ST_LSM6DS0_DEV_NAME, ST_LSM6DS0_ID }, + { ST_LSM6DSRX_DEV_NAME, ST_LSM6DSRX_ID }, {}, };MODULE_DEVICE_TABLE (spi, st_lsm6dsx_spi_id_table);
Re: [PATCH 2/2] dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsrx device bindings
In reply to Lorenzo BianconiQuoted 1 line · On Thu, 24 Oct 2019 17:42:34 +0200 Lorenzo Bianconi <[email protected]> wrote:
Signed-off-by Lorenzo Bianconi <[email protected]>
Applied. If you get bored and feel like converting this over to yaml at somepoint that would be great ;)
Thanks,
Jonathan
Quoted 16 lines
--- Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt | 1 + 1 file changed, 1 insertion(+)Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt +1
-0@@ -15,6 +15,7 @@ Required properties: "st,ism330dhcx" "st,lsm9ds1-imu" "st,lsm6ds0" + "st,lsm6dsrx" - reg: i2c address of the sensor / spi cs line Optional properties:
Re: [PATCH 2/2] dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsrx device bindings
Quoted 9 lines
Quoted 1 line · On Thu, 24 Oct 2019 17:42:34 +0200 Lorenzo Bianconi <[email protected]> wrote:
Signed-off-by Lorenzo Bianconi <[email protected]>Applied. If you get bored and feel like converting this over to yaml at somepoint that would be great ;)
Thanks,
ack, added to my ToDo list :)
Regards,
Lorenzo
Quoted 20 lines
Jonathan
Quoted 16 lines
--- Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt | 1 + 1 file changed, 1 insertion(+)Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt +1
-0@@ -15,6 +15,7 @@ Required properties: "st,ism330dhcx" "st,lsm9ds1-imu" "st,lsm6ds0" + "st,lsm6dsrx" - reg: i2c address of the sensor / spi cs line Optional properties: