summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/eve/board.c26
-rw-r--r--board/eve/board.h1
-rw-r--r--board/eve/usb_pd_policy.c6
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)