summaryrefslogtreecommitdiff
path: root/zephyr/test
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2021-11-30 14:12:06 -0700
committerCommit Bot <commit-bot@chromium.org>2021-12-01 18:07:59 +0000
commitb14d1d984feab126c12c5be35f279c74949a492c (patch)
tree651105b44ab8d7597effc0775ef43675a5587c6f /zephyr/test
parent2dd48d46985ad2ee76d5e6a324893c782a95e889 (diff)
downloadchrome-ec-b14d1d984feab126c12c5be35f279c74949a492c.tar.gz
zephyr: test: verify sn5s330 vbus_discharge func
Verify sn5s330 driver api for enabling discharge through VBUS. BRANCH=none BUG=b:203364783 TEST=zmake configure --test test-drivers Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: I4ef282f5f461cb17aa83a99cde3b8b8cdabf769d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3309367 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Diffstat (limited to 'zephyr/test')
-rw-r--r--zephyr/test/drivers/src/ppc_sn5s330.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/ppc_sn5s330.c b/zephyr/test/drivers/src/ppc_sn5s330.c
index 0dbd7b26a9..d8072c2673 100644
--- a/zephyr/test/drivers/src/ppc_sn5s330.c
+++ b/zephyr/test/drivers/src/ppc_sn5s330.c
@@ -185,6 +185,23 @@ static void test_vbus_source_sink_enable(void)
zassert_equal(func_set3_reg & SN5S330_PP2_EN, 0, NULL);
}
+static void test_vbus_discharge(void)
+{
+ const struct emul *emul = EMUL;
+ uint8_t func_set3_reg;
+
+ zassert_ok(sn5s330_drv.init(SN5S330_PORT), NULL);
+
+ /* Test enable/disable VBUS discharging */
+ zassert_ok(sn5s330_drv.discharge_vbus(SN5S330_PORT, true), NULL);
+ sn5s330_emul_peek_reg(emul, SN5S330_FUNC_SET3, &func_set3_reg);
+ zassert_not_equal(func_set3_reg & SN5S330_VBUS_DISCH_EN, 0, NULL);
+
+ zassert_ok(sn5s330_drv.discharge_vbus(SN5S330_PORT, false), NULL);
+ sn5s330_emul_peek_reg(emul, SN5S330_FUNC_SET3, &func_set3_reg);
+ zassert_equal(func_set3_reg & SN5S330_VBUS_DISCH_EN, 0, NULL);
+}
+
static void reset_sn5s330_state(void)
{
struct i2c_emul *i2c_emul = sn5s330_emul_to_i2c_emul(EMUL);
@@ -198,6 +215,9 @@ void test_suite_ppc_sn5s330(void)
{
ztest_test_suite(
ppc_sn5s330,
+ ztest_unit_test_setup_teardown(test_vbus_discharge,
+ reset_sn5s330_state,
+ reset_sn5s330_state),
ztest_unit_test_setup_teardown(test_vbus_source_sink_enable,
reset_sn5s330_state,
reset_sn5s330_state),