summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwen zhang <zhangwen6@huaqin.corp-partner.google.com>2023-05-12 01:29:00 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-05-11 19:38:10 +0000
commit76d2b9b1e47ba721d83ada33f18a1aab28a80ea7 (patch)
tree65b93d9e21ea9062d0a37bc530dbca23efc667e4
parent3d5b996f731dc2697f1ea97a68f06f8493863912 (diff)
downloadchrome-ec-76d2b9b1e47ba721d83ada33f18a1aab28a80ea7.tar.gz
battery: Deprecate CONFIG_BATTERY_LEVEL_NEAR_FULL
Atlas, coral, corori, eve, morphius, primus, and rammus are setting CONFIG_BATTERY_LEVEL_NEAR_FULL to custom values. This causes their LEDs show 'full' while the display battery percentages are still < 100%. We'll make these boards define CONFIG_BATT_HOST_FULL_FACTOR, instead. And fix LED dts for some zephyr projects. BUG=b:280818345 TEST=build pass Change-Id: I98f97798ea99cc812671d5b31d64e92d55a1e05a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4523043 Commit-Queue: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Tested-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--baseboard/kukui/charger_mt6370.c6
-rw-r--r--board/atlas/board.h3
-rw-r--r--board/coral/board.h3
-rw-r--r--board/corori/board.h3
-rw-r--r--board/eve/board.h3
-rw-r--r--board/homestar/led.c2
-rw-r--r--board/morphius/board.h3
-rw-r--r--board/mrbland/led.c2
-rw-r--r--board/nautilus/led.c2
-rw-r--r--board/primus/board.h3
-rw-r--r--board/rammus/board.h3
-rw-r--r--board/rammus/led.c2
-rw-r--r--board/scarlet/battery.c6
-rw-r--r--board/scarlet/led.c2
-rw-r--r--board/wormdingler/led.c2
-rw-r--r--common/charge_state_v2.c2
-rw-r--r--common/charger_base.c2
-rw-r--r--include/battery.h7
-rw-r--r--include/config.h6
-rw-r--r--util/config_allowed.txt1
-rw-r--r--zephyr/include/dt-bindings/battery.h1
-rw-r--r--zephyr/program/corsola/magikarp/project.overlay6
-rw-r--r--zephyr/program/corsola/tentacruel/project.overlay6
-rw-r--r--zephyr/program/corsola/voltorb/project.overlay15
-rw-r--r--zephyr/program/nissa/uldren/led_policy.dtsi2
-rw-r--r--zephyr/program/nissa/xivu/led_policy.dtsi4
-rw-r--r--zephyr/program/skyrim/frostflow/led_policy.dtsi4
27 files changed, 49 insertions, 52 deletions
diff --git a/baseboard/kukui/charger_mt6370.c b/baseboard/kukui/charger_mt6370.c
index d3b8cb10ef..c4300c5552 100644
--- a/baseboard/kukui/charger_mt6370.c
+++ b/baseboard/kukui/charger_mt6370.c
@@ -330,14 +330,14 @@ void mt6370_charger_profile_override(struct charge_state_data *curr)
/*
* When the charger says it's done charging, even if fuel gauge says
- * SOC < BATTERY_LEVEL_NEAR_FULL, we'll overwrite SOC with
- * BATTERY_LEVEL_NEAR_FULL. So we can ensure both Chrome OS UI
+ * SOC < CONFIG_BATT_HOST_FULL_FACTOR, we'll overwrite SOC with
+ * CONFIG_BATT_HOST_FULL_FACTOR. So we can ensure both Chrome OS UI
* and battery LED indicate full charge.
*
* Enable this hack on on-board gauge only (b/142097561)
*/
if (IS_ENABLED(CONFIG_BATTERY_MAX17055) && rt946x_is_charge_done()) {
- curr->batt.state_of_charge = MAX(BATTERY_LEVEL_NEAR_FULL,
+ curr->batt.state_of_charge = MAX(CONFIG_BATT_HOST_FULL_FACTOR,
curr->batt.state_of_charge);
}
}
diff --git a/board/atlas/board.h b/board/atlas/board.h
index 144afda14c..bde6d3e07a 100644
--- a/board/atlas/board.h
+++ b/board/atlas/board.h
@@ -64,7 +64,8 @@
/* Battery */
#define CONFIG_BATTERY_CUT_OFF
#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 95
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 95
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_BATTERY_PRESENT_CUSTOM
#define CONFIG_BATTERY_SMART
diff --git a/board/coral/board.h b/board/coral/board.h
index 4b570db1e5..f5cc6bb706 100644
--- a/board/coral/board.h
+++ b/board/coral/board.h
@@ -49,7 +49,8 @@
#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
#define CONFIG_BATTERY_CUT_OFF
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 94
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 94
#define CONFIG_BATTERY_PRESENT_CUSTOM
#define CONFIG_BATTERY_SMART
diff --git a/board/corori/board.h b/board/corori/board.h
index 16628d4619..5db8be64cc 100644
--- a/board/corori/board.h
+++ b/board/corori/board.h
@@ -37,7 +37,8 @@
/* LED defines */
#define CONFIG_LED_COMMON
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 94
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 94
#define GPIO_BAT_LED_AMBER GPIO_LED_Y_ODL
#define GPIO_PWR_LED_WHITE GPIO_LED_W_ODL
diff --git a/board/eve/board.h b/board/eve/board.h
index a5cade1cc8..f72fd9b523 100644
--- a/board/eve/board.h
+++ b/board/eve/board.h
@@ -86,7 +86,8 @@
#define CONFIG_BATTERY_CRITICAL_SHUTDOWN_CUT_OFF
#define CONFIG_BATTERY_CUT_OFF
#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 94
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 94
#define CONFIG_BATTERY_PRESENT_CUSTOM
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_BATTERY_SMART
diff --git a/board/homestar/led.c b/board/homestar/led.c
index 438b2cae33..b1e819a92f 100644
--- a/board/homestar/led.c
+++ b/board/homestar/led.c
@@ -91,7 +91,7 @@ static void board_led_set_battery(void)
/* battery capa <= 5%, Red */
color = LED_RED;
} else if (percent > BATTERY_LEVEL_CRITICAL &&
- percent < BATTERY_LEVEL_NEAR_FULL) {
+ percent < CONFIG_BATT_HOST_FULL_FACTOR) {
/* 5% < battery capa < 97%, Orange */
color = LED_AMBER;
} else {
diff --git a/board/morphius/board.h b/board/morphius/board.h
index b430055930..ca3ecf4f03 100644
--- a/board/morphius/board.h
+++ b/board/morphius/board.h
@@ -23,7 +23,8 @@
#define CONFIG_ASSERT_CCD_MODE_ON_DTS_CONNECT
#undef CONFIG_LED_ONOFF_STATES
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 91
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 91
#undef ZORK_PS8818_RX_INPUT_TERM
#define ZORK_PS8818_RX_INPUT_TERM PS8818_RX_INPUT_TERM_85_OHM
diff --git a/board/mrbland/led.c b/board/mrbland/led.c
index 9cacb4e3f3..d2ef61f5c4 100644
--- a/board/mrbland/led.c
+++ b/board/mrbland/led.c
@@ -110,7 +110,7 @@ static void board_led_set_battery(void)
/* battery capa <= 5%, Red */
color = LED_RED;
} else if (percent > BATTERY_LEVEL_CRITICAL &&
- percent < BATTERY_LEVEL_NEAR_FULL) {
+ percent < CONFIG_BATT_HOST_FULL_FACTOR) {
/* 5% < battery capa < 97%, Orange */
color = LED_AMBER;
} else {
diff --git a/board/nautilus/led.c b/board/nautilus/led.c
index 59d9b70d10..92e2dd6e8c 100644
--- a/board/nautilus/led.c
+++ b/board/nautilus/led.c
@@ -91,7 +91,7 @@ static void nautilus_led_set_power_battery(void)
switch (chg_state) {
case PWR_STATE_DISCHARGE:
if ((charge_get_flags() & CHARGE_FLAG_EXTERNAL_POWER) &&
- charge_percent >= BATTERY_LEVEL_NEAR_FULL)
+ charge_percent >= CONFIG_BATT_HOST_FULL_FACTOR)
cur_led_color = LED_GREEN;
else
cur_led_color = LED_OFF;
diff --git a/board/primus/board.h b/board/primus/board.h
index 7346acc2ab..3fb8b868c6 100644
--- a/board/primus/board.h
+++ b/board/primus/board.h
@@ -131,7 +131,8 @@
#define CONFIG_STEINHART_HART_3V3_30K9_47K_4050B
/* LED */
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 91
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 91
/* Fan features */
#define CONFIG_CUSTOM_FAN_CONTROL
diff --git a/board/rammus/board.h b/board/rammus/board.h
index 096d419fe9..bfe8f75e53 100644
--- a/board/rammus/board.h
+++ b/board/rammus/board.h
@@ -75,7 +75,8 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
#define CONFIG_BATTERY_SMART
-#define CONFIG_BATTERY_LEVEL_NEAR_FULL 94
+#undef CONFIG_BATT_HOST_FULL_FACTOR
+#define CONFIG_BATT_HOST_FULL_FACTOR 94
/* Charger */
#define CONFIG_CHARGE_MANAGER
diff --git a/board/rammus/led.c b/board/rammus/led.c
index 6526ab0cea..e9b7edec7f 100644
--- a/board/rammus/led.c
+++ b/board/rammus/led.c
@@ -131,7 +131,7 @@ static void rammus_led_set_battery(void)
switch (chg_state) {
case PWR_STATE_DISCHARGE:
if ((charge_get_flags() & CHARGE_FLAG_EXTERNAL_POWER) &&
- charge_percent >= BATTERY_LEVEL_NEAR_FULL)
+ charge_percent >= CONFIG_BATT_HOST_FULL_FACTOR)
config_battery_led(LED_STATE_FULL);
else
config_battery_led(LED_STATE_DISCHARGE);
diff --git a/board/scarlet/battery.c b/board/scarlet/battery.c
index 5d4412f66c..f38e1f7896 100644
--- a/board/scarlet/battery.c
+++ b/board/scarlet/battery.c
@@ -243,12 +243,12 @@ int charger_profile_override(struct charge_state_data *curr)
/*
* When the charger says it's done charging, even if fuel gauge says
- * SOC < BATTERY_LEVEL_NEAR_FULL, we'll overwrite SOC with
- * BATTERY_LEVEL_NEAR_FULL. So we can ensure both Chrome OS UI
+ * SOC < CONFIG_BATT_HOST_FULL_FACTOR, we'll overwrite SOC with
+ * CONFIG_BATT_HOST_FULL_FACTOR. So we can ensure both Chrome OS UI
* and battery LED indicate full charge.
*/
if (rt946x_is_charge_done()) {
- curr->batt.state_of_charge = MAX(BATTERY_LEVEL_NEAR_FULL,
+ curr->batt.state_of_charge = MAX(CONFIG_BATT_HOST_FULL_FACTOR,
curr->batt.state_of_charge);
/*
* This is a workaround for b:78792296. When AP is off and
diff --git a/board/scarlet/led.c b/board/scarlet/led.c
index c550d3bad9..f4a3bae9f4 100644
--- a/board/scarlet/led.c
+++ b/board/scarlet/led.c
@@ -74,7 +74,7 @@ static void scarlet_led_set_battery(void)
else if (charge_get_percent() < 10)
bat_led_set_color((battery_second & 3) ? LED_OFF :
LED_AMBER);
- else if (charge_get_percent() >= BATTERY_LEVEL_NEAR_FULL &&
+ else if (charge_get_percent() >= CONFIG_BATT_HOST_FULL_FACTOR &&
(chflags & CHARGE_FLAG_EXTERNAL_POWER))
bat_led_set_color(LED_GREEN);
else
diff --git a/board/wormdingler/led.c b/board/wormdingler/led.c
index 438b2cae33..b1e819a92f 100644
--- a/board/wormdingler/led.c
+++ b/board/wormdingler/led.c
@@ -91,7 +91,7 @@ static void board_led_set_battery(void)
/* battery capa <= 5%, Red */
color = LED_RED;
} else if (percent > BATTERY_LEVEL_CRITICAL &&
- percent < BATTERY_LEVEL_NEAR_FULL) {
+ percent < CONFIG_BATT_HOST_FULL_FACTOR) {
/* 5% < battery capa < 97%, Orange */
color = LED_AMBER;
} else {
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c
index 1942c1a135..928c600c16 100644
--- a/common/charge_state_v2.c
+++ b/common/charge_state_v2.c
@@ -1727,7 +1727,7 @@ bool charge_prevent_power_on(bool power_button_pressed)
static int battery_near_full(void)
{
- if (charge_get_percent() < BATTERY_LEVEL_NEAR_FULL)
+ if (charge_get_percent() < CONFIG_BATT_HOST_FULL_FACTOR)
return 0;
if (IS_ENABLED(CONFIG_EC_EC_COMM_BATTERY_CLIENT) &&
diff --git a/common/charger_base.c b/common/charger_base.c
index 74a45bb5ea..c2f49dcf21 100644
--- a/common/charger_base.c
+++ b/common/charger_base.c
@@ -666,7 +666,7 @@ void charger_base_show_charge(void)
bool charger_base_charge_near_full(void)
{
- if (charge_base > -1 && charge_base < BATTERY_LEVEL_NEAR_FULL)
+ if (charge_base > -1 && charge_base < CONFIG_BATT_HOST_FULL_FACTOR)
return false;
return true;
diff --git a/include/battery.h b/include/battery.h
index 0daa6205a7..23d9352643 100644
--- a/include/battery.h
+++ b/include/battery.h
@@ -25,13 +25,6 @@
/* Stop charge when charging and battery level >= this percentage */
#define BATTERY_LEVEL_FULL 100
-/* Tell host we're charged when battery level >= this percentage */
-#ifdef CONFIG_BATTERY_LEVEL_NEAR_FULL
-#define BATTERY_LEVEL_NEAR_FULL CONFIG_BATTERY_LEVEL_NEAR_FULL
-#else
-#define BATTERY_LEVEL_NEAR_FULL 97
-#endif
-
/*
* Send battery-low host event when discharging and battery level <= this level
*/
diff --git a/include/config.h b/include/config.h
index 152f0bc126..a3a2edb1ed 100644
--- a/include/config.h
+++ b/include/config.h
@@ -631,12 +631,6 @@
#define CONFIG_BATTERY_LOW_VOLTAGE_TIMEOUT (30 * 60 * SECOND)
/*
- * Specify the battery percentage at which the host is told it is full.
- * If this value is not specified the default is 97% set in battery.h.
- */
-#undef CONFIG_BATTERY_LEVEL_NEAR_FULL
-
-/*
* Use memory mapped region to store battery information. It supports only
* single battery systems. V2 should be used unless there is a reason not to.
*/
diff --git a/util/config_allowed.txt b/util/config_allowed.txt
index a469d0c156..e29d35f848 100644
--- a/util/config_allowed.txt
+++ b/util/config_allowed.txt
@@ -79,7 +79,6 @@ CONFIG_BATTERY_BQ27621
CONFIG_BATTERY_BQ4050
CONFIG_BATTERY_CRITICAL_SHUTDOWN_TIMEOUT
CONFIG_BATTERY_CUTOFF_DELAY_US
-CONFIG_BATTERY_LEVEL_NEAR_FULL
CONFIG_BATTERY_LOW_VOLTAGE_PROTECTION
CONFIG_BATTERY_LOW_VOLTAGE_TIMEOUT
CONFIG_BATTERY_MAX17055
diff --git a/zephyr/include/dt-bindings/battery.h b/zephyr/include/dt-bindings/battery.h
index 24ffb2082c..af7ee8aa11 100644
--- a/zephyr/include/dt-bindings/battery.h
+++ b/zephyr/include/dt-bindings/battery.h
@@ -14,7 +14,6 @@
#define BATTERY_LEVEL_SHUTDOWN 3
#define BATTERY_LEVEL_CRITICAL 5
#define BATTERY_LEVEL_LOW 10
-#define BATTERY_LEVEL_NEAR_FULL 97
#define BATTERY_LEVEL_FULL 100
/* Battery status */
diff --git a/zephyr/program/corsola/magikarp/project.overlay b/zephyr/program/corsola/magikarp/project.overlay
index 3628f6770d..349e066f07 100644
--- a/zephyr/program/corsola/magikarp/project.overlay
+++ b/zephyr/program/corsola/magikarp/project.overlay
@@ -224,8 +224,7 @@
bat-power-state-charge {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= Empty, <= 94%) */
- batt-lvl = <BATTERY_LEVEL_EMPTY
- (BATTERY_LEVEL_NEAR_FULL - 3)>;
+ batt-lvl = <BATTERY_LEVEL_EMPTY 94>;
color-0 {
led-color = <&color_battery_amber>;
};
@@ -234,8 +233,7 @@
bat-power-state-charge-near-full {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= 95%, <= Full) */
- batt-lvl = <(BATTERY_LEVEL_NEAR_FULL - 2)
- BATTERY_LEVEL_FULL>;
+ batt-lvl = <95 BATTERY_LEVEL_FULL>;
color-0 {
led-color = <&color_battery_white>;
};
diff --git a/zephyr/program/corsola/tentacruel/project.overlay b/zephyr/program/corsola/tentacruel/project.overlay
index 79e8f4a05b..e23d3561e8 100644
--- a/zephyr/program/corsola/tentacruel/project.overlay
+++ b/zephyr/program/corsola/tentacruel/project.overlay
@@ -270,8 +270,7 @@
bat-power-state-charge {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= Empty, <= 94%) */
- batt-lvl = <BATTERY_LEVEL_EMPTY
- (BATTERY_LEVEL_NEAR_FULL - 3)>;
+ batt-lvl = <BATTERY_LEVEL_EMPTY 94>;
color-0 {
led-color = <&color_battery_amber>;
};
@@ -280,8 +279,7 @@
bat-power-state-charge-near-full {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= 95%, <= Full) */
- batt-lvl = <(BATTERY_LEVEL_NEAR_FULL - 2)
- BATTERY_LEVEL_FULL>;
+ batt-lvl = <95 BATTERY_LEVEL_FULL>;
color-0 {
led-color = <&color_battery_white>;
};
diff --git a/zephyr/program/corsola/voltorb/project.overlay b/zephyr/program/corsola/voltorb/project.overlay
index 7ae230a47e..e5c5df3ab7 100644
--- a/zephyr/program/corsola/voltorb/project.overlay
+++ b/zephyr/program/corsola/voltorb/project.overlay
@@ -81,17 +81,26 @@
compatible = "cros-ec,led-policy";
/* Voltorb LED bat charge */
- bat-power-state-charge {
+ bat-power-state-charge-lvl-1 {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= Empty, <= 96%) */
- batt-lvl = <BATTERY_LEVEL_EMPTY
- (BATTERY_LEVEL_NEAR_FULL - 1)>;
+ batt-lvl = <BATTERY_LEVEL_EMPTY 96>;
color-0 {
led-color = <&color_amber>;
};
};
+ bat-power-state-charge-lvl-2 {
+ charge-state = "PWR_STATE_CHARGE";
+ /* Battery percent range (>= 97, <= 100%) */
+ batt-lvl = <97 100>;
+
+ color-0 {
+ led-color = <&color_blue>;
+ };
+ };
+
/* Voltorb LED bat charge near full */
bat-power-state-charge-near-full {
charge-state = "PWR_STATE_CHARGE_NEAR_FULL";
diff --git a/zephyr/program/nissa/uldren/led_policy.dtsi b/zephyr/program/nissa/uldren/led_policy.dtsi
index 95c614cafc..afc4e25f71 100644
--- a/zephyr/program/nissa/uldren/led_policy.dtsi
+++ b/zephyr/program/nissa/uldren/led_policy.dtsi
@@ -7,7 +7,7 @@
power-state-charge {
charge-state = "PWR_STATE_CHARGE";
batt-lvl = <BATTERY_LEVEL_EMPTY
- BATTERY_LEVEL_NEAR_FULL>;
+ BATTERY_LEVEL_FULL>;
color-0 {
led-color = <&color_white>;
diff --git a/zephyr/program/nissa/xivu/led_policy.dtsi b/zephyr/program/nissa/xivu/led_policy.dtsi
index 562e361ec5..598480f865 100644
--- a/zephyr/program/nissa/xivu/led_policy.dtsi
+++ b/zephyr/program/nissa/xivu/led_policy.dtsi
@@ -14,8 +14,8 @@
power-state-charge-lvl-2 {
charge-state = "PWR_STATE_CHARGE";
- /* Battery percent range (>= 95%, <= Near Full) */
- batt-lvl = <95 97>;
+ /* Battery percent range (>= 95%, <= 100%) */
+ batt-lvl = <95 100>;
color-0 {
led-color = <&color_white>;
diff --git a/zephyr/program/skyrim/frostflow/led_policy.dtsi b/zephyr/program/skyrim/frostflow/led_policy.dtsi
index 28e33219a0..178ba9085a 100644
--- a/zephyr/program/skyrim/frostflow/led_policy.dtsi
+++ b/zephyr/program/skyrim/frostflow/led_policy.dtsi
@@ -14,8 +14,8 @@
power-state-charge-lvl-2 {
charge-state = "PWR_STATE_CHARGE";
- /* Battery percent range (>= 95%, <= Near Full) */
- batt-lvl = <95 97>;
+ /* Battery percent range (>= 95%, <= 100%) */
+ batt-lvl = <95 100>;
color-0 {
led-color = <&color_white>;