]> git.baikalelectronics.ru Git - kernel.git/commit
iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1
authorMartin Kepplinger <martin.kepplinger@puri.sm>
Wed, 21 Aug 2019 13:25:19 +0000 (15:25 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 3 Sep 2019 17:55:50 +0000 (18:55 +0100)
commita49c052cd9fa4ce302209073cfab082fe9b8e963
treea4318d3a02c7cdf0cdf4a3e03de1363129d2d7f4
parentbc324a3fb4196f3b8d2a39258b2407963cc56b36
iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1

The LSM9DS1's accelerometer / gyroscope unit and it's magnetometer (separately
supported in iio/magnetometer/st_magn*) are located on a separate i2c addresses
on the bus.

For the datasheet, see https://www.st.com/resource/en/datasheet/lsm9ds1.pdf

Treat it just like the LSM6* devices and, despite it's name, hook it up
to the st_lsm6dsx driver, using it's basic functionality.

accelerometer and gyroscope are not independently clocked. It runs at the gyro
frequencies if both are enabled, see chapter 7.12 of the datasheet.
We could have handled this as a single IIO device but we have split
it up to be more consistent with the other more flexible devices.

Despite supporting and testing the LSM9DS1, we call the gyro channels
iio_chan_spec struct "st_lsm6ds0_gyro_channels" because the register
description is equal. This suggests that supporting LSM6DS0 should be
trivial to do.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/st_lsm6dsx/Kconfig
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c