diff options
Diffstat (limited to 'board/servo_v4/usb_pd_policy.c')
-rw-r--r-- | board/servo_v4/usb_pd_policy.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/board/servo_v4/usb_pd_policy.c b/board/servo_v4/usb_pd_policy.c index 3c49eefeda..08c2d5042c 100644 --- a/board/servo_v4/usb_pd_policy.c +++ b/board/servo_v4/usb_pd_policy.c @@ -655,10 +655,6 @@ int pd_set_power_supply_ready(int port) return EC_ERROR_NOT_POWERED; } - /* Enable CCD, if debuggable TS attached */ - if (pd_ts_dts_plugged(DUT)) - ccd_enable(1); - return EC_SUCCESS; /* we are ready */ } @@ -668,8 +664,6 @@ void pd_power_supply_reset(int port) if (port == CHG) return; - ccd_enable(0); - /* Disable VBUS */ gpio_set_level(GPIO_DUT_CHG_EN, 0); @@ -824,6 +818,14 @@ static void do_cc(int cc_config_new) usleep(PD_T_ERROR_RECOVERY); } + if ((cc_config & ~cc_config_new) & CC_DISABLE_DTS) { + /* DTS-disabled -> DTS-enabled */ + ccd_enable(1); + } else if ((cc_config_new & ~cc_config) & CC_DISABLE_DTS) { + /* DTS-enabled -> DTS-disabled */ + ccd_enable(0); + } + /* Accept new cc_config value */ cc_config = cc_config_new; |