diff options
| -rw-r--r-- | drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c index 12dc8cbf1c7..ff8ff53d0e6 100644 --- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c +++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c @@ -1082,6 +1082,7 @@ static int st_lsm6ds3_enable_pedometer(struct lsm6ds3_sensor_data *sdata, static int st_lsm6ds3_enable_sensors(struct lsm6ds3_sensor_data *sdata) { + u8 regval; int err, i; switch (sdata->sindex) { @@ -1097,6 +1098,13 @@ static int st_lsm6ds3_enable_sensors(struct lsm6ds3_sensor_data *sdata) if (sdata->sindex == ST_INDIO_DEV_ACCEL) { sdata->cdata->accel_samples_to_discard = ST_LSM6DS3_ACCEL_STD; + regval = 0x44; // MD1 (6D and Tap on INT1) + err = sdata->cdata->tf->write(sdata->cdata, + ST_LSM6DS3_MD1_ADDR, + 1, ®val, false); + if(err < 0) { + return err; + } } sdata->cdata->gyro_samples_to_discard = ST_LSM6DS3_GYRO_STD; @@ -1546,10 +1554,6 @@ static int st_lsm6ds3_init_sensor(struct lsm6ds3_data *cdata) #define ST_LSM6DS3_CTRL8_LPF_ON_ACCEL 0x80 #define ST_LSM6DS3_CTRL4_ADDR 0x13 #define ST_LSM6DS3_CTRL4_STOP_ON_FTH_MASK 0x1 - regval = 0x44; // MD1 (6D and Tap on INT1) - err = sdata->cdata->tf->write(sdata->cdata, - ST_LSM6DS3_MD1_ADDR, - 1, ®val, false); regval = 0x48;//tap threshold err = sdata->cdata->tf->write(sdata->cdata, |