diff options
author | Diana Z <dzigterman@chromium.org> | 2021-11-11 11:38:40 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-11-11 21:41:43 +0000 |
commit | e05d0947c3c3617ea24ed7b66abeb3e518882df1 (patch) | |
tree | 7a81ab6894c10c09b74c376efe005a3e9ae2badd /test | |
parent | 5499f2d53cb90d003d2f58ed0ffe417ac3c8121b (diff) | |
download | chrome-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.c | 21 |
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); |