summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2022-09-14 09:29:14 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-15 15:44:07 +0000
commit5a6bb07b3766ea29d29cb7cf5b024d017fa42bde (patch)
tree76e59c47bb2a4f0794f5a67740365b53b2963d0d
parent411e06afb213ac9ed70d6a82f986be6dced3b508 (diff)
downloadchrome-ec-5a6bb07b3766ea29d29cb7cf5b024d017fa42bde.tar.gz
test: Verify discovery via PD info host commands
Test that after discovery, the PD info request EC_CMD_PD_DISCOVERY command fetches appropriate values. BRANCH=none BUG=b:236075275 TEST=twister --clobber -i -s zephyr/test/drivers/drivers.usbc_alt_mode Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I90c832e34d38102df1ebe4968a6dd663858a42fa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3895513 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
-rw-r--r--zephyr/test/drivers/usbc_alt_mode/src/usbc_alt_mode.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/zephyr/test/drivers/usbc_alt_mode/src/usbc_alt_mode.c b/zephyr/test/drivers/usbc_alt_mode/src/usbc_alt_mode.c
index b5866d6b7d..d9fdef1346 100644
--- a/zephyr/test/drivers/usbc_alt_mode/src/usbc_alt_mode.c
+++ b/zephyr/test/drivers/usbc_alt_mode/src/usbc_alt_mode.c
@@ -21,6 +21,11 @@
#include "test/drivers/test_state.h"
#define TEST_PORT 0
+
+/* Arbitrary */
+#define PARTNER_PRODUCT_ID 0x1234
+#define PARTNER_DEV_BINARY_CODED_DECIMAL 0x5678
+
BUILD_ASSERT(TEST_PORT == USBC_PORT_C0);
struct usbc_alt_mode_fixture {
@@ -79,7 +84,8 @@ static void add_discovery_responses(struct tcpci_partner_data *partner)
/* USB host */ false, /* USB device */ false, IDH_PTYPE_AMA,
/* modal operation */ true, USB_VID_GOOGLE);
partner->identity_vdm[VDO_INDEX_CSTAT] = 0xabcdabcd;
- partner->identity_vdm[VDO_INDEX_PRODUCT] = VDO_PRODUCT(0x1234, 0x5678);
+ partner->identity_vdm[VDO_INDEX_PRODUCT] = VDO_PRODUCT(
+ PARTNER_PRODUCT_ID, PARTNER_DEV_BINARY_CODED_DECIMAL);
/* Hardware version 1, firmware version 2 */
partner->identity_vdm[VDO_INDEX_AMA] = 0x12000000;
partner->identity_vdos = VDO_INDEX_AMA + 1;
@@ -326,6 +332,21 @@ ZTEST_F(usbc_alt_mode, verify_displayport_mode_reentry)
fixture->partner.modes_vdm[response.opos], NULL);
}
+ZTEST_F(usbc_alt_mode, verify_discovery_via_pd_host_cmd)
+{
+ struct ec_params_usb_pd_info_request params = { .port = TEST_PORT };
+ struct ec_params_usb_pd_discovery_entry response;
+
+ struct host_cmd_handler_args args = BUILD_HOST_COMMAND(
+ EC_CMD_USB_PD_DISCOVERY, 0, response, params);
+
+ zassert_ok(host_command_process(&args));
+ zassert_equal(args.response_size, sizeof(response), NULL);
+ zassert_equal(response.ptype, IDH_PTYPE_AMA);
+ zassert_equal(response.vid, USB_VID_GOOGLE);
+ zassert_equal(response.pid, PARTNER_PRODUCT_ID);
+}
+
ZTEST_SUITE(usbc_alt_mode, drivers_predicate_post_main, usbc_alt_mode_setup,
usbc_alt_mode_before, usbc_alt_mode_after, NULL);