From 9e1f0ffe6b7e8b063e9f85d588c95642077db779 Mon Sep 17 00:00:00 2001 From: Ruibin Chang Date: Tue, 13 Nov 2018 15:23:39 +0800 Subject: common/usb_pd_protocol: Fix TryWait.SNK to Unattached.SNK timeout value When state transits from TryWait.SNK to Unattached.SNK, the timeout value is 10~20ms (tPDDebounce). This define in USB Type-C 1.3 spec Figure 4-16. BRANCH=None BUG=None TEST=GRL USBPD test Change-Id: If736daf1ef9e74f07a571a2f1adb12a928415c2b Signed-off-by: Ruibin Chang Reviewed-on: https://chromium-review.googlesource.com/1333217 Commit-Ready: ChromeOS CL Exonerator Bot Reviewed-by: Daisuke Nojiri Reviewed-by: Jett Rink (cherry picked from commit c1b19edff6875060b8679c7579f76fd4b2cd2421) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1590552 Commit-Queue: Daisuke Nojiri Tested-by: Daisuke Nojiri --- common/usb_pd_protocol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index a354a848bd..ebfadfba66 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -2562,7 +2562,7 @@ void pd_task(void *u) tcpm_set_cc(port, TYPEC_CC_RD); next_role_swap = get_time().val + PD_T_DRP_SNK; pd[port].try_src_marker = get_time().val - + PD_T_TRY_WAIT; + + PD_T_DEBOUNCE; /* Swap states quickly */ timeout = 2*MSEC; @@ -3688,7 +3688,7 @@ void pd_task(void *u) tcpm_set_cc(port, TYPEC_CC_RD); /* Set timer for TryWait.SNK state */ pd[port].try_src_marker = get_time().val - + PD_T_TRY_WAIT; + + PD_T_DEBOUNCE; /* Advance to TryWait.SNK state */ set_state(port, PD_STATE_SNK_DISCONNECTED); -- cgit v1.2.1