summaryrefslogtreecommitdiff
path: root/test/usb_pe.h
diff options
context:
space:
mode:
authorPeter Marheine <pmarheine@chromium.org>2020-08-04 11:24:16 +1000
committerCommit Bot <commit-bot@chromium.org>2020-08-06 07:27:49 +0000
commit0385893469bad2c00690268d112436086fa69d1a (patch)
tree80f2a73e6933d8aa3c76b12172659348e42a71bc /test/usb_pe.h
parentea334082eb7bcf690a54e2773ddaec2905075922 (diff)
downloadchrome-ec-0385893469bad2c00690268d112436086fa69d1a.tar.gz
usbc: correctly handle Get_Source_Cap as a sink
USB Power Delivery Specification Revision 3.0, version 2.0 section 6.3.7 states that a dual-role port shall respond to Get_Source_Cap with its source capabilities, but this was incorrectly handled by responding with a request for source capabilities. Per section 8.3.3.18.10, implement the PE_DR_SNK_Give_Source_Cap state to handle this correctly. To support the new test, some helper functions for the fake PE are added and the test code's copy of the PE state enum is updated to be in sync with the real one. BUG=b:161400825,b:161331630 TEST=New host test for this state, and verified on Dalboz that requesting a PRS via the EC console (`pd 1 swap power`) now sends source capabilities when the partner requests them. BRANCH=None Signed-off-by: Peter Marheine <pmarheine@chromium.org> Change-Id: I87c27d406e0a3f57cf2c25fa583bee51155b6b12 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2336233 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'test/usb_pe.h')
-rw-r--r--test/usb_pe.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/usb_pe.h b/test/usb_pe.h
index f67146bd4d..3ba11ce040 100644
--- a/test/usb_pe.h
+++ b/test/usb_pe.h
@@ -116,20 +116,20 @@ enum usb_pe_state {
PE_VCS_TURN_ON_VCONN_SWAP,
PE_VCS_TURN_OFF_VCONN_SWAP,
PE_VCS_SEND_PS_RDY_SWAP,
- PE_DO_PORT_DISCOVERY,
PE_VDM_SEND_REQUEST,
PE_VDM_IDENTITY_REQUEST_CBL,
PE_INIT_PORT_VDM_IDENTITY_REQUEST,
PE_INIT_VDM_SVIDS_REQUEST,
PE_INIT_VDM_MODES_REQUEST,
- PE_VDM_REQUEST,
- PE_VDM_ACKED,
+ PE_VDM_REQUEST_DPM,
PE_VDM_RESPONSE,
PE_HANDLE_CUSTOM_VDM_REQUEST,
PE_WAIT_FOR_ERROR_RECOVERY,
PE_BIST_TX,
PE_BIST_RX,
+ PE_DEU_SEND_ENTER_USB,
PE_DR_SNK_GET_SINK_CAP,
+ PE_DR_SNK_GIVE_SOURCE_CAP,
#ifdef CONFIG_USB_PD_REV30
/* PD3.0 only states below here*/