summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2022-09-21 14:10:01 -0700
committerTom Hughes <tomhughes@chromium.org>2022-09-22 12:49:33 -0700
commit2bcf863b492fe7ed8105c853814dba6ed32ba719 (patch)
treefcf6ce5810f9ff9e3c8cce434812dd75492269ed /zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c
parente5fb0b9ba488614b5684e640530f00821ab7b943 (diff)
parent28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff)
downloadchrome-ec-firmware-fpmcu-bloonchipper-release.tar.gz
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-releasefirmware-fpmcu-bloonchipper-release
Generated by: ./util/update_release_branch.py --board bloonchipper --relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware- fpmcu-bloonchipper-release Relevant changes: git log --oneline e5fb0b9ba4..28712dae9d -- board/hatch_fp board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint util/getversion.sh ded9307b79 util/getversion.sh: Fix version when not in a git repo 956055e692 board: change Google USB vendor info 71b2ef709d Update license boilerplate text in source code files 33e11afda0 Revert "fpsensor: Build fpsensor source file with C++" c8d0360723 fpsensor: Build fpsensor source file with C++ bc113abd53 fpsensor: Fix g++ compiler error 150a58a0dc fpsensor: Fix fp_set_sensor_mode return type b33b5ce85b fpsensor: Remove nested designators for C++ compatibility 2e864b2539 tree-wide: const-ify argv for console commands 56d8b360f9 test: Add test for get ikm failure when seed not set 3a3d6c3690 test: Add test for fpsensor trivial key failure 233e6bbd08 fpsensor_crypto: Abstract calls to hmac_SHA256 0a041b285b docs/fingerprint: Typo correction c03fab67e2 docs/fingerprint: Fix the path of fputils.py 0b5d4baf5a util/getversion.sh: Fix empty file list handling 6e128fe760 FPMCU dev board environment with Satlab 3eb29b6aa5 builtin: Move ssize_t to sys/types.h 345d62ebd1 docs/fingerprint: Update power numbers for latest dartmonkey release c25ffdb316 common: Conditionally support printf %l and %i modifiers 9a3c514b45 test: Add a test to check if the debugger is connected 54e603413f Move standard library tests to their own file 43fa6b4bf8 docs/fingerprint: Update power numbers for latest bloonchipper release 25536f9a84 driver/fingerprint/fpc/bep/fpc_sensor_spi.c: Format with clang-format 4face99efd driver/fingerprint/fpc/libfp/fpc_sensor_pal.h: Format with clang-format 738de2b575 trng: Rename rand to trng_rand 14b8270edd docs/fingerprint: Update dragonclaw power numbers 0b268f93d1 driver/fingerprint/fpc/libfp/fpc_private.c: Format with clang-format f80da163f2 driver/fingerprint/fpc/libfp/fpc_private.h: Format with clang-format 5e9c85c9b1 driver/fingerprint/fpc/libfp/fpc_sensor_pal.c: Format with clang-format c1f9dd3cf8 driver/fingerprint/fpc/libfp/fpc_bio_algorithm.h: Format with clang-format eb1e1bed8d driver/fingerprint/fpc/libfp/fpc1145_private.h: Format with clang-format 6e7b611821 driver/fingerprint/fpc/bep/fpc_bio_algorithm.h: Format with clang-format e0589cd5e2 driver/fingerprint/fpc/bep/fpc1035_private.h: Format with clang-format 7905e556a0 common/fpsensor/fpsensor_crypto.c: Format with clang-format 21289d170c driver/fingerprint/fpc/bep/fpc1025_private.h: Format with clang-format 98a20f937e common/fpsensor/fpsensor_state.c: Format with clang-format a2d255d8af common/fpsensor/fpsensor.c: Format with clang-format 73055eeb3f driver/fingerprint/fpc/bep/fpc_private.c: Format with clang-format 0f7b5cb509 common/fpsensor/fpsensor_private.h: Format with clang-format 1ceade6e65 driver/fingerprint/fpc/bep/fpc_private.h: Format with clang-format dc3e9008b8 board/hatch_fp/board.h: Format with clang-format dca9d74321 Revert "trng: Rename rand to trng_rand" a6b0b3554f trng: Rename rand to trng_rand 28d0b75b70 third_party/boringssl: Remove unused header BRANCH=None BUG=b:246424843 b:234181908 b:244781166 b:234181908 b:244387210 BUG=b:242720240 chromium:1098010 b:180945056 b:236025198 b:234181908 BUG=b:234181908 b:237344361 b:131913998 b:236386294 b:234143158 BUG=b:234781655 b:215613183 b:242720910 TEST=`make -j buildall` TEST=./test/run_device_tests.py --board bloonchipper Test "aes": PASSED Test "cec": PASSED Test "cortexm_fpu": PASSED Test "crc": PASSED Test "flash_physical": PASSED Test "flash_write_protect": PASSED Test "fpsensor_hw": PASSED Test "fpsensor_spi_ro": PASSED Test "fpsensor_spi_rw": PASSED Test "fpsensor_uart_ro": PASSED Test "fpsensor_uart_rw": PASSED Test "mpu_ro": PASSED Test "mpu_rw": PASSED Test "mutex": PASSED Test "pingpong": PASSED Test "printf": PASSED Test "queue": PASSED Test "rollback_region0": PASSED Test "rollback_region1": PASSED Test "rollback_entropy": PASSED Test "rtc": PASSED Test "sha256": PASSED Test "sha256_unrolled": PASSED Test "static_if": PASSED Test "stdlib": PASSED Test "system_is_locked_wp_on": PASSED Test "system_is_locked_wp_off": PASSED Test "timer_dos": PASSED Test "utils": PASSED Test "utils_str": PASSED Test "stm32f_rtc": PASSED Test "panic_data_bloonchipper_v2.0.4277": PASSED Test "panic_data_bloonchipper_v2.0.5938": PASSED Force-Relevant-Builds: all Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I264ad0ffe7afcd507a1e483c6e934a9c4fea47c3
Diffstat (limited to 'zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c')
-rw-r--r--zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c160
1 files changed, 0 insertions, 160 deletions
diff --git a/zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c b/zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c
deleted file mode 100644
index fadb595e4b..0000000000
--- a/zephyr/test/drivers/src/integration/usbc/usb_alt_mode.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdint.h>
-#include <zephyr/zephyr.h>
-#include <ztest.h>
-#include <zephyr/drivers/gpio/gpio_emul.h>
-
-#include "ec_commands.h"
-#include "ec_tasks.h"
-#include "emul/emul_isl923x.h"
-#include "emul/tcpc/emul_ps8xxx.h"
-#include "emul/tcpc/emul_tcpci.h"
-#include "emul/tcpc/emul_tcpci_partner_snk.h"
-#include "host_command.h"
-#include "test/drivers/stubs.h"
-#include "tcpm/tcpci.h"
-#include "test/drivers/utils.h"
-#include "test/drivers/test_state.h"
-
-#define TEST_PORT USBC_PORT_C0
-
-struct usbc_alt_mode_fixture {
- const struct emul *tcpci_emul;
- const struct emul *charger_emul;
- struct tcpci_partner_data partner;
- struct tcpci_snk_emul_data snk_ext;
-};
-
-static void connect_partner_to_port(struct usbc_alt_mode_fixture *fixture)
-{
- const struct emul *tcpc_emul = fixture->tcpci_emul;
- struct tcpci_partner_data *partner_emul = &fixture->partner;
-
- /* Set VBUS to vSafe0V initially. */
- isl923x_emul_set_adc_vbus(fixture->charger_emul, 0);
- tcpci_emul_set_reg(fixture->tcpci_emul, TCPC_REG_POWER_STATUS,
- TCPC_REG_POWER_STATUS_VBUS_DET);
- tcpci_emul_set_reg(fixture->tcpci_emul, TCPC_REG_EXT_STATUS,
- TCPC_REG_EXT_STATUS_SAFE0V);
- tcpci_tcpc_alert(0);
- zassume_ok(tcpci_partner_connect_to_tcpci(partner_emul, tcpc_emul),
- NULL);
-
- /* Wait for PD negotiation and current ramp. */
- k_sleep(K_SECONDS(10));
-}
-
-static void disconnect_partner_from_port(struct usbc_alt_mode_fixture *fixture)
-{
- zassume_ok(tcpci_emul_disconnect_partner(fixture->tcpci_emul), NULL);
- isl923x_emul_set_adc_vbus(fixture->charger_emul, 0);
- k_sleep(K_SECONDS(1));
-}
-
-static void *usbc_alt_mode_setup(void)
-{
- static struct usbc_alt_mode_fixture fixture;
- struct tcpci_partner_data *partner = &fixture.partner;
- struct tcpci_snk_emul_data *snk_ext = &fixture.snk_ext;
-
- tcpci_partner_init(partner, PD_REV20);
- partner->extensions = tcpci_snk_emul_init(snk_ext, partner, NULL);
-
- /* Get references for the emulators */
- fixture.tcpci_emul =
- emul_get_binding(DT_LABEL(DT_NODELABEL(tcpci_emul)));
- /* The configured TCPCI rev must match the emulator's supported rev. */
- tcpc_config[TEST_PORT].flags |= TCPC_FLAGS_TCPCI_REV2_0;
- tcpci_emul_set_rev(fixture.tcpci_emul, TCPCI_EMUL_REV2_0_VER1_1);
- fixture.charger_emul =
- emul_get_binding(DT_LABEL(DT_NODELABEL(isl923x_emul)));
-
- /* Set up SOP discovery responses for DP adapter. */
- partner->identity_vdm[VDO_INDEX_HDR] =
- VDO(USB_SID_PD, /* structured VDM */ true,
- VDO_CMDT(CMDT_RSP_ACK) | CMD_DISCOVER_IDENT);
- partner->identity_vdm[VDO_INDEX_IDH] = VDO_IDH(
- /* 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);
- /* Hardware version 1, firmware version 2 */
- partner->identity_vdm[VDO_INDEX_AMA] = 0x12000000;
- partner->identity_vdos = VDO_INDEX_AMA + 1;
-
- /* Support DisplayPort VID. */
- partner->svids_vdm[VDO_INDEX_HDR] =
- VDO(USB_SID_PD, /* structured VDM */ true,
- VDO_CMDT(CMDT_RSP_ACK) | CMD_DISCOVER_SVID);
- partner->svids_vdm[VDO_INDEX_HDR + 1] =
- VDO_SVID(USB_SID_DISPLAYPORT, 0);
- partner->svids_vdos = VDO_INDEX_HDR + 2;
-
- /* Support one mode for DisplayPort VID. Copied from Hoho. */
- partner->modes_vdm[VDO_INDEX_HDR] =
- VDO(USB_SID_DISPLAYPORT, /* structured VDM */ true,
- VDO_CMDT(CMDT_RSP_ACK) | CMD_DISCOVER_MODES);
- partner->modes_vdm[VDO_INDEX_HDR + 1] = VDO_MODE_DP(
- 0, MODE_DP_PIN_C, 1, CABLE_PLUG, MODE_DP_V13, MODE_DP_SNK);
- partner->modes_vdos = VDO_INDEX_HDR + 2;
-
- /* Sink 5V 3A. */
- snk_ext->pdo[1] = PDO_FIXED(5000, 3000, PDO_FIXED_UNCONSTRAINED);
-
- return &fixture;
-}
-
-static void usbc_alt_mode_before(void *data)
-{
- /* Set chipset to ON, this will set TCPM to DRP */
- test_set_chipset_to_s0();
-
- /* TODO(b/214401892): Check why need to give time TCPM to spin */
- k_sleep(K_SECONDS(1));
-
- connect_partner_to_port((struct usbc_alt_mode_fixture *)data);
-}
-
-static void usbc_alt_mode_after(void *data)
-{
- disconnect_partner_from_port((struct usbc_alt_mode_fixture *)data);
-}
-
-ZTEST_F(usbc_alt_mode, verify_discovery)
-{
- uint8_t response_buffer[EC_LPC_HOST_PACKET_SIZE];
- struct ec_response_typec_discovery *discovery =
- (struct ec_response_typec_discovery *)response_buffer;
- host_cmd_typec_discovery(TEST_PORT, TYPEC_PARTNER_SOP,
- response_buffer, sizeof(response_buffer));
-
- /* The host command does not count the VDM header in identity_count. */
- zassert_equal(discovery->identity_count,
- this->partner.identity_vdos - 1,
- "Expected %d identity VDOs, got %d",
- this->partner.identity_vdos - 1,
- discovery->identity_count);
- zassert_mem_equal(discovery->discovery_vdo,
- this->partner.identity_vdm + 1,
- discovery->identity_count *
- sizeof(*discovery->discovery_vdo),
- "Discovered SOP identity ACK did not match");
- zassert_equal(discovery->svid_count, 1, "Expected 1 SVID, got %d",
- discovery->svid_count);
- zassert_equal(discovery->svids[0].svid, USB_SID_DISPLAYPORT,
- "Expected SVID 0x%0000x, got 0x%0000x",
- USB_SID_DISPLAYPORT, discovery->svids[0].svid);
- zassert_equal(discovery->svids[0].mode_count, 1,
- "Expected 1 DP mode, got %d",
- discovery->svids[0].mode_count);
- zassert_equal(discovery->svids[0].mode_vdo[0],
- this->partner.modes_vdm[1],
- "DP mode VDOs did not match");
-}
-
-ZTEST_SUITE(usbc_alt_mode, drivers_predicate_post_main, usbc_alt_mode_setup,
- usbc_alt_mode_before, usbc_alt_mode_after, NULL);