Merge tag 'staging-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux-2.6-microblaze.git] / drivers / iio / gyro / st_gyro_core.c
index 57be68b..26c50b2 100644 (file)
@@ -138,7 +138,6 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
                        [2] = LSM330DLC_GYRO_DEV_NAME,
                        [3] = L3G4IS_GYRO_DEV_NAME,
                        [4] = LSM330_GYRO_DEV_NAME,
-                       [5] = LSM9DS0_GYRO_DEV_NAME,
                },
                .ch = (struct iio_chan_spec *)st_gyro_16bit_channels,
                .odr = {
@@ -208,6 +207,80 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
                .multi_read_bit = true,
                .bootime = 2,
        },
+       {
+               .wai = 0xd4,
+               .wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
+               .sensors_supported = {
+                       [0] = LSM9DS0_GYRO_DEV_NAME,
+               },
+               .ch = (struct iio_chan_spec *)st_gyro_16bit_channels,
+               .odr = {
+                       .addr = 0x20,
+                       .mask = GENMASK(7, 6),
+                       .odr_avl = {
+                               { .hz = 95, .value = 0x00, },
+                               { .hz = 190, .value = 0x01, },
+                               { .hz = 380, .value = 0x02, },
+                               { .hz = 760, .value = 0x03, },
+                       },
+               },
+               .pw = {
+                       .addr = 0x20,
+                       .mask = BIT(3),
+                       .value_on = ST_SENSORS_DEFAULT_POWER_ON_VALUE,
+                       .value_off = ST_SENSORS_DEFAULT_POWER_OFF_VALUE,
+               },
+               .enable_axis = {
+                       .addr = ST_SENSORS_DEFAULT_AXIS_ADDR,
+                       .mask = ST_SENSORS_DEFAULT_AXIS_MASK,
+               },
+               .fs = {
+                       .addr = 0x23,
+                       .mask = GENMASK(5, 4),
+                       .fs_avl = {
+                               [0] = {
+                                       .num = ST_GYRO_FS_AVL_245DPS,
+                                       .value = 0x00,
+                                       .gain = IIO_DEGREE_TO_RAD(8750),
+                               },
+                               [1] = {
+                                       .num = ST_GYRO_FS_AVL_500DPS,
+                                       .value = 0x01,
+                                       .gain = IIO_DEGREE_TO_RAD(17500),
+                               },
+                               [2] = {
+                                       .num = ST_GYRO_FS_AVL_2000DPS,
+                                       .value = 0x02,
+                                       .gain = IIO_DEGREE_TO_RAD(70000),
+                               },
+                       },
+               },
+               .bdu = {
+                       .addr = 0x23,
+                       .mask = BIT(7),
+               },
+               .drdy_irq = {
+                       .int2 = {
+                               .addr = 0x22,
+                               .mask = BIT(3),
+                       },
+                       /*
+                        * The sensor has IHL (active low) and open
+                        * drain settings, but only for INT1 and not
+                        * for the DRDY line on INT2.
+                        */
+                       .stat_drdy = {
+                               .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
+                               .mask = GENMASK(2, 0),
+                       },
+               },
+               .sim = {
+                       .addr = 0x23,
+                       .value = BIT(0),
+               },
+               .multi_read_bit = true,
+               .bootime = 2,
+       },
        {
                .wai = 0xd7,
                .wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,