diff options
-rw-r--r-- | board/nocturne/board.c | 11 | ||||
-rw-r--r-- | board/nocturne/board.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/board/nocturne/board.c b/board/nocturne/board.c index 93452d6ed8..7cb856de3f 100644 --- a/board/nocturne/board.c +++ b/board/nocturne/board.c @@ -620,12 +620,23 @@ static void board_report_pmic_fault(const char *str) void board_reset_pd_mcu(void) { + cprints(CC_USB, "Resetting TCPCs..."); + cflush(); /* GPIO_USB_PD_RST_L resets all the TCPCs. */ gpio_set_level(GPIO_USB_PD_RST_L, 0); msleep(10); /* TODO(aaboagye): Verify min hold time. */ gpio_set_level(GPIO_USB_PD_RST_L, 1); } +void board_set_tcpc_power_mode(int port, int mode) +{ + /* Ignore the "mode" to turn the chip on. We can only do a reset. */ + if (mode) + return; + + board_reset_pd_mcu(); +} + void board_rtc_reset(void) { cprints(CC_SYSTEM, "Asserting RTCRST# to PCH"); diff --git a/board/nocturne/board.h b/board/nocturne/board.h index abe90b94ca..6e2bc300a4 100644 --- a/board/nocturne/board.h +++ b/board/nocturne/board.h @@ -261,6 +261,7 @@ int board_get_version(void); /* Reset all TCPCs. */ void board_reset_pd_mcu(void); +void board_set_tcpc_power_mode(int port, int mode); #endif /* __ASSEMBLER__ */ |