diff options
Diffstat (limited to 'baseboard/asurada/usb_pd_policy.c')
-rw-r--r-- | baseboard/asurada/usb_pd_policy.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/baseboard/asurada/usb_pd_policy.c b/baseboard/asurada/usb_pd_policy.c index 20e315b6db..7422e6771f 100644 --- a/baseboard/asurada/usb_pd_policy.c +++ b/baseboard/asurada/usb_pd_policy.c @@ -148,7 +148,16 @@ __override void svdm_exit_dp_mode(int port) int pd_snk_is_vbus_provided(int port) { - return ppc_is_vbus_present(port); + if ((IS_ENABLED(BOARD_HAYATO) && board_get_version() < 4) || + (IS_ENABLED(BOARD_SPHERION) && board_get_version() < 1)) + return ppc_is_vbus_present(port); + + /* + * (b:181203590#comment20) TODO(yllin): use + * PD_VSINK_DISCONNECT_PD for non-5V case. + */ + return charge_manager_get_vbus_voltage(port) >= + PD_V_SINK_DISCONNECT_MAX; } void pd_power_supply_reset(int port) @@ -200,4 +209,3 @@ int board_vbus_source_enabled(int port) { return ppc_is_sourcing_vbus(port); } - |