summaryrefslogtreecommitdiff
path: root/common/usbc/usb_tc_drp_acc_trysrc_sm.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/usbc/usb_tc_drp_acc_trysrc_sm.c')
-rw-r--r--common/usbc/usb_tc_drp_acc_trysrc_sm.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
index 554cf5129b..d84b2c5216 100644
--- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c
+++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
@@ -2321,7 +2321,7 @@ static void tc_attach_wait_snk_run(const int port)
/* Check for connection */
tcpm_get_cc(port, &cc1, &cc2);
- if (cc_is_rp(cc1) && cc_is_rp(cc2))
+ if (cc_is_rp(cc1) && cc_is_rp(cc2) && board_is_dts_port(port))
new_cc_state = PD_CC_DFP_DEBUG_ACC;
else if (cc_is_rp(cc1) || cc_is_rp(cc2))
new_cc_state = PD_CC_DFP_ATTACHED;
@@ -2855,9 +2855,12 @@ static void tc_attach_wait_src_run(const int port)
/* Check for connection */
tcpm_get_cc(port, &cc1, &cc2);
- /* Debug accessory */
- if (cc_is_snk_dbg_acc(cc1, cc2)) {
- /* Debug accessory */
+ if (cc_is_snk_dbg_acc(cc1, cc2) && board_is_dts_port(port)) {
+ /*
+ * Debug accessory.
+ * A debug accessory in a non-DTS port will be
+ * recognized by at_least_one_rd as UFP attached.
+ */
new_cc_state = PD_CC_UFP_DEBUG_ACC;
} else if (cc_is_at_least_one_rd(cc1, cc2)) {
/* UFP attached */