summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Wilson <evan@oliodevices.com>2015-08-21 14:01:23 -0700
committerEvan Wilson <evan@oliodevices.com>2015-08-22 15:26:40 -0700
commit8e34a8edb6eeabda46ce4011d0147dce82610d50 (patch)
treec745ff26b4f9261a20b1ee7932e17aeca19818f6
parent4663508aaf818900c27b9c598c22aae3072fa442 (diff)
downloadolio-linux-3.10-8e34a8edb6eeabda46ce4011d0147dce82610d50.tar.xz
olio-linux-3.10-8e34a8edb6eeabda46ce4011d0147dce82610d50.zip
Reducing tap threshold, and setting 6d wake-up mask
Change-Id: I406eaa7c438f503758582dc4a03524d15cc80656
-rw-r--r--drivers/iio/imu/st_lsm6ds3/st_lsm6ds3.h2
-rw-r--r--drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c2
-rw-r--r--drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_trigger.c1
3 files changed, 3 insertions, 2 deletions
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3.h b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3.h
index 4047241dd95..edc5de95b1d 100644
--- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3.h
+++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3.h
@@ -139,7 +139,7 @@ struct lsm6ds3_data {
struct wake_lock tap_wlock;
u8 first_irq_from_resume;
u8 reg_read;
-#define SIXD_MASK_VALID_BITS (0x3f)
+#define SIXD_MASK_VALID_BITS (0x21)
u8 sixd_mask;
u8 int1_save;
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
index d7fc2fe6367..b0df8009aa8 100644
--- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
+++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c
@@ -1536,7 +1536,7 @@ 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 = 0x50;//tap threshold
+ regval = 0x28;//tap threshold
err = sdata->cdata->tf->write(sdata->cdata,
ST_LSM6DS3_TAP_THS_6D_ADDR,
1, &regval, false);
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_trigger.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_trigger.c
index 4b680eec18a..905ad01a9bd 100644
--- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_trigger.c
+++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_trigger.c
@@ -124,6 +124,7 @@ static void st_lsm6ds3_irq_management(struct work_struct *data_work)
}
if(!ignore_event && (tap_event || d6d_event) && cdata->first_irq_from_resume){
+ dev_info(cdata->dev, "Setting wake lock");
wake_lock_timeout(&cdata->tap_wlock,msecs_to_jiffies(1500));
}
//significant motion event processing