diff options
author | Subrata Banik <subratabanik@google.com> | 2024-09-13 21:01:30 +0530 |
---|---|---|
committer | Subrata Banik <subratabanik@google.com> | 2024-09-14 18:13:18 +0000 |
commit | 3d5412f8d4ad2cd3c873a46d8f6fb6a20c5f9ad6 (patch) | |
tree | 3097fafeeb5622f737a99834d76abddc0c4dc8d0 /src/ec | |
parent | 8560c7197a24c7fa7802840b3dd7da0bfa16f34c (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/Kconfig | 15 | ||||
-rw-r--r-- | src/ec/google/chromeec/acpi/battery.asl | 5 |
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 // |