summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usbc/usb_tc_drp_acc_trysrc_sm.c5
-rw-r--r--driver/tcpm/tcpci.c11
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),