From 4465f66c26e456f529a00386db5862bef3483419 Mon Sep 17 00:00:00 2001 From: Abe Levkoy Date: Thu, 20 Jan 2022 15:09:40 -0700 Subject: zephyr test: Configure charging power in DTS Use the device tree to configure the battery's desired charging voltage and current. Do not modify the device parameters during the driver unit test. The battery charging voltage and current are not directly related to the VBUS voltage and current, so do not check that the charging voltage matches VBUS. BUG=b:213908743,b:213909940 TEST=zmake configure --test zephyr/test/drivers BRANCH=none Signed-off-by: Abe Levkoy Change-Id: I99ca3da7e49755587cd73347bb56f5e372e99d91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3405644 Reviewed-by: Denis Brockus --- zephyr/include/emul/emul_smart_battery.h | 1 + zephyr/test/drivers/overlay.dts | 3 +++ zephyr/test/drivers/src/integration_usb.c | 10 +++------- zephyr/test/drivers/src/smart.c | 4 ---- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/zephyr/include/emul/emul_smart_battery.h b/zephyr/include/emul/emul_smart_battery.h index b48f836d66..69425997a1 100644 --- a/zephyr/include/emul/emul_smart_battery.h +++ b/zephyr/include/emul/emul_smart_battery.h @@ -15,6 +15,7 @@ #include #include #include +#include /** * @brief Smart Battery emulator backend API diff --git a/zephyr/test/drivers/overlay.dts b/zephyr/test/drivers/overlay.dts index 783dddf863..3bad41dde4 100644 --- a/zephyr/test/drivers/overlay.dts +++ b/zephyr/test/drivers/overlay.dts @@ -638,6 +638,9 @@ label = "BATTERY"; cycle-count = <99>; version = "BATTERY_SPEC_VER_1_1_WITH_PEC"; + /* Real battery voltages are multiples of 4.4V. */ + desired-charg-volt = <5000>; + desired-charg-cur = <1000>; }; bma_emul: bma@18 { diff --git a/zephyr/test/drivers/src/integration_usb.c b/zephyr/test/drivers/src/integration_usb.c index 9bafad3341..14c524aa7e 100644 --- a/zephyr/test/drivers/src/integration_usb.c +++ b/zephyr/test/drivers/src/integration_usb.c @@ -161,15 +161,11 @@ static void test_attach_pd_charger(void) charge_params.cmd = CHARGE_STATE_CMD_GET_STATE; zassert_ok(host_command_process(&args), "Failed to get charge state"); zassert_true(charge_response.get_state.ac, "USB default but AC absent"); - /* - * TODO(b/213909940): This check will fail if test_suite_smart_battery - * has not been run previously. Figure out why and fix it. - */ - zassert_equal(charge_response.get_state.chg_voltage, 5000, - "USB default voltage %dmV", + zassert_true(charge_response.get_state.chg_voltage > 0, + "Battery charging voltage %dmV", charge_response.get_state.chg_voltage); zassert_true(charge_response.get_state.chg_current > 0, - "USB default current %dmA", + "Battery charging current %dmA", charge_response.get_state.chg_current); typec_params.port = 0; diff --git a/zephyr/test/drivers/src/smart.c b/zephyr/test/drivers/src/smart.c index 57e02eeff9..82a2fe3037 100644 --- a/zephyr/test/drivers/src/smart.c +++ b/zephyr/test/drivers/src/smart.c @@ -248,10 +248,6 @@ static void test_battery_get_params(void) emul = sbat_emul_get_ptr(BATTERY_ORD); bat = sbat_emul_get_bat_data(emul); - /* Battery wants to charge */ - bat->desired_charg_cur = 1000; - bat->desired_charg_volt = 5000; - /* Fail temperature read */ i2c_common_emul_set_read_fail_reg(emul, SB_TEMPERATURE); flags = BATT_FLAG_WANT_CHARGE | BATT_FLAG_RESPONSIVE | -- cgit v1.2.1