diff options
author | Gwendal Grignou <gwendal@chromium.org> | 2018-02-15 11:51:29 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2018-03-07 08:17:44 +0000 |
commit | ef1f31badd41c08a9026b2755780f10973a6e66d (patch) | |
tree | 6cd919ab7f6caa5c6d870a3afbb304c547a5b60e | |
parent | a2d4cc75d89e09535582187d40faba58190f5e91 (diff) | |
download | chrome-ec-ef1f31badd41c08a9026b2755780f10973a6e66d.tar.gz |
driver: accel_lis2dh: Fix interface
Add support in ectool, expose min/max ODR.
BUG=b:73546254
BRANCH=master
TEST=compile
Change-Id: Ib09c06e17d7d73aaab91680672de4d5267299c7f
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/952495
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r-- | driver/accel_lis2dh.c | 4 | ||||
-rw-r--r-- | driver/accel_lis2dh.h | 4 | ||||
-rw-r--r-- | include/ec_commands.h | 1 | ||||
-rw-r--r-- | util/ectool.c | 3 |
4 files changed, 10 insertions, 2 deletions
diff --git a/driver/accel_lis2dh.c b/driver/accel_lis2dh.c index 99575678e1..d153b65a10 100644 --- a/driver/accel_lis2dh.c +++ b/driver/accel_lis2dh.c @@ -128,10 +128,10 @@ static int set_data_rate(const struct motion_sensor_t *s, int rate, int rnd) /* Adjust rounded value */ if (reg_val > LIS2DH_ODR_400HZ_VAL) { reg_val = LIS2DH_ODR_400HZ_VAL; - normalized_rate = 400000; + normalized_rate = LIS2DH_ODR_MAX_VAL; } else if (reg_val < LIS2DH_ODR_1HZ_VAL) { reg_val = LIS2DH_ODR_1HZ_VAL; - normalized_rate = 1000; + normalized_rate = LIS2DH_ODR_MIN_VAL; } /* diff --git a/driver/accel_lis2dh.h b/driver/accel_lis2dh.h index 3b87ffff8b..48e5bb4fab 100644 --- a/driver/accel_lis2dh.h +++ b/driver/accel_lis2dh.h @@ -99,6 +99,10 @@ enum lis2dh_odr { LIS2DH_ODR_LIST_NUM }; +/* Absolute maximum rate for sensor */ +#define LIS2DH_ODR_MIN_VAL 1000 +#define LIS2DH_ODR_MAX_VAL 400000 + /* Return ODR reg value based on data rate set */ #define LIS2DH_ODR_TO_REG(_odr) \ (_odr <= 1000) ? LIS2DH_ODR_1HZ_VAL : \ diff --git a/include/ec_commands.h b/include/ec_commands.h index bc654209f0..fdbcf3dcf9 100644 --- a/include/ec_commands.h +++ b/include/ec_commands.h @@ -2275,6 +2275,7 @@ enum motionsensor_chip { MOTIONSENSE_CHIP_OPT3001 = 10, MOTIONSENSE_CHIP_BH1730 = 11, MOTIONSENSE_CHIP_GPIO = 12, + MOTIONSENSE_CHIP_LIS2DH = 13, }; /* List of orientation positions */ diff --git a/util/ectool.c b/util/ectool.c index ea1a580067..45f2b2e052 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -3980,6 +3980,9 @@ static int cmd_motionsense(int argc, char **argv) case MOTIONSENSE_CHIP_GPIO: printf("gpio\n"); break; + case MOTIONSENSE_CHIP_LIS2DH: + printf("lis2dh\n"); + break; default: printf("unknown\n"); } |