diff options
| author | Evan Wilson <evan@oliodevices.com> | 2015-12-20 00:59:31 -0800 |
|---|---|---|
| committer | Evan Wilson <evan@oliodevices.com> | 2015-12-20 00:59:31 -0800 |
| commit | 6a337f484ddc57ea23149052c43f309c2f5994a1 (patch) | |
| tree | 12242c3b3840eada29a03aa014657a092a54cc1e | |
| parent | a2cf73d74dc87c054c3ca329eba11299f2efb95f (diff) | |
| download | olio-linux-3.10-6a337f484ddc57ea23149052c43f309c2f5994a1.tar.xz olio-linux-3.10-6a337f484ddc57ea23149052c43f309c2f5994a1.zip | |
Enabled 6D and Tap on init, and removed from other places
Change-Id: Ia6a7cd4c276a07bca6740181c517becdfc03aab6
| -rw-r--r-- | drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c index ead52144441..9f2527bad93 100644 --- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c +++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c @@ -1104,9 +1104,10 @@ static int st_lsm6ds3_enable_sensors(struct lsm6ds3_sensor_data *sdata) sdata->c_odr = st_lsm6ds3_odr_table.odr_avl[i].hz; //enable tap and //passthrough since we always want 6d and tap enabled; + break; case ST_INDIO_DEV_SIGN_MOTION: - + dev_info(sdata->cdata->dev, "Enabling 6d and Tap"); err = st_lsm6ds3_write_data_with_mask(sdata->cdata, ST_LSM6DS3_MD1_ADDR, ST_LSM6DS3_6D_MD1_INT_MASK, ST_LSM6DS3_EN_BIT, true); if (err < 0) @@ -1536,6 +1537,11 @@ 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, ST_LSM6DS3_TAP_THS_6D_ADDR, @@ -2344,16 +2350,16 @@ int st_lsm6ds3_common_suspend(struct lsm6ds3_data *cdata) if (device_may_wakeup(cdata->dev)) enable_irq_wake(cdata->irq); } - err = cdata->tf->read(cdata, - ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); - dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); - dev_info(cdata->dev, "manually setting to 0x44"); - reg_value = 0x44; - err = cdata->tf->write(cdata, - ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); - err = cdata->tf->read(cdata, - ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); - dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); +// err = cdata->tf->read(cdata, +// ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); +// dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); +// dev_info(cdata->dev, "manually setting to 0x44"); +// reg_value = 0x44; +// err = cdata->tf->write(cdata, +// ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); +// err = cdata->tf->read(cdata, +// ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); +// dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); err = cdata->tf->read(cdata, 0xd, 1, ®_value, true); |