diff --git a/board/samus_pd/usb_pd_policy.c b/board/samus_pd/usb_pd_policy.c index 90b7fc6121..867a020dd6 100644 --- a/board/samus_pd/usb_pd_policy.c +++ b/board/samus_pd/usb_pd_policy.c @@ -6,7 +6,6 @@ #include "common.h" #include "console.h" #include "gpio.h" -#include "hooks.h" #include "host_command.h" #include "registers.h" #include "task.h" @@ -150,28 +149,6 @@ int pd_board_checks(void) return EC_SUCCESS; } -static void dual_role_on(void) -{ - pd_set_dual_role(PD_DRP_TOGGLE_ON); - CPRINTS("PCH -> S0, enable dual-role toggling"); -} -DECLARE_HOOK(HOOK_CHIPSET_RESUME, dual_role_on, HOOK_PRIO_DEFAULT); - -static void dual_role_off(void) -{ - pd_set_dual_role(PD_DRP_TOGGLE_OFF); - CPRINTS("PCH -> S3, disable dual-role toggling"); -} -DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, dual_role_off, HOOK_PRIO_DEFAULT); -DECLARE_HOOK(HOOK_CHIPSET_STARTUP, dual_role_off, HOOK_PRIO_DEFAULT); - -static void dual_role_force_sink(void) -{ - pd_set_dual_role(PD_DRP_FORCE_SINK); - CPRINTS("PCH -> S5, force dual-role port to sink"); -} -DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, dual_role_force_sink, HOOK_PRIO_DEFAULT); - /* ----------------- Vendor Defined Messages ------------------ */ int pd_custom_vdm(int port, int cnt, uint32_t *payload, uint32_t **rpayload) { diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index 2825cf9eb2..9e0115743c 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -21,6 +21,7 @@ #ifdef CONFIG_COMMON_RUNTIME #define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args) +#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args) /* * Debug log level - higher number == more log @@ -1401,6 +1402,30 @@ void pd_rx_event(int port) task_set_event(PORT_TO_TASK_ID(port), PD_EVENT_RX, 0); } +#ifdef CONFIG_USB_PD_DUAL_ROLE +static void dual_role_on(void) +{ + pd_set_dual_role(PD_DRP_TOGGLE_ON); + CPRINTS("chipset -> S0, enable dual-role toggling"); +} +DECLARE_HOOK(HOOK_CHIPSET_RESUME, dual_role_on, HOOK_PRIO_DEFAULT); + +static void dual_role_off(void) +{ + pd_set_dual_role(PD_DRP_TOGGLE_OFF); + CPRINTS("chipset -> S3, disable dual-role toggling"); +} +DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, dual_role_off, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_CHIPSET_STARTUP, dual_role_off, HOOK_PRIO_DEFAULT); + +static void dual_role_force_sink(void) +{ + pd_set_dual_role(PD_DRP_FORCE_SINK); + CPRINTS("chipset -> S5, force dual-role port to sink"); +} +DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, dual_role_force_sink, HOOK_PRIO_DEFAULT); +#endif /* CONFIG_USB_PD_DUAL_ROLE */ + #ifdef CONFIG_COMMON_RUNTIME void pd_set_suspend(int port, int enable) {