summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@google.com>2021-01-06 12:16:41 -0700
committerCommit Bot <commit-bot@chromium.org>2021-01-07 21:14:20 +0000
commit566c4b5f57de1dabf416522358722f70ac73323e (patch)
tree2adf08abd10624239148ad421c3c47f9b3e8129b /test
parentfd9de64cdfd14943110cde1ac69c1f5542acccd1 (diff)
downloadchrome-ec-566c4b5f57de1dabf416522358722f70ac73323e.tar.gz
TCPMv2: Compliance Unit Test - make tx msg id per sop type
BUG=none BRANCH=none TEST=make buildall Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I9de64e1921029ec4bb5e09ae3aa2c07bf39c692b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2613725 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/usb_tcpmv2_compliance.c2
-rw-r--r--test/usb_tcpmv2_compliance.h4
-rw-r--r--test/usb_tcpmv2_compliance_common.c17
3 files changed, 15 insertions, 8 deletions
diff --git a/test/usb_tcpmv2_compliance.c b/test/usb_tcpmv2_compliance.c
index 569fab8527..d827e3da04 100644
--- a/test/usb_tcpmv2_compliance.c
+++ b/test/usb_tcpmv2_compliance.c
@@ -13,11 +13,11 @@
void before_test(void)
{
- partner_tx_id = 0;
partner_set_pd_rev(PD_REV30);
mock_usb_mux_reset();
mock_tcpci_reset();
+ mock_tcpci_tx_msg_id_reset(TCPC_TX_SOP_ALL);
/* Restart the PD task and let it settle */
task_set_event(TASK_ID_PD_C0, TASK_EVENT_RESET_DONE);
diff --git a/test/usb_tcpmv2_compliance.h b/test/usb_tcpmv2_compliance.h
index 120fd0b6a1..4f33d88050 100644
--- a/test/usb_tcpmv2_compliance.h
+++ b/test/usb_tcpmv2_compliance.h
@@ -23,8 +23,6 @@ enum mock_connect_result {
};
-extern int partner_tx_id;
-
extern uint32_t rdo;
extern uint32_t pdo;
@@ -42,6 +40,8 @@ bool vboot_allow_usb_pd(void);
int pd_check_vconn_swap(int port);
void board_reset_pd_mcu(void);
+#define TCPC_TX_SOP_ALL -1
+void mock_tcpci_tx_msg_id_reset(int sop);
int tcpci_startup(void);
diff --git a/test/usb_tcpmv2_compliance_common.c b/test/usb_tcpmv2_compliance_common.c
index 50ebd36aaa..72b57ee50e 100644
--- a/test/usb_tcpmv2_compliance_common.c
+++ b/test/usb_tcpmv2_compliance_common.c
@@ -13,8 +13,6 @@
#include "usb_tcpmv2_compliance.h"
#include "usb_tc_sm.h"
-int partner_tx_id;
-
uint32_t rdo = RDO_FIXED(1, 500, 500, 0);
uint32_t pdo = PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
@@ -84,6 +82,15 @@ int pd_check_vconn_swap(int port)
void board_reset_pd_mcu(void) {}
+static int partner_tx_id[6];
+void mock_tcpci_tx_msg_id_reset(int sop)
+{
+ if (sop == TCPC_TX_SOP_ALL)
+ for (sop = PD_MSG_SOP; sop <= PD_MSG_SOP_CBL_RST; ++sop)
+ partner_tx_id[sop] = 0;
+ else
+ partner_tx_id[sop] = 0;
+}
/*****************************************************************************
* Partner utility functions
@@ -126,18 +133,18 @@ void partner_send_msg(enum pd_msg_type sop,
{
uint16_t header;
- partner_tx_id &= 7;
+ partner_tx_id[sop] &= 7;
header = PD_HEADER(type,
sop == PD_MSG_SOP ? partner_get_power_role()
: PD_PLUG_FROM_CABLE,
partner_get_data_role(),
- partner_tx_id,
+ partner_tx_id[sop],
cnt,
partner_get_pd_rev(),
ext);
mock_tcpci_receive(sop, header, payload);
- partner_tx_id++;
+ ++partner_tx_id[sop];
mock_set_alert(TCPC_REG_ALERT_RX_STATUS);
}