diff options
author | JuHyun Kim <jkim@invensense.com> | 2023-02-06 07:28:12 -0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-01 13:52:09 +0000 |
commit | b201453a4d8be2fefbdab24de4d4e40c059b0099 (patch) | |
tree | 9cc350ef9136d22b0e98389dd94d76e82a4cfd36 /driver | |
parent | 33885596426b7f419709d81529f3e4d02f960ddf (diff) | |
download | chrome-ec-b201453a4d8be2fefbdab24de4d4e40c059b0099.tar.gz |
driver: icm42607: Fixed SPI lock mode issue
Added SPI lock mode issue prevention code when used in
shared SPI bus configuration with other devices.
BUG=chromium:1369623
BRANCH=m/main
TEST=ectool motionsense && CROS-EC IIO Drivers && tast run <IP>
hardware.SensorIioserviceHard
Change-Id: I4e6d5f597d323512efb966f814ac7d1808af541e
Signed-off-by: JuHyun Kim <jkim@invensense.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4225071
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Diffstat (limited to 'driver')
-rw-r--r-- | driver/accelgyro_icm42607.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/driver/accelgyro_icm42607.c b/driver/accelgyro_icm42607.c index e0ed5b0d9d..48518fa315 100644 --- a/driver/accelgyro_icm42607.c +++ b/driver/accelgyro_icm42607.c @@ -1125,6 +1125,15 @@ static int icm42607_init_config(const struct motion_sensor_t *s) if (ret) return ret; +#ifdef CONFIG_ACCELGYRO_ICM_COMM_SPI + /* Device operation in shared spi bus configuration */ + mask = 0x03; + val = 0x03; + ret = icm_field_update8(s, ICM42607_REG_INTF_CONFIG0, mask, val); + if (ret) + return ret; +#endif + /* disable i3c support */ mask = ICM42607_I3C_SDR_EN | ICM42607_I3C_DDR_EN; ret = icm_field_update8(s, ICM42607_REG_INTF_CONFIG1, mask, 0); |