summaryrefslogtreecommitdiff
path: root/src/ec
diff options
context:
space:
mode:
authorSubrata Banik <subratabanik@google.com>2024-09-13 21:01:30 +0530
committerSubrata Banik <subratabanik@google.com>2024-09-14 18:13:18 +0000
commit3d5412f8d4ad2cd3c873a46d8f6fb6a20c5f9ad6 (patch)
tree3097fafeeb5622f737a99834d76abddc0c4dc8d0 /src/ec
parent8560c7197a24c7fa7802840b3dd7da0bfa16f34c (diff)
ec/google/chromeec: Add option to control reading long battery strings
Older ChromeOS devices (pre-CR50) do not support reading long battery strings. This commit adds a Kconfig option, EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING, to enable or disable this feature. This allows devices with TPM_GOOGLE (CR50/TI50) to read and display long battery strings, while older devices like google/link, wolf, samus, and chell will continue to display only the first 8 characters. This change ensures compatibility with older devices while enabling the display of complete battery information on newer platforms. BUG=b:366338622 TEST=Verified on google/tivviks_ufs: * Long battery string is displayed when EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING is enabled. * Short battery string is displayed when EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING=n. Change-Id: I7859809278b7e926bbe8beb1a0a9e12c7e6c220d Signed-off-by: Subrata Banik <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84352 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Caveh Jalali <caveh@chromium.org>
Diffstat (limited to 'src/ec')
-rw-r--r--src/ec/google/chromeec/Kconfig15
-rw-r--r--src/ec/google/chromeec/acpi/battery.asl5
2 files changed, 19 insertions, 1 deletions
diff --git a/src/ec/google/chromeec/Kconfig b/src/ec/google/chromeec/Kconfig
index 7a8777fbdb..f0418ff16e 100644
--- a/src/ec/google/chromeec/Kconfig
+++ b/src/ec/google/chromeec/Kconfig
@@ -152,6 +152,21 @@ config EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL
help
Put the fan in auto mode at boot.
+config EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING
+ depends on TPM_GOOGLE
+ bool
+ default y
+ help
+ The Chrome EC currently supports two ways to read battery strings on
+ ACPI platforms:
+
+ * Read up to 8 bytes from EC shared memory BMFG, BMOD, ...
+ * Send a EC_CMD_BATTERY_GET_STATIC host command and read longer strings as a response.
+
+ Select this config to support readout of longer battery strings.
+
+ If unsure, say N.
+
endif # EC_GOOGLE_CHROMEEC
source "src/ec/google/chromeec/*/Kconfig"
diff --git a/src/ec/google/chromeec/acpi/battery.asl b/src/ec/google/chromeec/acpi/battery.asl
index f5047cbfd7..30fe0fce62 100644
--- a/src/ec/google/chromeec/acpi/battery.asl
+++ b/src/ec/google/chromeec/acpi/battery.asl
@@ -54,9 +54,12 @@ Method (BSTA, 1, Serialized)
Return (Local0)
}
+#if CONFIG(EC_GOOGLE_CHROMEEC_READ_BATTERY_LONG_STRING)
// Cached flag for BSRF FIFO readout support from EC.
Name(BRSS, 0xff)
-
+#else
+Name(BRSS, 0x0)
+#endif
// Read extended battery strings from the selected battery.
// Arg0 = string index
//