diff options
author | Owen_Ou <owen_ou@compal.corp-partner.google.com> | 2021-04-14 19:41:51 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-04-16 17:46:13 +0000 |
commit | b686030ee72d482a9729ba54a1d6dcbaa7772d01 (patch) | |
tree | 1f94751220a204ea9f8f978c7a74bc43ad6d1e8d /driver | |
parent | 81000c24119562a425500a881950155b47a41af2 (diff) | |
download | chrome-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.c | 5 |
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; |