summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2021-12-16 14:20:18 -0700
committerCommit Bot <commit-bot@chromium.org>2021-12-16 23:43:20 +0000
commitcb4e857ccc8f17b3f02e1df845f86408395df112 (patch)
tree8f1d12559d38942dfaae0982bfdd867ec0344c60
parent35a5e8a12f7c886c766bbdcde8c3efeaae41bb26 (diff)
downloadchrome-ec-cb4e857ccc8f17b3f02e1df845f86408395df112.tar.gz
zephyr: test: sn5s330 driver can set vconn fet
Verify the sn5s330 driver can set the ppc VCONN FET. BRANCH=none BUG=b:203364783 TEST=zmake configure --test test-drivers Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: Id7064fb8b26b5b5c36b02fbed86bf9a68cfa957f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3345557 Reviewed-by: Wai-Hong Tam <waihong@google.com>
-rw-r--r--zephyr/test/drivers/src/ppc_sn5s330.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/zephyr/test/drivers/src/ppc_sn5s330.c b/zephyr/test/drivers/src/ppc_sn5s330.c
index af551f7189..429b9b8c26 100644
--- a/zephyr/test/drivers/src/ppc_sn5s330.c
+++ b/zephyr/test/drivers/src/ppc_sn5s330.c
@@ -249,8 +249,8 @@ static void test_set_vbus_source_current_limit(void)
NULL);
}
-#ifdef CONFIG_USBC_PPC_SBU
static void test_sn5s330_set_sbu(void)
+#ifdef CONFIG_USBC_PPC_SBU
{
const struct emul *emul = EMUL;
uint8_t func_set2_reg;
@@ -268,7 +268,6 @@ static void test_sn5s330_set_sbu(void)
zassert_equal(func_set2_reg & SN5S330_SBU_EN, 0, NULL);
}
#else
-static void test_sn5s330_set_sbu(void)
{
ztest_test_skip();
}
@@ -299,6 +298,7 @@ static void test_sn5s330_vbus_overcurrent(void)
}
static void test_sn5s330_disable_vbus_low_interrupt(void)
+#ifdef CONFIG_USBC_PPC_VCONN
{
const struct emul *emul = EMUL;
@@ -308,6 +308,27 @@ static void test_sn5s330_disable_vbus_low_interrupt(void)
sn5s330_emul_lower_vbus_below_minv(emul);
zassert_equal(sn5s330_emul_interrupt_set_stub_fake.call_count, 0, NULL);
}
+#else
+{
+ ztest_test_skip();
+}
+#endif /* CONFIG_USBC_PPC_VCONN */
+
+static void test_sn5s330_set_vconn_fet(void)
+{
+ const struct emul *emul = EMUL;
+ uint8_t func_set4_reg;
+
+ zassert_ok(sn5s330_drv.init(SN5S330_PORT), NULL);
+
+ sn5s330_drv.set_vconn(SN5S330_PORT, false);
+ sn5s330_emul_peek_reg(emul, SN5S330_FUNC_SET4, &func_set4_reg);
+ zassert_equal(func_set4_reg & SN5S330_VCONN_EN, 0, NULL);
+
+ sn5s330_drv.set_vconn(SN5S330_PORT, true);
+ sn5s330_emul_peek_reg(emul, SN5S330_FUNC_SET4, &func_set4_reg);
+ zassert_not_equal(func_set4_reg & SN5S330_VCONN_EN, 0, NULL);
+}
static void reset_sn5s330_state(void)
{
@@ -323,6 +344,9 @@ void test_suite_ppc_sn5s330(void)
{
ztest_test_suite(
ppc_sn5s330,
+ ztest_unit_test_setup_teardown(test_sn5s330_set_vconn_fet,
+ reset_sn5s330_state,
+ reset_sn5s330_state),
ztest_unit_test_setup_teardown(
test_sn5s330_disable_vbus_low_interrupt,
reset_sn5s330_state, reset_sn5s330_state),