summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2022-05-02 16:35:13 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-04 00:01:34 +0000
commitf0e513b8f4c67d9e28c3c219e432b0d8cb225423 (patch)
treec3b8b3b2ae2724e204dbc91dc5db5cb13087b135
parent49c1700ab4ccb5bb01d95ae85cab6e340bfe735e (diff)
downloadchrome-ec-f0e513b8f4c67d9e28c3c219e432b0d8cb225423.tar.gz
test: Correct tcpci emulator init data roles
The tcpci emulators were associating the wrong initial data role with a particular power role during initialization. This resulted in a datarole mismatch errors being propagated as failing assertions when the TCPM attempted error recovery from a datarole mismatch. Correct initial dataroles to their corresponding initial power roles and move tcpci emulator test initialization code to before fixtures for proper state setup between tests within the same suite. BRANCH=none BUG=b:230656752 TEST=zmake test test-drivers Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I1d1e8e5a0e87ab7d172fd1dfadd6df878fab5f24 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3621797 Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r--zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c2
-rw-r--r--zephyr/emul/tcpc/emul_tcpci_partner_snk.c2
-rw-r--r--zephyr/emul/tcpc/emul_tcpci_partner_src.c2
-rw-r--r--zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c9
-rw-r--r--zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c11
5 files changed, 13 insertions, 13 deletions
diff --git a/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c b/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c
index 1ef40d1e1a..e7f369102f 100644
--- a/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c
+++ b/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c
@@ -262,7 +262,7 @@ void tcpci_faulty_snk_emul_init(struct tcpci_faulty_snk_emul *emul)
&emul->snk_data);
/* Init as sink */
- emul->common_data.data_role = PD_ROLE_DFP;
+ emul->common_data.data_role = PD_ROLE_UFP;
emul->common_data.power_role = PD_ROLE_SINK;
emul->common_data.rev = PD_REV20;
diff --git a/zephyr/emul/tcpc/emul_tcpci_partner_snk.c b/zephyr/emul/tcpc/emul_tcpci_partner_snk.c
index 1faa82a4a7..676a182b2f 100644
--- a/zephyr/emul/tcpc/emul_tcpci_partner_snk.c
+++ b/zephyr/emul/tcpc/emul_tcpci_partner_snk.c
@@ -557,7 +557,7 @@ void tcpci_snk_emul_init(struct tcpci_snk_emul *emul, enum pd_rev_type rev)
tcpci_partner_init(&emul->common_data, tcpci_snk_emul_hard_reset,
&emul->data);
- emul->common_data.data_role = PD_ROLE_DFP;
+ emul->common_data.data_role = PD_ROLE_UFP;
emul->common_data.power_role = PD_ROLE_SINK;
emul->common_data.rev = rev;
diff --git a/zephyr/emul/tcpc/emul_tcpci_partner_src.c b/zephyr/emul/tcpc/emul_tcpci_partner_src.c
index c8436563f8..6c106e86e7 100644
--- a/zephyr/emul/tcpc/emul_tcpci_partner_src.c
+++ b/zephyr/emul/tcpc/emul_tcpci_partner_src.c
@@ -448,7 +448,7 @@ void tcpci_src_emul_init(struct tcpci_src_emul *emul, enum pd_rev_type rev)
tcpci_partner_init(&emul->common_data, tcpci_src_emul_hard_reset,
&emul->data);
- emul->common_data.data_role = PD_ROLE_UFP;
+ emul->common_data.data_role = PD_ROLE_DFP;
emul->common_data.power_role = PD_ROLE_SOURCE;
emul->common_data.rev = rev;
diff --git a/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c b/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c
index 92d2857a39..64da9112a6 100644
--- a/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c
+++ b/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c
@@ -25,6 +25,11 @@ static inline void
connect_charger_to_port(struct usb_attach_20v_3a_pd_charger_fixture *fixture)
{
set_ac_enabled(true);
+ /* Initialize the charger to supply 20V and 3A */
+ tcpci_src_emul_init(&fixture->charger_20v, PD_REV20);
+ fixture->charger_20v.data.pdo[1] =
+ PDO_FIXED(20000, 3000, PDO_FIXED_UNCONSTRAINED);
+
zassume_ok(tcpci_src_emul_connect_to_tcpci(
&fixture->charger_20v.data,
&fixture->charger_20v.common_data,
@@ -60,10 +65,6 @@ static void *usb_attach_20v_3a_pd_charger_setup(void)
test_fixture.charger_emul =
emul_get_binding(DT_LABEL(DT_NODELABEL(isl923x_emul)));
- /* Initialized the charger to supply 20V and 3A */
- tcpci_src_emul_init(&test_fixture.charger_20v, PD_REV20);
- test_fixture.charger_20v.data.pdo[1] =
- PDO_FIXED(20000, 3000, PDO_FIXED_UNCONSTRAINED);
return &test_fixture;
}
diff --git a/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c b/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c
index b75f22eeaa..f0132dc0a0 100644
--- a/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c
+++ b/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c
@@ -30,12 +30,6 @@ static void *usb_attach_5v_3a_pd_source_setup(void)
emul_get_binding(DT_LABEL(DT_NODELABEL(tcpci_emul)));
test_fixture.charger_emul =
emul_get_binding(DT_LABEL(DT_NODELABEL(isl923x_emul)));
-
- /* Initialized the charger to supply 5V and 3A */
- tcpci_src_emul_init(&test_fixture.source_5v_3a, PD_REV20);
- test_fixture.source_5v_3a.data.pdo[1] =
- PDO_FIXED(5000, 3000, PDO_FIXED_UNCONSTRAINED);
-
return &test_fixture;
}
@@ -43,6 +37,11 @@ static void usb_attach_5v_3a_pd_source_before(void *data)
{
struct usb_attach_5v_3a_pd_source_fixture *fixture = data;
+ /* Initialize the charger to supply 5V and 3A */
+ tcpci_src_emul_init(&fixture->source_5v_3a, PD_REV20);
+ fixture->source_5v_3a.data.pdo[1] =
+ PDO_FIXED(5000, 3000, PDO_FIXED_UNCONSTRAINED);
+
connect_source_to_port(&fixture->source_5v_3a, 1, fixture->tcpci_emul,
fixture->charger_emul);
}