diff options
author | Sam Hurst <shurst@google.com> | 2019-04-18 12:47:52 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-07-30 21:25:24 +0000 |
commit | 2e3109ec6b964776e7c5bd12f1fc058ca96d33f7 (patch) | |
tree | 23ea5eaf67e50094ae683f5d16f09a332a1303c4 /test/usb_typec_ctvpd.c | |
parent | b99b1b10c3f2070e3fbd8d5cb2d0927f04f642ea (diff) | |
download | chrome-ec-2e3109ec6b964776e7c5bd12f1fc058ca96d33f7.tar.gz |
type-c: USB Type-C State Machine based on Release 1.4 of the spec.
Implements DRP with Accessory, and Try.SRC as detailed in Release
1.4 of the USB Type-C specification.
BUG=b:130895206
BRANCH=none
TEST=manual
Used Atlas device to verify that it could be charged from PD and
none PD charges at 5V/3A. Attached USB dock and verifed access
to USB Thumb drive.
Performed same tests on Hatch
Port 0 on Hatch was used to run this CL, merged with PD functionality,
on the PD2.0 Compliance tester. All tests pass except for a few
physical layer tests. The test report has been added to the bug.
Change-Id: Ic4869e20e5b4c2ba6c827d92e40c70f3140f2518
Signed-off-by: Sam Hurst <shurst@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1574667
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Sam Hurst <shurst@google.com>
Commit-Queue: Sam Hurst <shurst@google.com>
Diffstat (limited to 'test/usb_typec_ctvpd.c')
-rw-r--r-- | test/usb_typec_ctvpd.c | 120 |
1 files changed, 60 insertions, 60 deletions
diff --git a/test/usb_typec_ctvpd.c b/test/usb_typec_ctvpd.c index 19fbfa1b8a..b2a100ad25 100644 --- a/test/usb_typec_ctvpd.c +++ b/test/usb_typec_ctvpd.c @@ -330,7 +330,7 @@ static int test_vpd_host_src_detection(void) * Host is configured properly and start state is UNATTACHED_SNK */ TEST_ASSERT(check_host_ra_rd()); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); /* * TEST: @@ -342,7 +342,7 @@ static int test_vpd_host_src_detection(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); /* * TEST: @@ -373,7 +373,7 @@ static int test_vpd_host_src_detection(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); return EC_SUCCESS; } @@ -394,7 +394,7 @@ static int test_vpd_host_src_detection_vbus(void) */ TEST_ASSERT(check_host_ra_rd()); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); /* * TEST: @@ -406,7 +406,7 @@ static int test_vpd_host_src_detection_vbus(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); /* * TEST: @@ -418,7 +418,7 @@ static int test_vpd_host_src_detection_vbus(void) wait_for_state_change(port, PD_T_CC_DEBOUNCE + 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); /* * TEST: @@ -429,7 +429,7 @@ static int test_vpd_host_src_detection_vbus(void) wait_for_state_change(port, 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); return EC_SUCCESS; } @@ -450,7 +450,7 @@ static int test_vpd_host_src_detection_vconn(void) */ TEST_ASSERT(check_host_ra_rd()); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); /* * TEST: @@ -462,7 +462,7 @@ static int test_vpd_host_src_detection_vconn(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); /* * TEST: @@ -474,7 +474,7 @@ static int test_vpd_host_src_detection_vconn(void) wait_for_state_change(port, PD_T_CC_DEBOUNCE + 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); /* VCONN was detected. Make sure RA is removed */ task_wake(PD_PORT_TO_TASK_ID(port)); @@ -490,7 +490,7 @@ static int test_vpd_host_src_detection_vconn(void) wait_for_state_change(port, 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); host_disconnect_source(); @@ -540,7 +540,7 @@ static int test_vpd_host_src_detection_message_reception(void) */ TEST_ASSERT(check_host_ra_rd()); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); /* * Transition to ATTACHED_SNK @@ -550,11 +550,11 @@ static int test_vpd_host_src_detection_message_reception(void) wait_for_state_change(port, 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 20 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); /* Run state machines to enable rx monitoring */ task_wake(PD_PORT_TO_TASK_ID(port)); @@ -606,7 +606,7 @@ static int test_vpd_host_src_detection_message_reception(void) wait_for_state_change(port, 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); host_disconnect_source(); @@ -634,7 +634,7 @@ static int test_ctvpd_behavior_case1(void) */ /* 1. DRP and CTVPD are both in the unattached state */ - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); /* * a. DRP alternates between Unattached.SRC and Unattached.SNK @@ -670,10 +670,10 @@ static int test_ctvpd_behavior_case1(void) * Charge-Through port’s CC1 and CC2 pins */ wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); TEST_ASSERT(check_ct_ccs_hz()); /* @@ -702,7 +702,7 @@ static int test_ctvpd_behavior_case1(void) * d. CTVPD apply Rd on its Charge-Through port’s CC1 and CC2 pins */ wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); /* * 6. While the CTVPD in CTUnattached.VPD state and the DRP in @@ -723,32 +723,32 @@ static int test_ctvpd_behavior_case1(void) TEST_ASSERT(ct_connect_source(CC2, VBUS_0)); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACH_WAIT_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACH_WAIT_VPD); /* Remove Power Source */ TEST_ASSERT(ct_disconnect_source()); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); /* Attach Sink */ TEST_ASSERT(ct_connect_sink(CC1, SRC_CON_DEF)); wait_for_state_change(port, PD_T_DRP_SNK); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_UNSUPPORTED); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACH_WAIT_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACH_WAIT_UNSUPPORTED); /* Remove VCONN (Host detach) */ mock_set_vconn(VCONN_0); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); return EC_SUCCESS; } @@ -780,25 +780,25 @@ static int test_ctvpd_behavior_case2(void) * pins and Rp termination advertising 3.0 A on the Host-side * port’s CC pin */ - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); host_connect_source(VBUS_5); mock_set_vconn(VCONN_3); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); /* Remove Host CC */ mock_set_host_cc_source_voltage(0); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); TEST_ASSERT(check_ct_ccs_rd()); TEST_ASSERT(check_host_rp3a0()); @@ -836,11 +836,11 @@ static int test_ctvpd_behavior_case2(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACH_WAIT_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACH_WAIT_VPD); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACHED_VPD); TEST_ASSERT(moch_get_ct_cl_sel() == CT_CC2); TEST_ASSERT(check_host_cc_open()); TEST_ASSERT(check_ct_ccs_hz()); @@ -870,7 +870,7 @@ static int test_ctvpd_behavior_case2(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTDISABLED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTDISABLED_VPD); return EC_SUCCESS; } @@ -899,7 +899,7 @@ static int test_ctvpd_behavior_case3(void) * a. CTVPD has applied Rd on the Charge-Through port’s CC1 and CC2 * pins and Rd on the Host-side port’s CC pin */ - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); TEST_ASSERT(check_ct_ccs_rd()); TEST_ASSERT(check_host_ra_rd()); @@ -923,7 +923,7 @@ static int test_ctvpd_behavior_case3(void) * between Unattached.SRC and Unattached.SNK */ wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SRC); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SRC); /* * 4. While the CTVPD alternates between Unattached.SRC and @@ -942,14 +942,14 @@ static int test_ctvpd_behavior_case3(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SRC); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SRC); /* Remove VBUS */ TEST_ASSERT(ct_disconnect_source()); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); return EC_SUCCESS; } @@ -1004,7 +1004,7 @@ static int test_ctvpd_behavior_case4(void) * b. CTVPD has applied Rd on its Charge-Through port’s CC1 and CC2 * pins and Rd on the Host-side port’s CC pin */ - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); TEST_ASSERT(check_ct_ccs_rd()); TEST_ASSERT(check_host_ra_rd()); @@ -1038,11 +1038,11 @@ static int test_ctvpd_behavior_case4(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); TEST_ASSERT(check_ct_ccs_hz()); /* @@ -1109,7 +1109,7 @@ static int test_ctvpd_behavior_case4(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); TEST_ASSERT(check_ct_ccs_rd()); TEST_ASSERT(check_host_rp3a0()); @@ -1119,16 +1119,16 @@ static int test_ctvpd_behavior_case4(void) */ wait_for_state_change(port, PD_T_DRP_SRC + 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_UNSUPPORTED); wait_for_state_change(port, PD_T_DRP_SRC + 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); TEST_ASSERT(ct_connect_source(CC2, VBUS_5)); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACH_WAIT_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACH_WAIT_VPD); return EC_SUCCESS; } @@ -1159,7 +1159,7 @@ static int test_ctvpd_behavior_case5(void) * b. CTVPD apply Rd on the Charge-Through port’s CC1 and CC2 pins * and Rd on the Host-side port’s CC pin */ - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); TEST_ASSERT(check_ct_ccs_rd()); TEST_ASSERT(check_host_ra_rd()); @@ -1184,7 +1184,7 @@ static int test_ctvpd_behavior_case5(void) */ wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SRC); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SRC); /* Connect Host With Dead Battery */ host_connect_sink(SRC_CON_DEF); @@ -1204,11 +1204,11 @@ static int test_ctvpd_behavior_case5(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SRC); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SRC); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 10 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == TRY_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_TRY_SNK); TEST_ASSERT(check_host_ra_rd()); /* 5. DRP in dead battery condition remains in Unattached.SNK */ @@ -1230,12 +1230,12 @@ static int test_ctvpd_behavior_case5(void) wait_for_state_change(port, PD_T_TRY_CC_DEBOUNCE + PD_T_DRP_TRY + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == TRY_WAIT_SRC); + TEST_ASSERT(get_typec_state_id(port) == TC_TRY_WAIT_SRC); TEST_ASSERT(check_host_rpusb()); wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SRC); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SRC); TEST_ASSERT(mock_get_vbus_pass_en()); /* @@ -1268,7 +1268,7 @@ static int test_ctvpd_behavior_case5(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); return EC_SUCCESS; } @@ -1299,7 +1299,7 @@ static int test_ctvpd_behavior_case6(void) * b. CTVPD has applied Rd on its Charge-Through port’s CC1 and CC2 * pins and Rd on the Host-side port’s CC pin */ - TEST_ASSERT(get_typec_state_id(port) == UNATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_UNATTACHED_SNK); TEST_ASSERT(check_ct_ccs_rd()); TEST_ASSERT(check_host_ra_rd()); @@ -1330,11 +1330,11 @@ static int test_ctvpd_behavior_case6(void) */ wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACH_WAIT_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACH_WAIT_SNK); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == ATTACHED_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_ATTACHED_SNK); TEST_ASSERT(check_ct_ccs_hz()); /* @@ -1367,7 +1367,7 @@ static int test_ctvpd_behavior_case6(void) */ wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); TEST_ASSERT(check_host_rp3a0()); TEST_ASSERT(mock_get_vbus_pass_en() == 0); TEST_ASSERT(check_ct_ccs_rd()); @@ -1382,15 +1382,15 @@ static int test_ctvpd_behavior_case6(void) */ wait_for_state_change(port, PD_T_DRP_SNK + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_UNSUPPORTED); wait_for_state_change(port, PD_T_DRP_SNK + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); wait_for_state_change(port, PD_T_DRP_SNK + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_UNSUPPORTED); /* * 7. CTVPD transitions from CTUnattached.Unsupported to CTTry.SNK @@ -1409,11 +1409,11 @@ static int test_ctvpd_behavior_case6(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACH_WAIT_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACH_WAIT_UNSUPPORTED); wait_for_state_change(port, PD_T_CC_DEBOUNCE + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTTRY_SNK); + TEST_ASSERT(get_typec_state_id(port) == TC_CTTRY_SNK); TEST_ASSERT(check_ct_ccs_rd()); /* @@ -1426,7 +1426,7 @@ static int test_ctvpd_behavior_case6(void) wait_for_state_change(port, PD_T_DRP_TRY + PD_T_TRY_WAIT + 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTATTACHED_UNSUPPORTED); + TEST_ASSERT(get_typec_state_id(port) == TC_CTATTACHED_UNSUPPORTED); /* * 9. While the CTVPD in CTAttached.Unsupported state, the DRP in @@ -1455,7 +1455,7 @@ static int test_ctvpd_behavior_case6(void) wait_for_state_change(port, 40 * MSEC); - TEST_ASSERT(get_typec_state_id(port) == CTUNATTACHED_VPD); + TEST_ASSERT(get_typec_state_id(port) == TC_CTUNATTACHED_VPD); return EC_SUCCESS; } |