summaryrefslogtreecommitdiff
path: root/board/quiche/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/quiche/board.c')
-rw-r--r--board/quiche/board.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/board/quiche/board.c b/board/quiche/board.c
index 429c2257e9..e49b2e1b1a 100644
--- a/board/quiche/board.c
+++ b/board/quiche/board.c
@@ -89,6 +89,11 @@ static void board_pwr_btn_interrupt(enum gpio_signal signal)
{
baseboard_power_button_evt(gpio_get_level(signal));
}
+
+static void board_usbc_usb3_interrupt(enum gpio_signal signal)
+{
+ baseboard_usbc_usb3_irq();
+}
#endif /* SECTION_IS_RW */
#include "gpio_list.h" /* Must come after other header files. */
@@ -100,6 +105,7 @@ static void board_pwr_btn_interrupt(enum gpio_signal signal)
*/
const struct power_seq board_power_seq[] = {
{GPIO_EN_AC_JACK, 1, 20},
+ {GPIO_EC_DFU_MUX_CTRL, 0, 0},
{GPIO_EN_PP5000_A, 1, 31},
{GPIO_MST_LP_CTL_L, 1, 0},
{GPIO_EN_PP3300_B, 1, 1},
@@ -306,9 +312,19 @@ uint16_t tcpc_get_alert_status(void)
return status;
}
+static void board_usb_pd_dp_ocp_reset(void)
+{
+ gpio_set_level(GPIO_USBC_ALTMODE_OCP_NOTIFY, 1);
+}
+DECLARE_DEFERRED(board_usb_pd_dp_ocp_reset);
+
void board_overcurrent_event(int port, int is_overcurrented)
{
- /* TODO(b/174825406): check correct operation for honeybuns */
+ if (port == USB_PD_PORT_DP) {
+ gpio_set_level(GPIO_USBC_ALTMODE_OCP_NOTIFY, !is_overcurrented);
+ hook_call_deferred(&board_usb_pd_dp_ocp_reset_data,
+ USB_HUB_OCP_RESET_MSEC);
+ }
}
int dock_get_mf_preference(void)