diff options
author | Al Semjonovs <asemjonovs@google.com> | 2022-05-02 23:07:43 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-03 18:30:15 +0000 |
commit | 3c16a8f60c6cdf098f615d36316905dfffce8148 (patch) | |
tree | f28c32fe9f5ada655426502c201bf9ca826c1037 | |
parent | fb79aa74aee541250c5bd295264106601758f1a0 (diff) | |
download | chrome-ec-3c16a8f60c6cdf098f615d36316905dfffce8148.tar.gz |
zephyr:test: Add BIST test cases
Add test cases to cover BIST scenarios
BUG=b:231243718
BRANCH=NONE
TEST=zmake test test-drivers
Signed-off-by: Al Semjonovs <asemjonovs@google.com>
Change-Id: I96868884327043a8c5c12980d21a7d4289b1546e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3621801
Commit-Queue: Aaron Massey <aaronmassey@google.com>
Reviewed-by: Aaron Massey <aaronmassey@google.com>
-rw-r--r-- | zephyr/test/drivers/src/integration/usbc/usb_pd_ctrl_msg.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/integration/usbc/usb_pd_ctrl_msg.c b/zephyr/test/drivers/src/integration/usbc/usb_pd_ctrl_msg.c index 4bf50099d8..22b2e34b07 100644 --- a/zephyr/test/drivers/src/integration/usbc/usb_pd_ctrl_msg.c +++ b/zephyr/test/drivers/src/integration/usbc/usb_pd_ctrl_msg.c @@ -14,6 +14,7 @@ #include "test/drivers/stubs.h" #include "test/drivers/test_state.h" #include "test/drivers/utils.h" +#include "test/usb_pe.h" #include "usb_pd.h" #define TEST_USB_PORT USBC_PORT_C0 @@ -336,3 +337,58 @@ ZTEST(usb_pd_ctrl_msg_test_sink, verify_get_sink_cap) zassert_true(typec_status.sink_cap_count > 1, NULL); zassert_equal(typec_status.sink_cap_pdos[1], TEST_ADDED_PDO, NULL); } + +/** + * @brief TestPurpose: Verify BIST TX MODE 2. + * + * @details + * - TCPM is configured initially as Sink + * - Initiate BIST TX + * + * Expected Results + * - BIST occurs and we transition back to READY state + */ +ZTEST_F(usb_pd_ctrl_msg_test_source, verify_bist_tx_mode2) +{ + struct usb_pd_ctrl_msg_test_fixture *fixture = &this->fixture; + uint32_t bdo = BDO(BDO_MODE_CARRIER2, 0); + + tcpci_partner_send_data_msg(&fixture->partner_emul.common_data, + PD_DATA_BIST, &bdo, 1, 0); + + pd_dpm_request(TEST_USB_PORT, DPM_REQUEST_BIST_TX); + k_sleep(K_MSEC(10)); + zassert_equal(get_state_pe(TEST_USB_PORT), PE_BIST_TX, NULL); + + k_sleep(K_SECONDS(5)); + zassert_equal(get_state_pe(TEST_USB_PORT), PE_SNK_READY, NULL); +} + +/** + * @brief TestPurpose: Verify BIST TX TEST DATA. + * + * @details + * - TCPM is configured initially as Sink + * - Initiate BIST TX + * - End testing via signaling a Hard Reset + * + * Expected Results + * - Partner remains in BIST_TX state until hard reset is received. + */ +ZTEST_F(usb_pd_ctrl_msg_test_source, verify_bist_tx_test_data) +{ + struct usb_pd_ctrl_msg_test_fixture *fixture = &this->fixture; + uint32_t bdo = BDO(BDO_MODE_TEST_DATA, 0); + + tcpci_partner_send_data_msg(&fixture->partner_emul.common_data, + PD_DATA_BIST, &bdo, 1, 0); + + pd_dpm_request(TEST_USB_PORT, DPM_REQUEST_BIST_TX); + k_sleep(K_SECONDS(5)); + zassert_equal(get_state_pe(TEST_USB_PORT), PE_BIST_TX, NULL); + + tcpci_partner_common_send_hard_reset( + &fixture->partner_emul.common_data); + k_sleep(K_SECONDS(1)); + zassert_equal(get_state_pe(TEST_USB_PORT), PE_SNK_READY, NULL); +} |