summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@google.com>2020-07-06 10:18:12 -0600
committerCommit Bot <commit-bot@chromium.org>2020-07-08 00:29:16 +0000
commitc36f91c2183193c783248a414fe0e1d3b14b3a56 (patch)
treefeea23fd72063f281d9a13958af198c41a7ff6f8
parentea8153ff2ddb9aae62b32fc9440f11326468fca4 (diff)
downloadchrome-ec-c36f91c2183193c783248a414fe0e1d3b14b3a56.tar.gz
TCPMv2: Set AutoDischargeDisconnect before RoleCtrl
On attach, it was recommended we set enable AutoDischargeDisconnect before setting RoleCtrl BUG=b:160253746 BRANCH=none TEST=See if this helps with the servo_v4 SRC->SNK Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ib962c1ccf21e6f3d0ac1e644198e24b2288e7f91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2282699 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
-rw-r--r--common/usbc/usb_tc_drp_acc_trysrc_sm.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
index ad6be41c26..d546ad9bdb 100644
--- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c
+++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
@@ -2065,11 +2065,12 @@ static void tc_attached_snk_entry(const int port)
pd_is_port_partner_dualrole(port) ?
CAP_DUALROLE : CAP_DEDICATED);
}
- /* Apply Rd */
- typec_update_cc(port);
/* Attached.SNK - enable AutoDischargeDisconnect */
tcpm_enable_auto_discharge_disconnect(port, 1);
+
+ /* Apply Rd */
+ typec_update_cc(port);
}
tc[port].cc_debounce = 0;
@@ -2507,12 +2508,12 @@ static void tc_attached_src_entry(const int port)
USB_SWITCH_DISCONNECT, tc[port].polarity);
}
- /* Apply Rp */
- typec_update_cc(port);
-
/* Attached.SRC - enable AutoDischargeDisconnect */
tcpm_enable_auto_discharge_disconnect(port, 1);
+ /* Apply Rp */
+ typec_update_cc(port);
+
tc_enable_pd(port, 0);
tc[port].timeout = get_time().val +
MAX(PD_POWER_SUPPLY_TURN_ON_DELAY, PD_T_VCONN_STABLE);
@@ -2550,12 +2551,12 @@ static void tc_attached_src_entry(const int port)
USB_SWITCH_DISCONNECT, tc[port].polarity);
}
- /* Apply Rp */
- typec_update_cc(port);
-
/* Attached.SRC - enable AutoDischargeDisconnect */
tcpm_enable_auto_discharge_disconnect(port, 1);
+ /* Apply Rp */
+ typec_update_cc(port);
+
#endif /* CONFIG_USB_PE_SM */
/* Inform PPC that a sink is connected. */