diff options
author | Kyle Lin <kylelinck@google.com> | 2022-09-14 10:02:33 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-28 07:13:32 +0000 |
commit | a1501d7dafb8030f5c05bfab39a53c5f1e213eb2 (patch) | |
tree | 77d90b8abdde2d0ac270d917e2e8b61aacdcc6a9 | |
parent | 58bb9b518d23617f085b8ef539ac91c36ccc368c (diff) | |
download | chrome-ec-a1501d7dafb8030f5c05bfab39a53c5f1e213eb2.tar.gz |
yaviks: Detect the number of battery cells
Determine the default battery type by detecting the number of battery
cells at runtime.
Add the definition of default 3S battery.
BUG=b:242477985
BRANCH=none
TEST=verify on boards with different battery, AC only can power on system normally.
Change-Id: Ib3b18cf29c2d61c539266fdae084372606512be6
Signed-off-by: Kyle Lin <kylelinck@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891426
Tested-by: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Reviewed-by: Zhuohao Lee <zhuohao@chromium.org>
-rw-r--r-- | zephyr/projects/nissa/yaviks/overlay.dts | 6 | ||||
-rw-r--r-- | zephyr/projects/nissa/yaviks/src/charger.c | 18 |
2 files changed, 21 insertions, 3 deletions
diff --git a/zephyr/projects/nissa/yaviks/overlay.dts b/zephyr/projects/nissa/yaviks/overlay.dts index e9c80b7f0c..ac5d2af583 100644 --- a/zephyr/projects/nissa/yaviks/overlay.dts +++ b/zephyr/projects/nissa/yaviks/overlay.dts @@ -42,9 +42,6 @@ default_battery: cosmx { compatible = "cosmx,gh02047xl", "battery-smart"; }; - cosmx_si03058xl { - compatible = "cosmx,si03058xl", "battery-smart"; - }; dynapack_atl_gh02047xl { compatible = "dynapack,atl_gh02047xl", "battery-smart"; }; @@ -57,6 +54,9 @@ smp_highpower_gh02047xl { compatible = "smp,highpower_gh02047xl", "battery-smart"; }; + default_battery_3s:cosmx_si03058xl { + compatible = "cosmx,si03058xl", "battery-smart"; + }; smp_highpower_si03058xl { compatible = "smp,highpower_si03058xl", "battery-smart"; }; diff --git a/zephyr/projects/nissa/yaviks/src/charger.c b/zephyr/projects/nissa/yaviks/src/charger.c index 786bb1bd3c..9be2e685b0 100644 --- a/zephyr/projects/nissa/yaviks/src/charger.c +++ b/zephyr/projects/nissa/yaviks/src/charger.c @@ -12,6 +12,7 @@ #include "extpower.h" #include "usb_pd.h" #include "nissa_common.h" +#include "battery_fuel_gauge.h" LOG_MODULE_DECLARE(nissa, CONFIG_NISSA_LOG_LEVEL); @@ -54,3 +55,20 @@ __override void board_hibernate(void) LOG_INF("Charger(s) hibernated"); cflush(); } + +__override int board_get_default_battery_type(void) +{ + int type = DEFAULT_BATTERY_TYPE; + int cells; + + if (charger_get_battery_cells(CHARGER_PRIMARY, &cells) == EC_SUCCESS) { + if (cells == 3) + type = DEFAULT_BATTERY_TYPE_3S; + if (cells != 2 && cells != 3) + LOG_ERR("Unexpected number of cells"); + } else { + LOG_ERR("Failed to get default battery type"); + } + + return type; +} |