summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorOwen_Ou <owen_ou@compal.corp-partner.google.com>2021-04-14 19:41:51 +0800
committerCommit Bot <commit-bot@chromium.org>2021-04-16 17:46:13 +0000
commitb686030ee72d482a9729ba54a1d6dcbaa7772d01 (patch)
tree1f94751220a204ea9f8f978c7a74bc43ad6d1e8d /driver
parent81000c24119562a425500a881950155b47a41af2 (diff)
downloadchrome-ec-b686030ee72d482a9729ba54a1d6dcbaa7772d01.tar.gz
drive: lsm6dso: Modify interrupt from high active to low active
HW design the motion sensor interrupt pin to active low, but in the EC codebase, the sensor initial value for LSM6DSO_CTRL3_ADDR (0x12) didn't set the bit 5 (LSM6DSO_H_L_ACTIVE) to high. BUG=b:185282500 BRANCH=none TEST=ectool motionsense can read the base accel and gyro value. Signed-off-by: Owen_Ou <owen_ou@compal.corp-partner.google.com> Change-Id: Iaecdab388a218ae7ae8c586b70f576612c7f85de Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2825989 Reviewed-by: Owen Ou <owen_ou@compal.corp-partner.google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Tested-by: Owen Ou <owen_ou@compal.corp-partner.google.com> Commit-Queue: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r--driver/accelgyro_lsm6dso.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/driver/accelgyro_lsm6dso.c b/driver/accelgyro_lsm6dso.c
index 12636d1782..a23ea2c393 100644
--- a/driver/accelgyro_lsm6dso.c
+++ b/driver/accelgyro_lsm6dso.c
@@ -443,11 +443,12 @@ static int init(struct motion_sensor_t *s)
/*
* Output data not updated until have been read.
- * Prefer interrupt to be active low.
+ * Require interrupt to be active low.
*/
ret = st_raw_write8(s->port, s->i2c_spi_addr_flags,
LSM6DSO_CTRL3_ADDR,
- LSM6DSO_BDU | LSM6DSO_IF_INC);
+ LSM6DSO_BDU | LSM6DSO_IF_INC
+ | LSM6DSO_H_L_ACTIVE);
if (ret != EC_SUCCESS)
goto err_unlock;