summaryrefslogtreecommitdiff
path: root/test/usb_tcpmv2_compliance_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/usb_tcpmv2_compliance_common.c')
-rw-r--r--test/usb_tcpmv2_compliance_common.c158
1 files changed, 67 insertions, 91 deletions
diff --git a/test/usb_tcpmv2_compliance_common.c b/test/usb_tcpmv2_compliance_common.c
index 6145f59388..9f839ecf1c 100644
--- a/test/usb_tcpmv2_compliance_common.c
+++ b/test/usb_tcpmv2_compliance_common.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+/* Copyright 2020 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -15,9 +15,8 @@
uint32_t rdo = RDO_FIXED(1, 500, 500, 0);
uint32_t pdo = PDO_FIXED(5000, 3000,
- PDO_FIXED_DUAL_ROLE |
- PDO_FIXED_DATA_SWAP |
- PDO_FIXED_COMM_CAP);
+ PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |
+ PDO_FIXED_COMM_CAP);
const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
{
@@ -31,25 +30,25 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
},
};
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .driver = &mock_usb_mux_driver,
- }
-};
-
+const struct usb_mux_chain usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { {
+ .mux =
+ &(const struct usb_mux){
+ .driver = &mock_usb_mux_driver,
+ },
+} };
-void mock_set_cc(enum mock_connect_result cr,
- enum mock_cc_state cc1, enum mock_cc_state cc2)
+void mock_set_cc(enum mock_connect_result cr, enum mock_cc_state cc1,
+ enum mock_cc_state cc2)
{
mock_tcpci_set_reg(TCPC_REG_CC_STATUS,
- TCPC_REG_CC_STATUS_SET(cr, cc1, cc2));
+ TCPC_REG_CC_STATUS_SET(cr, cc1, cc2));
}
-void mock_set_role(int drp, enum tcpc_rp_value rp,
- enum tcpc_cc_pull cc1, enum tcpc_cc_pull cc2)
+void mock_set_role(int drp, enum tcpc_rp_value rp, enum tcpc_cc_pull cc1,
+ enum tcpc_cc_pull cc2)
{
mock_tcpci_set_reg(TCPC_REG_ROLE_CTRL,
- TCPC_REG_ROLE_CTRL_SET(drp, rp, cc1, cc2));
+ TCPC_REG_ROLE_CTRL_SET(drp, rp, cc1, cc2));
}
static int mock_alert_count;
@@ -80,7 +79,9 @@ int pd_check_vconn_swap(int port)
return 1;
}
-void board_reset_pd_mcu(void) {}
+void board_reset_pd_mcu(void)
+{
+}
/*****************************************************************************
* Partner utility functions
@@ -125,38 +126,31 @@ void partner_tx_msg_id_reset(int sop)
partner_tx_id[sop] = 0;
}
-void partner_send_msg(enum tcpci_msg_type sop,
- uint16_t type,
- uint16_t cnt,
- uint16_t ext,
- uint32_t *payload)
+void partner_send_msg(enum tcpci_msg_type sop, uint16_t type, uint16_t cnt,
+ uint16_t ext, uint32_t *payload)
{
uint16_t header;
partner_tx_id[sop] &= 7;
header = PD_HEADER(type,
- sop == TCPCI_MSG_SOP ? partner_get_power_role()
- : PD_PLUG_FROM_CABLE,
- partner_get_data_role(),
- partner_tx_id[sop],
- cnt,
- partner_get_pd_rev(),
- ext);
+ sop == TCPCI_MSG_SOP ? partner_get_power_role() :
+ PD_PLUG_FROM_CABLE,
+ partner_get_data_role(), partner_tx_id[sop], cnt,
+ partner_get_pd_rev(), ext);
mock_tcpci_receive(sop, header, payload);
++partner_tx_id[sop];
mock_set_alert(TCPC_REG_ALERT_RX_STATUS);
}
-
/*****************************************************************************
* TCPCI clean power up
*/
int tcpci_startup(void)
{
/* Should be in low power mode before AP boots. */
- TEST_EQ(mock_tcpci_get_reg(TCPC_REG_COMMAND),
- TCPC_REG_COMMAND_I2CIDLE, "%d");
+ TEST_EQ(mock_tcpci_get_reg(TCPC_REG_COMMAND), TCPC_REG_COMMAND_I2CIDLE,
+ "%d");
task_wait_event(10 * SECOND);
hook_notify(HOOK_CHIPSET_STARTUP);
@@ -165,12 +159,12 @@ int tcpci_startup(void)
task_wait_event(10 * SECOND);
/* Should be in low power mode and DRP auto-toggling with AP in S0. */
- TEST_EQ((mock_tcpci_get_reg(TCPC_REG_ROLE_CTRL)
- & TCPC_REG_ROLE_CTRL_DRP_MASK),
+ TEST_EQ((mock_tcpci_get_reg(TCPC_REG_ROLE_CTRL) &
+ TCPC_REG_ROLE_CTRL_DRP_MASK),
TCPC_REG_ROLE_CTRL_DRP_MASK, "%d");
/* TODO: check previous command was TCPC_REG_COMMAND_LOOK4CONNECTION */
- TEST_EQ(mock_tcpci_get_reg(TCPC_REG_COMMAND),
- TCPC_REG_COMMAND_I2CIDLE, "%d");
+ TEST_EQ(mock_tcpci_get_reg(TCPC_REG_COMMAND), TCPC_REG_COMMAND_I2CIDLE,
+ "%d");
/* TODO: this should be performed in TCPCI mock on startup but needs
* more TCPCI functionality added before that can happen. So until
@@ -198,13 +192,12 @@ int proc_pd_e1(enum pd_data_role data_role, enum proc_pd_e1_attach attach)
TEST_EQ(pd_get_data_role(I2C_PORT_HOST_TCPC),
PD_ROLE_DISCONNECTED, "%d");
- partner_set_data_role((data_role == PD_ROLE_UFP)
- ? PD_ROLE_DFP
- : PD_ROLE_UFP);
+ partner_set_data_role((data_role == PD_ROLE_UFP) ? PD_ROLE_DFP :
+ PD_ROLE_UFP);
- partner_set_power_role((data_role == PD_ROLE_UFP)
- ? PD_ROLE_SOURCE
- : PD_ROLE_SINK);
+ partner_set_power_role((data_role == PD_ROLE_UFP) ?
+ PD_ROLE_SOURCE :
+ PD_ROLE_SINK);
switch (partner_get_power_role()) {
case PD_ROLE_SOURCE:
@@ -212,11 +205,10 @@ int proc_pd_e1(enum pd_data_role data_role, enum proc_pd_e1_attach attach)
* b) The tester applies Rp (PD3=1.5A, PD2=3A) and
* waits for the UUT attachment.
*/
- mock_set_cc(MOCK_CC_DUT_IS_SNK,
- MOCK_CC_SNK_OPEN,
- (partner_get_pd_rev() == PD_REV30
- ? MOCK_CC_SNK_RP_1_5
- : MOCK_CC_SNK_RP_3_0));
+ mock_set_cc(MOCK_CC_DUT_IS_SNK, MOCK_CC_SNK_OPEN,
+ (partner_get_pd_rev() == PD_REV30 ?
+ MOCK_CC_SNK_RP_1_5 :
+ MOCK_CC_SNK_RP_3_0));
mock_set_alert(TCPC_REG_ALERT_CC_STATUS);
task_wait_event(5 * MSEC);
@@ -227,11 +219,12 @@ int proc_pd_e1(enum pd_data_role data_role, enum proc_pd_e1_attach attach)
/*
* d) The tester applies Vbus and waits 50 ms.
*/
- mock_tcpci_set_reg_bits(TCPC_REG_POWER_STATUS,
- TCPC_REG_POWER_STATUS_VBUS_PRES);
+ mock_tcpci_set_reg_bits(
+ TCPC_REG_POWER_STATUS,
+ TCPC_REG_POWER_STATUS_VBUS_PRES);
mock_tcpci_clr_reg_bits(TCPC_REG_EXT_STATUS,
- TCPC_REG_EXT_STATUS_SAFE0V);
+ TCPC_REG_EXT_STATUS_SAFE0V);
mock_set_alert(TCPC_REG_ALERT_EXT_STATUS |
TCPC_REG_ALERT_POWER_STATUS);
task_wait_event(50 * MSEC);
@@ -242,8 +235,7 @@ int proc_pd_e1(enum pd_data_role data_role, enum proc_pd_e1_attach attach)
* b) The tester applies Rd and waits for Vbus for
* tNoResponse max (5.5 s).
*/
- mock_set_cc(MOCK_CC_DUT_IS_SRC,
- MOCK_CC_SRC_OPEN,
+ mock_set_cc(MOCK_CC_DUT_IS_SRC, MOCK_CC_SRC_OPEN,
MOCK_CC_SRC_RD);
mock_set_alert(TCPC_REG_ALERT_CC_STATUS);
break;
@@ -260,7 +252,7 @@ int proc_pd_e1(enum pd_data_role data_role, enum proc_pd_e1_attach attach)
*/
task_wait_event(1 * MSEC);
partner_send_msg(TCPCI_MSG_SOP, PD_DATA_SOURCE_CAP, 1,
- 0, &pdo);
+ 0, &pdo);
/*
* f) The tester waits for the Request from the UUT for
@@ -324,8 +316,7 @@ int proc_pd_e1(enum pd_data_role data_role, enum proc_pd_e1_attach attach)
TEST_EQ(tc_is_attached_src(PORT0), true, "%d");
break;
}
- TEST_EQ(pd_get_data_role(I2C_PORT_HOST_TCPC),
- data_role, "%d");
+ TEST_EQ(pd_get_data_role(I2C_PORT_HOST_TCPC), data_role, "%d");
}
return EC_SUCCESS;
@@ -390,13 +381,8 @@ int handle_attach_expected_msgs(enum pd_data_role data_role)
possible[4].data_msg = 0;
do {
- rv = verify_tcpci_possible_tx(possible,
- 5,
- &found_index,
- NULL,
- 0,
- NULL,
- -1);
+ rv = verify_tcpci_possible_tx(possible, 5, &found_index,
+ NULL, 0, NULL, -1);
TEST_NE(rv, EC_ERROR_UNKNOWN, "%d");
if (rv == EC_ERROR_TIMEOUT)
@@ -406,30 +392,29 @@ int handle_attach_expected_msgs(enum pd_data_role data_role)
task_wait_event(10 * MSEC);
switch (found_index) {
- case 0: /* TCPCI_MSG_SOP PD_CTRL_GET_SOURCE_CAP */
+ case 0: /* TCPCI_MSG_SOP PD_CTRL_GET_SOURCE_CAP */
partner_send_msg(TCPCI_MSG_SOP,
- PD_DATA_SOURCE_CAP,
- 1, 0, &pdo);
+ PD_DATA_SOURCE_CAP, 1, 0,
+ &pdo);
break;
case 1: /* TCPCI_MSG_SOP PD_CTRL_GET_SINK_CAP */
partner_send_msg(TCPCI_MSG_SOP,
- PD_DATA_SINK_CAP,
- 1, 0, &pdo);
+ PD_DATA_SINK_CAP, 1, 0, &pdo);
break;
case 2: /* TCPCI_MSG_SOP_PRIME PD_DATA_VENDOR_DEF */
partner_send_msg(TCPCI_MSG_SOP_PRIME,
- PD_CTRL_NOT_SUPPORTED,
- 0, 0, NULL);
+ PD_CTRL_NOT_SUPPORTED, 0, 0,
+ NULL);
break;
case 3: /* TCPCI_MSG_SOP PD_DATA_VENDOR_DEF */
partner_send_msg(TCPCI_MSG_SOP,
- PD_CTRL_NOT_SUPPORTED,
- 0, 0, NULL);
+ PD_CTRL_NOT_SUPPORTED, 0, 0,
+ NULL);
break;
case 4: /* TCPCI_MSG_SOP PD_CTRL_GET_REVISION */
partner_send_msg(TCPCI_MSG_SOP,
- PD_CTRL_NOT_SUPPORTED,
- 0, 0, NULL);
+ PD_CTRL_NOT_SUPPORTED, 0, 0,
+ NULL);
break;
default:
TEST_ASSERT(0);
@@ -460,13 +445,8 @@ int handle_attach_expected_msgs(enum pd_data_role data_role)
possible[4].data_msg = 0;
do {
- rv = verify_tcpci_possible_tx(possible,
- 5,
- &found_index,
- NULL,
- 0,
- NULL,
- -1);
+ rv = verify_tcpci_possible_tx(possible, 5, &found_index,
+ NULL, 0, NULL, -1);
TEST_NE(rv, EC_ERROR_UNKNOWN, "%d");
if (rv == EC_ERROR_TIMEOUT)
@@ -478,29 +458,25 @@ int handle_attach_expected_msgs(enum pd_data_role data_role)
switch (found_index) {
case 0: /* TCPCI_MSG_SOP PD_CTRL_GET_SINK_CAP */
partner_send_msg(TCPCI_MSG_SOP,
- PD_DATA_SINK_CAP,
- 1, 0, &pdo);
+ PD_DATA_SINK_CAP, 1, 0, &pdo);
break;
case 1: /* TCPCI_MSG_SOP PD_CTRL_DR_SWAP */
- partner_send_msg(TCPCI_MSG_SOP,
- PD_CTRL_REJECT,
+ partner_send_msg(TCPCI_MSG_SOP, PD_CTRL_REJECT,
0, 0, NULL);
break;
- case 2: /* TCPCI_MSG_SOP PD_CTRL_PR_SWAP */
- partner_send_msg(TCPCI_MSG_SOP,
- PD_CTRL_REJECT,
+ case 2: /* TCPCI_MSG_SOP PD_CTRL_PR_SWAP */
+ partner_send_msg(TCPCI_MSG_SOP, PD_CTRL_REJECT,
0, 0, NULL);
break;
case 3: /* TCPCI_MSG_SOP PD_CTRL_VCONN_SWAP */
TEST_LT(vcs++, 4, "%d");
- partner_send_msg(TCPCI_MSG_SOP,
- PD_CTRL_REJECT,
+ partner_send_msg(TCPCI_MSG_SOP, PD_CTRL_REJECT,
0, 0, NULL);
break;
case 4: /* TCPCI_MSG_SOP PD_CTRL_GET_REVISION */
partner_send_msg(TCPCI_MSG_SOP,
- PD_CTRL_NOT_SUPPORTED,
- 0, 0, NULL);
+ PD_CTRL_NOT_SUPPORTED, 0, 0,
+ NULL);
break;
default:
TEST_ASSERT(0);