summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorJuHyun Kim <jkim@invensense.com>2023-02-06 07:28:12 -0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-01 13:52:09 +0000
commitb201453a4d8be2fefbdab24de4d4e40c059b0099 (patch)
tree9cc350ef9136d22b0e98389dd94d76e82a4cfd36 /driver
parent33885596426b7f419709d81529f3e4d02f960ddf (diff)
downloadchrome-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.c9
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);