diff options
author | Denis Brockus <dbrockus@google.com> | 2020-07-06 10:18:12 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-08 00:29:16 +0000 |
commit | c36f91c2183193c783248a414fe0e1d3b14b3a56 (patch) | |
tree | feea23fd72063f281d9a13958af198c41a7ff6f8 | |
parent | ea8153ff2ddb9aae62b32fc9440f11326468fca4 (diff) | |
download | chrome-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.c | 17 |
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. */ |