summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2021-12-01 14:34:01 -0700
committerCommit Bot <commit-bot@chromium.org>2021-12-02 19:17:51 +0000
commit5175aa6b6d38c1819e3820d889d8f02d7226fac1 (patch)
tree83443224f2c91437a97d876c00074b62c0631e78
parentee4d5bdc27b7bd24c2abfb305c640b5330745f3e (diff)
downloadchrome-ec-5175aa6b6d38c1819e3820d889d8f02d7226fac1.tar.gz
zephyr: test: sn5s330 verify set_sbu function
Verify the sn5s330 driver set_sbu api correctly sets registers. BRANCH=none BUG=b:203364783 TEST=zmake configure --test test-drivers Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I4a63d8c093653829d4fe46de193a0bd7f571ae3c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3311881 Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--zephyr/test/drivers/src/ppc_sn5s330.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/ppc_sn5s330.c b/zephyr/test/drivers/src/ppc_sn5s330.c
index f3a707dc7a..cefa5fc34a 100644
--- a/zephyr/test/drivers/src/ppc_sn5s330.c
+++ b/zephyr/test/drivers/src/ppc_sn5s330.c
@@ -244,6 +244,31 @@ static void test_set_vbus_source_current_limit(void)
NULL);
}
+#ifdef CONFIG_USBC_PPC_SBU
+static void test_sn5s330_set_sbu(void)
+{
+ const struct emul *emul = EMUL;
+ uint8_t func_set2_reg;
+
+ zassert_ok(sn5s330_drv.init(SN5S330_PORT), NULL);
+
+ /* Verify driver enables SBU FET */
+ zassert_ok(sn5s330_drv.set_sbu(SN5S330_PORT, true), NULL);
+ sn5s330_emul_peek_reg(emul, SN5S330_FUNC_SET2, &func_set2_reg);
+ zassert_not_equal(func_set2_reg & SN5S330_SBU_EN, 0, NULL);
+
+ /* Verify driver disables SBU FET */
+ zassert_ok(sn5s330_drv.set_sbu(SN5S330_PORT, false), NULL);
+ sn5s330_emul_peek_reg(emul, SN5S330_FUNC_SET2, &func_set2_reg);
+ zassert_equal(func_set2_reg & SN5S330_SBU_EN, 0, NULL);
+}
+#else
+static void test_sn5s330_set_sbu(void)
+{
+ ztest_test_skip();
+}
+#endif /* CONFIG_USBC_PPC_SBU */
+
static void reset_sn5s330_state(void)
{
struct i2c_emul *i2c_emul = sn5s330_emul_to_i2c_emul(EMUL);
@@ -257,6 +282,9 @@ void test_suite_ppc_sn5s330(void)
{
ztest_test_suite(
ppc_sn5s330,
+ ztest_unit_test_setup_teardown(test_sn5s330_set_sbu,
+ reset_sn5s330_state,
+ reset_sn5s330_state),
ztest_unit_test_setup_teardown(
test_set_vbus_source_current_limit, reset_sn5s330_state,
reset_sn5s330_state),