• Martin Kepplinger's avatar
    iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1 · 52f4b1f1
    Martin Kepplinger authored
    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: default avatarMartin Kepplinger <martin.kepplinger@puri.sm>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    52f4b1f1
st_lsm6dsx.h 10.8 KB