diff options
author | Denis Brockus <dbrockus@google.com> | 2020-05-29 20:23:37 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-04 18:29:17 +0000 |
commit | e38fa2719bdb9cd732b9ecd319fe29644104859a (patch) | |
tree | 94123a4fd6d607a01334714f3fbd459c085338e5 /test | |
parent | e802de1376c9733b49bcf18e5194392a55cdccbf (diff) | |
download | chrome-ec-e38fa2719bdb9cd732b9ecd319fe29644104859a.tar.gz |
TCPMv2: Wait for Safe0V on PR Swap SNK to SRC before PS_RDY
We were out of spec for PR Swap transitioning from
SNK to SRC by sending PS_RDY before we were Safe0V.
We only waited for the TC state machine to go from
attached.snk to attached.src, which happened on the
first state machine tick after
pe_prs_src_snk_transition_to_off_entry was called
and this does not guarantee Safe0V as is needed.
Added an extra state to reflect what the PD spec
requests and now waiting for Safe0V before
indicating we are powered off.
BUG=b:157755939
BRANCH=none
TEST=ThinkPad Dock G2 should attach
Signed-off-by: Denis Brockus <dbrockus@google.com>
Change-Id: I93eb36acc64f273e8b30ca0a0bb76d6fa96b64ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2223723
Tested-by: Denis Brockus <dbrockus@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Auto-Submit: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/fake_usbc.c | 3 | ||||
-rw-r--r-- | test/usb_pe.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/test/fake_usbc.c b/test/fake_usbc.c index 773c871605..44cb3a57bb 100644 --- a/test/fake_usbc.c +++ b/test/fake_usbc.c @@ -120,6 +120,9 @@ void tc_prs_src_snk_assert_rd(int port) attached_src = 0; } +void tc_src_power_off(int port) +{} + void tc_set_timeout(int port, uint64_t timeout) {} diff --git a/test/usb_pe.h b/test/usb_pe.h index 27d7db7a5f..b7311d832c 100644 --- a/test/usb_pe.h +++ b/test/usb_pe.h @@ -114,6 +114,7 @@ enum usb_pe_state { PE_DRS_SEND_SWAP, PE_PRS_SRC_SNK_EVALUATE_SWAP, PE_PRS_SRC_SNK_TRANSITION_TO_OFF, + PE_PRS_SRC_SNK_ASSERT_RD, PE_PRS_SRC_SNK_WAIT_SOURCE_ON, PE_PRS_SRC_SNK_SEND_SWAP, PE_PRS_SNK_SRC_EVALUATE_SWAP, |