summaryrefslogtreecommitdiff
path: root/driver/accelgyro_bmi260.c
diff options
context:
space:
mode:
authorTomasz Michalec <tm@semihalf.com>2021-07-14 00:44:44 +0200
committerCommit Bot <commit-bot@chromium.org>2021-07-14 21:24:55 +0000
commit0773847d80c8821da2b277c6e007b6948eb350aa (patch)
tree995136cd3f73c4de6cc94f68af70cfda97fa7de7 /driver/accelgyro_bmi260.c
parent1369994e674688cb1d4f045b48b1b4b1836ae01c (diff)
downloadchrome-ec-0773847d80c8821da2b277c6e007b6948eb350aa.tar.gz
driver: bmi160: bmi260: Minor driver fixes
Fix three issues with BMI160 and BMI260 drivers: - get/set acclerometer/gyroscope offset will return error on failed read of offset register - BMI160 calibration function returns error when setting range fail - Invalid temperature is properly recognized by driver BUG=none BRANCH=none TEST=run zmake drivers test Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I545c0a931227ef7efc000ec97c1f6297a48e6d1a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3027039 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'driver/accelgyro_bmi260.c')
-rw-r--r--driver/accelgyro_bmi260.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/driver/accelgyro_bmi260.c b/driver/accelgyro_bmi260.c
index 21d783fe84..7fbbb073cd 100644
--- a/driver/accelgyro_bmi260.c
+++ b/driver/accelgyro_bmi260.c
@@ -161,13 +161,19 @@ static int set_offset(const struct motion_sensor_t *s,
switch (s->type) {
case MOTIONSENSE_TYPE_ACCEL:
- bmi_set_accel_offset(s, v);
+ ret = bmi_set_accel_offset(s, v);
+ if (ret != EC_SUCCESS)
+ return ret;
+
ret = bmi_write8(s->port, s->i2c_spi_addr_flags,
BMI260_NV_CONF,
val_nv_conf | BMI260_ACC_OFFSET_EN);
break;
case MOTIONSENSE_TYPE_GYRO:
- bmi_set_gyro_offset(s, v, &val98);
+ ret = bmi_set_gyro_offset(s, v, &val98);
+ if (ret != EC_SUCCESS)
+ return ret;
+
ret = bmi_write8(s->port, s->i2c_spi_addr_flags,
BMI260_OFFSET_EN_GYR98,
val98 | BMI260_OFFSET_GYRO_EN);