diff options
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 5 | ||||
-rw-r--r-- | driver/tcpm/tcpci.c | 11 |
2 files changed, 5 insertions, 11 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index e6d379c34b..165be89450 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -1238,6 +1238,11 @@ static void set_vconn(int port, int enable) TC_CLR_FLAG(port, TC_FLAGS_VCONN_ON); /* + * TODO(chromium:951681): When we are sourcing VCONN, we should make + * sure to remove our termination on that CC line first. + */ + + /* * We always need to tell the TCPC to enable Vconn first, otherwise some * TCPCs get confused and think the CC line is in over voltage mode and * immediately disconnects. If there is a PPC, both devices will diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index 0ada2111ee..b4d44e0a31 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -360,23 +360,12 @@ int tcpci_tcpm_get_cc(int port, enum tcpc_cc_voltage_status *cc1, int tcpci_tcpm_set_cc(int port, int pull) { int cc1, cc2; - enum tcpc_cc_polarity polarity; cc1 = cc2 = pull; /* Keep track of current CC pull value */ tcpci_set_cached_pull(port, pull); - /* - * Only drive one CC line when attached crbug.com/951681 - * and drive both when unattached. - */ - polarity = pd_get_polarity(port); - if (polarity == POLARITY_CC1) - cc2 = TYPEC_CC_OPEN; - else if (polarity == POLARITY_CC2) - cc1 = TYPEC_CC_OPEN; - return tcpc_write(port, TCPC_REG_ROLE_CTRL, TCPC_REG_ROLE_CTRL_SET(0, tcpci_get_cached_rp(port), |