summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Semjonovs <asemjonovs@google.com>2022-05-02 23:07:43 +0000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-03 18:30:15 +0000
commit3c16a8f60c6cdf098f615d36316905dfffce8148 (patch)
treef28c32fe9f5ada655426502c201bf9ca826c1037
parentfb79aa74aee541250c5bd295264106601758f1a0 (diff)
downloadchrome-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.c56
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);
+}