diff options
author | Aaron Massey <aaronmassey@google.com> | 2021-12-16 14:20:18 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-12-16 23:43:20 +0000 |
commit | cb4e857ccc8f17b3f02e1df845f86408395df112 (patch) | |
tree | 8f1d12559d38942dfaae0982bfdd867ec0344c60 | |
parent | 35a5e8a12f7c886c766bbdcde8c3efeaae41bb26 (diff) | |
download | chrome-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.c | 28 |
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), |