summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2021-11-11 11:38:40 -0700
committerCommit Bot <commit-bot@chromium.org>2021-11-11 21:41:43 +0000
commite05d0947c3c3617ea24ed7b66abeb3e518882df1 (patch)
tree7a81ab6894c10c09b74c376efe005a3e9ae2badd /test
parent5499f2d53cb90d003d2f58ed0ffe417ac3c8121b (diff)
downloadchrome-ec-e05d0947c3c3617ea24ed7b66abeb3e518882df1.tar.gz
TC DRP Test: Add LPM wake check
Verify we wake the TCPC when we're changing our toggle state and it's asleep. BRANCH=None BUG=b:195393479 TEST=make -j run-usb_typec_drp_acc_trysrc Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I515f3303ed405728871e45de708e5bc119ffe31f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3276665 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/usb_typec_drp_acc_trysrc.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/usb_typec_drp_acc_trysrc.c b/test/usb_typec_drp_acc_trysrc.c
index 96ed5601b7..106370db72 100644
--- a/test/usb_typec_drp_acc_trysrc.c
+++ b/test/usb_typec_drp_acc_trysrc.c
@@ -782,6 +782,25 @@ __maybe_unused static int test_typec_dis_as_src(void)
return EC_SUCCESS;
}
+__maybe_unused static int test_wake_tcpc_toggle_change(void)
+{
+ /* Start with auto toggle disabled */
+ pd_set_dual_role(PORT0, PD_DRP_TOGGLE_OFF);
+ task_wait_event(SECOND);
+
+ /* TCPC should be asleep */
+ TEST_EQ(mock_tcpc.lpm_wake_requested, false, "%d");
+
+ /* Enabled auto toggle */
+ pd_set_dual_role(PORT0, PD_DRP_TOGGLE_ON);
+ task_wait_event(FUDGE);
+
+ /* Ensure TCPC was woken */
+ TEST_EQ(mock_tcpc.lpm_wake_requested, true, "%d");
+
+ return EC_SUCCESS;
+}
+
/* Reset the mocks before each test */
void before_test(void)
{
@@ -833,6 +852,8 @@ void run_test(int argc, char **argv)
RUN_TEST(test_auto_toggle_delay);
RUN_TEST(test_auto_toggle_delay_early_connect);
+ RUN_TEST(test_wake_tcpc_toggle_change);
+
/* Do basic state machine validity checks last. */
RUN_TEST(test_tc_no_parent_cycles);
RUN_TEST(test_tc_all_states_named);