diff options
author | Aaron Massey <aaronmassey@google.com> | 2022-09-14 09:29:14 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-15 15:44:07 +0000 |
commit | 5a6bb07b3766ea29d29cb7cf5b024d017fa42bde (patch) | |
tree | 76e59c47bb2a4f0794f5a67740365b53b2963d0d | |
parent | 411e06afb213ac9ed70d6a82f986be6dced3b508 (diff) | |
download | chrome-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.c | 23 |
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); |