diff options
author | David Huang <david.huang@quanta.corp-partner.google.com> | 2021-07-23 10:45:31 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-03 18:47:48 +0000 |
commit | be5018451b150b0d89e91f3c62233298a6625238 (patch) | |
tree | 5ffa7c3086b7f8cee8cda1f3ef7ee3ceb32e92a0 /board | |
parent | 2c28d389c1ce72bdb955e5c2f52582177a141744 (diff) | |
download | chrome-ec-be5018451b150b0d89e91f3c62233298a6625238.tar.gz |
Voema: Dynamic change sensor in force mode
Dynamic change sensor not support force mode in board level.
BUG=b:192301309
BRANCH=volteer
TEST=Check force mode/interrupt sensor can both get data.
Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com>
Change-Id: I4ef54e3e9990fe6f735f13248df49c28ddcc4b98
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3045860
Reviewed-by: YH Lin <yueherngl@chromium.org>
Commit-Queue: YH Lin <yueherngl@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/voema/board.h | 5 | ||||
-rw-r--r-- | board/voema/sensors.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/board/voema/board.h b/board/voema/board.h index c0bee73682..ce91eab712 100644 --- a/board/voema/board.h +++ b/board/voema/board.h @@ -53,8 +53,12 @@ TASK_EVENT_MOTION_SENSOR_INTERRUPT(CLEAR_ALS) /* Sensors without hardware FIFO are in forced mode */ +#ifdef BOARD_VOEMA_NPCX796FC #define CONFIG_ACCEL_FORCE_MODE_MASK \ (BIT(LID_ACCEL) | BIT(CLEAR_ALS) | BIT(BASE_ACCEL)) +#else +#define CONFIG_ACCEL_FORCE_MODE_MASK (board_accel_force_mode_mask()) +#endif #define CONFIG_LID_ANGLE #define CONFIG_LID_ANGLE_UPDATE @@ -189,6 +193,7 @@ enum usbc_port { void board_reset_pd_mcu(void); #ifndef BOARD_VOEMA_NPCX796FC void motion_interrupt(enum gpio_signal signal); +int board_accel_force_mode_mask(void); #endif #endif /* !__ASSEMBLER__ */ diff --git a/board/voema/sensors.c b/board/voema/sensors.c index 833d231275..08d1cb7841 100644 --- a/board/voema/sensors.c +++ b/board/voema/sensors.c @@ -16,6 +16,7 @@ #include "keyboard_scan.h" #include "hooks.h" #include "i2c.h" +#include "system.h" #include "task.h" #include "tablet_mode.h" #include "util.h" @@ -309,6 +310,14 @@ void motion_interrupt(enum gpio_signal signal) { icm426xx_interrupt(signal); } + +int board_accel_force_mode_mask(void) +{ + if (system_get_board_version() <= 2) + return (BIT(LID_ACCEL) | BIT(CLEAR_ALS) | BIT(BASE_ACCEL)); + else + return (BIT(LID_ACCEL) | BIT(CLEAR_ALS)); +} #endif #ifndef TEST_BUILD |