diff options
-rw-r--r-- | board/helios/board.c | 12 | ||||
-rw-r--r-- | board/helios/board.h | 4 | ||||
-rw-r--r-- | board/helios/gpio.inc | 1 |
3 files changed, 16 insertions, 1 deletions
diff --git a/board/helios/board.c b/board/helios/board.c index 85a7882706..bb13c5531c 100644 --- a/board/helios/board.c +++ b/board/helios/board.c @@ -117,6 +117,18 @@ static void board_lid_interrupt(enum gpio_signal signal) lid_interrupt(signal); } +static void board_gmr_tablet_switch_isr(enum gpio_signal signal) +{ + /* + * For board version more than 2, the DUT support GMR sensor. + * Else, blocked tablet_mode interrupt. + */ + if (get_board_id() < 2) + return; + + gmr_tablet_switch_isr(signal); +} + #include "gpio_list.h" /* Must come after other header files. */ /******************************************************************************/ diff --git a/board/helios/board.h b/board/helios/board.h index b83c3fd61d..98bfb7fb80 100644 --- a/board/helios/board.h +++ b/board/helios/board.h @@ -40,6 +40,9 @@ #define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL #define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL #define CONFIG_LID_ANGLE_UPDATE +#define CONFIG_GMR_TABLET_MODE +#define GMR_TABLET_MODE_GPIO_L GPIO_TABLET_MODE_L + /* OPT3001 ALS */ #define CONFIG_ALS #define ALS_COUNT 1 @@ -74,7 +77,6 @@ #define CONFIG_STEINHART_HART_3V3_30K9_47K_4050B /* DPTF */ -#define CONFIG_DPTF_MOTION_LID_NO_GMR_SENSOR #define CONFIG_DPTF_MULTI_PROFILE /* diff --git a/board/helios/gpio.inc b/board/helios/gpio.inc index 316709e6d9..25b3f9146e 100644 --- a/board/helios/gpio.inc +++ b/board/helios/gpio.inc @@ -10,6 +10,7 @@ /* Wake Source interrupts */ GPIO_INT(LID_OPEN, PIN(D, 2), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, board_lid_interrupt) +GPIO_INT(TABLET_MODE_L, PIN(C, 7), GPIO_INT_BOTH, board_gmr_tablet_switch_isr) GPIO_INT(WP_L, PIN(A, 1), GPIO_INT_BOTH, switch_interrupt) /* EC_WP_ODL */ GPIO_INT(POWER_BUTTON_L, PIN(0, 1), GPIO_INT_BOTH, power_button_interrupt) /* MECH_PWR_BTN_ODL */ GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, extpower_interrupt) |