diff options
-rw-r--r-- | board/eve/board.c | 26 | ||||
-rw-r--r-- | board/eve/board.h | 1 | ||||
-rw-r--r-- | board/eve/usb_pd_policy.c | 6 |
3 files changed, 11 insertions, 22 deletions
diff --git a/board/eve/board.c b/board/eve/board.c index 404800a865..ecf4d22431 100644 --- a/board/eve/board.c +++ b/board/eve/board.c @@ -466,19 +466,6 @@ int board_has_working_reset_flags(void) return 1; } -/* - * Update status of the ACPRESENT pin on the PCH. In order to prevent - * Deep S3 when USB is inserted this will indicate that AC is present - * if either port is supplying VBUS or there an external charger present. - */ -void board_update_ac_status(void) -{ - gpio_set_level(GPIO_PCH_ACOK, extpower_is_present() || - board_vbus_source_enabled(0) || - board_vbus_source_enabled(1)); -} -DECLARE_HOOK(HOOK_AC_CHANGE, board_update_ac_status, HOOK_PRIO_DEFAULT); - /* Initialize board. */ static void board_init(void) { @@ -494,8 +481,8 @@ static void board_init(void) /* Enable interrupts from BMI160 sensor. */ gpio_enable_interrupt(GPIO_ACCELGYRO3_INT_L); - /* Update AC status to the PCH */ - board_update_ac_status(); + /* Provide AC status to the PCH */ + gpio_set_level(GPIO_PCH_ACOK, extpower_is_present()); #if defined(CONFIG_KEYBOARD_SCANCODE_MUTABLE) && !defined(TEST_BUILD) if (board_get_version() == BOARD_VERSION_EVT) { @@ -511,6 +498,15 @@ static void board_init(void) } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); +/** + * Buffer the AC present GPIO to the PCH. + */ +static void board_extpower(void) +{ + gpio_set_level(GPIO_PCH_ACOK, extpower_is_present()); +} +DECLARE_HOOK(HOOK_AC_CHANGE, board_extpower, HOOK_PRIO_DEFAULT); + int pd_snk_is_vbus_provided(int port) { if (port != 0 && port != 1) diff --git a/board/eve/board.h b/board/eve/board.h index bfcb4c009b..a21058d76b 100644 --- a/board/eve/board.h +++ b/board/eve/board.h @@ -308,7 +308,6 @@ void board_reset_pd_mcu(void); void board_set_tcpc_power_mode(int port, int mode); void board_tcpc_init(void); void led_register_double_tap(void); -void board_update_ac_status(void); /* Sensors without hardware FIFO are in forced mode */ #define CONFIG_ACCEL_FORCE_MODE_MASK ((1 << LID_ACCEL) | (1 << LID_LIGHT)) diff --git a/board/eve/usb_pd_policy.c b/board/eve/usb_pd_policy.c index 85be51ba92..541264ee3e 100644 --- a/board/eve/usb_pd_policy.c +++ b/board/eve/usb_pd_policy.c @@ -125,9 +125,6 @@ int pd_set_power_supply_ready(int port) /* notify host of power info change */ pd_send_host_event(PD_EVENT_POWER_CHANGE); - /* Update AC status to the PCH */ - board_update_ac_status(); - return EC_SUCCESS; /* we are ready */ } @@ -150,9 +147,6 @@ void pd_power_supply_reset(int port) /* notify host of power info change */ pd_send_host_event(PD_EVENT_POWER_CHANGE); - - /* Update AC status to the PCH */ - board_update_ac_status(); } int pd_board_checks(void) |