add support for LSM6DSV16X
Subsystems (3)
Lorenzo Bianconi
maintainercover add support for LSM6DSV16X
Add support for LSM6DSV16X IMU mems sensor
https://www.st.com/resource/en/datasheet/lsm6dsv16x.pdf
Lorenzo Bianconi (2):
iio: imu: st_lsm6dsx: add support to LSM6DSV16X
dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsv16x device bindings
Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml | 3 +++ drivers/iio/imu/st_lsm6dsx/Kconfig | 3 ++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 2 ++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 6 +++++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c | 5 +++++ 6 files changed, 22 insertions(+), 2 deletions(-)
Signature · 1 line
2.38.1
Lorenzo Bianconi
maintainerPATCH 1/2 iio: imu: st_lsm6dsx: add support to LSM6DSV16X
Add support to STM LSM6DSV16X (accelerometer and gyroscope) Mems sensor. The LSM6DSV16X sensor can use LSM6DSV as fallback device since it implements all the LSM6DSV16X features currently implemented in st_lsm6dsx.
Datasheet: https://www.st.com/resource/en/datasheet/lsm6dsv16x.pdf
--- drivers/iio/imu/st_lsm6dsx/Kconfig | 3 ++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 2 ++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 6 +++++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++++ drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c | 5 +++++ 5 files changed, 19 insertions(+), 2 deletions(-)
drivers/iio/imu/st_lsm6dsx/Kconfig +2 -1
@@ -13,7 +13,8 @@ config IIO_ST_LSM6DSX sensor. Supported devices: lsm6ds3, lsm6ds3h, lsm6dsl, lsm6dsm, ism330dlc, lsm6dso, lsm6dsox, asm330lhh, asm330lhhx, lsm6dsr, lsm6ds3tr-c, ism330dhcx, lsm6dsrx, lsm6ds0, lsm6dsop, lsm6dstx, - lsm6dsv, the accelerometer/gyroscope of lsm9ds1 and lsm6dst. + lsm6dsv, lsm6dsv16x, the accelerometer/gyroscope of lsm9ds1 + and lsm6dst. 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
@@ -34,6 +34,7 @@#define ST_ASM330LHHX_DEV_NAME "asm330lhhx"#define ST_LSM6DSTX_DEV_NAME "lsm6dstx"#define ST_LSM6DSV_DEV_NAME "lsm6dsv" +#define ST_LSM6DSV16X_DEV_NAME "lsm6dsv16x"enum st_lsm6dsx_hw_id {ST_LSM6DS3_ID ,
@@ -55,6 +56,7 @@ enum st_lsm6dsx_hw_id {ST_ASM330LHHX_ID ,ST_LSM6DSTX_ID ,ST_LSM6DSV_ID , +ST_LSM6DSV16X_ID , ST_LSM6DSX_MAX_ID, };
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +5 -1
@@ -27,7 +27,7 @@* - FIFO size: 4KB * * - LSM6DSO/LSM6DSOX/ASM330LHH/ASM330LHHX/LSM6DSR/ISM330DHCX/LSM6DST/LSM6DSOP/ -* LSM6DSTX: +* LSM6DSTX/LSM6DSV/LSM6DSV16X: * - Accelerometer/Gyroscope supported ODR [Hz]: 12.5, 26, 52, 104, 208, 416, * 833 * - Accelerometer supported full-scale [g]: +-2/+-4/+-8/+-16
@@ -1180,6 +1180,10 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = { .hw_id = ST_LSM6DSV_ID, .name = ST_LSM6DSV_DEV_NAME, .wai = 0x70, + }, { + .hw_id = ST_LSM6DSV16X_ID, + .name = ST_LSM6DSV16X_DEV_NAME, + .wai = 0x70, }, }, .channels = {
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c +5 -0
@@ -113,6 +113,10 @@ static const struct of_device_id st_lsm6dsx_i2c_of_match[] = { .compatible = "st,lsm6dsv", .data = (void *)ST_LSM6DSV_ID, }, + { + .compatible = "st,lsm6dsv16x", + .data = (void *)ST_LSM6DSV16X_ID, + }, {}, };MODULE_DEVICE_TABLE (of, st_lsm6dsx_i2c_of_match);
@@ -137,6 +141,7 @@ static const struct i2c_device_id st_lsm6dsx_i2c_id_table[] = { { ST_ASM330LHHX_DEV_NAME, ST_ASM330LHHX_ID }, { ST_LSM6DSTX_DEV_NAME, ST_LSM6DSTX_ID }, { ST_LSM6DSV_DEV_NAME, ST_LSM6DSV_ID }, + { ST_LSM6DSV16X_DEV_NAME, ST_LSM6DSV16X_ID }, {}, };MODULE_DEVICE_TABLE (i2c, st_lsm6dsx_i2c_id_table);
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c +5 -0
@@ -113,6 +113,10 @@ static const struct of_device_id st_lsm6dsx_spi_of_match[] = { .compatible = "st,lsm6dsv", .data = (void *)ST_LSM6DSV_ID, }, + { + .compatible = "st,lsm6dsv16x", + .data = (void *)ST_LSM6DSV16X_ID, + }, {}, };MODULE_DEVICE_TABLE (of, st_lsm6dsx_spi_of_match);
@@ -137,6 +141,7 @@ static const struct spi_device_id st_lsm6dsx_spi_id_table[] = { { ST_ASM330LHHX_DEV_NAME, ST_ASM330LHHX_ID }, { ST_LSM6DSTX_DEV_NAME, ST_LSM6DSTX_ID }, { ST_LSM6DSV_DEV_NAME, ST_LSM6DSV_ID }, + { ST_LSM6DSV16X_DEV_NAME, ST_LSM6DSV16X_ID }, {}, };MODULE_DEVICE_TABLE (spi, st_lsm6dsx_spi_id_table);
Signature · 1 line
2.38.1
Lorenzo Bianconi
maintainerPATCH 2/2 dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsv16x device bindings
In reply to Lorenzo BianconiAdd device bindings for lsm6dsv16x IMU sensor.
Use lsm6dsv as fallback device for lsm6dsv16x since it implements all the features currently supported by lsm6dsv16x.
--- Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml | 3 +++ 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml +3 -0
@@ -39,6 +39,9 @@ properties: - items: - const: st,lsm6dstx - const: st,lsm6dst + - items: + - const: st,lsm6dsv16x + - const: st,lsm6dsv reg: maxItems: 1
Signature · 1 line
2.38.1
Re: [PATCH 2/2] dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsv16x device bindings
Quoted 1 line · Lorenzo Bianconi
Add device bindings for lsm6dsv16x IMU sensor.
Drop redundant, second "device bindings" in subject. So the subject should be (also with different prefix):
dt-bindings: iio: imu:: st,lsm6dsx.yaml: add lsm6dsv16x
With subject fixes:
Best regards,
Krzysztof
Lorenzo Bianconi
maintainerRe: [PATCH 2/2] dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsv16x device bindings
Quoted 5 lines · Lorenzo Bianconi
Quoted 1 line
Add device bindings for lsm6dsv16x IMU sensor.
Drop redundant, second "device bindings" in subject. So the subject should be (also with different prefix):
ack
Quoted 10 lines
dt-bindings: iio: imu:: st,lsm6dsx.yaml: add lsm6dsv16x
With subject fixes:
Best regards,
Krzysztof
@Jonathan: do you want me send v2 or are you going to take care of it?
Regards,
Lorenzo
Jonathan Cameron
maintainerRe: [PATCH 2/2] dt-bindings: iio: imu: st_lsm6dsx: add lsm6dsv16x device bindings
Quoted 15 lines · On Tue, 8 Nov 2022 15:25:40 +0100 Lorenzo Bianconi <[email protected]> wrote:
Quoted 5 lines · Lorenzo Bianconi
Quoted 1 line
Add device bindings for lsm6dsv16x IMU sensor.
Drop redundant, second "device bindings" in subject. So the subject should be (also with different prefix):
ack
Quoted 7 lines
dt-bindings: iio: imu:: st,lsm6dsx.yaml: add lsm6dsv16x
With subject fixes:
Quoted 8 lines
Quoted 3 lines
Best regards,
Krzysztof@Jonathan: do you want me send v2 or are you going to take care of it?
Regards,
Lorenzo
I tidied the patch title up whilst applying. Applied to the togreg branch of iio.git and pushed out as testing for all the normal reasons.
Thanks,
Jonathan