diff options
author | Sue Chen <sue.chen@quanta.corp-partner.google.com> | 2021-08-02 16:47:19 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-03 08:37:51 +0000 |
commit | b690911962e0c0b73243f388209fa1c2d22e7d9d (patch) | |
tree | d93aa11a218657eb65c87172aa125c03f9c40c4c /board/pico | |
parent | 2659633103ebd3d522d64bcc1a8d939cf9082f2b (diff) | |
download | chrome-ec-b690911962e0c0b73243f388209fa1c2d22e7d9d.tar.gz |
Pico: ap_sku_id 1 for convertible sku
Disable motion sense and tablet mode by ap_sku_id.
ap_sku_id 1 is for convertible; 0 is for clamshell.
BUG=none
BRANCH=icarus
TEST=Can get sku id 1 while running board_motion_init
and motion function works on convertible DUT.
Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com>
Change-Id: I22401fa6f184ecf486d9337390d739237cf66f4c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3067143
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'board/pico')
-rw-r--r-- | board/pico/board.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/board/pico/board.c b/board/pico/board.c index aba144b73c..1b6a2a3836 100644 --- a/board/pico/board.c +++ b/board/pico/board.c @@ -149,9 +149,19 @@ struct motion_sensor_t motion_sensors[] = { }; unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors); +static bool board_is_convertible(void) +{ + int sku = system_get_sku_id(); + + return sku == 1; +} + int board_sensor_at_360(void) { - return !gpio_get_level(GMR_TABLET_MODE_GPIO_L); + if (board_is_convertible()) + return !gpio_get_level(GMR_TABLET_MODE_GPIO_L); + + return 0; } #endif /* !VARIANT_KUKUI_NO_SENSORS */ /* @@ -357,6 +367,24 @@ static void board_init(void) } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); +#ifndef VARIANT_KUKUI_NO_SENSORS +static void board_motion_init(void) +{ + if (!board_is_convertible()) { + /* Disable motion sense. */ + motion_sensor_count = 0; + gpio_disable_interrupt(GPIO_ACCEL_INT_ODL); + gpio_set_flags(GPIO_ACCEL_INT_ODL, GPIO_INPUT); + /* Disable tablet mode. */ + tablet_set_mode(0, TABLET_TRIGGER_LID); + gmr_tablet_switch_disable(); + gpio_set_flags(GPIO_TABLET_MODE_L, + GPIO_INPUT | GPIO_PULL_UP); + } +} +DECLARE_HOOK(HOOK_INIT, board_motion_init, HOOK_PRIO_DEFAULT + 1); +#endif /* VARIANT_KUKUI_NO_SENSORS */ + /* Vconn control for integrated ITE TCPC */ void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled) { |