Attention is currently required from: Boris Mittelberg, Brandon Breitenstein, Caveh Jalali, Hannah Williams, Jamie Ryu, Kapil Porwal, Subrata Banik, Sukumar Ghorai.
Tim Van Patten has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/78321?usp=email )
Change subject: ec/google/chromeec: Add read_battery_status to get dynamic battery flags ......................................................................
Patch Set 4:
(1 comment)
File src/ec/google/chromeec/ec.c:
https://review.coreboot.org/c/coreboot/+/78321/comment/db00413c_f195149e : PS4, Line 1543: if (ec_cmd_battery_get_dynamic(PLAT_EC, &dynamic_p, &dynamic_r) != 0)
We only care if the Battery is cutoff right? If the battery is in low battery state it would still register information here
Recognizing a critically low battery is also required, because a battery with 0% charge is effectively useless, since it can't supply the required power to fill the gaps the CPU requires but charger is unable to provide.
if we decide to get fancy about this, we could even pop up a firmware screen
stating that we're booting in degraded mode.
I'm not sure how beneficial this is to anyone, especially since the low power mode should resolve itself fairly quickly for normal users. Specifically, normal users will only see this when the battery charge is below "critical", and requires that the device is plugged into a charger. A battery should charge past critical (currently 4%) fairly quickly (<10min). So, we'd display a message to the user stating their device is degraded, with no way to tell them the device is no longer in low power mode, even though it would only be in the low power state for a few minutes.
It also requires developer mode to be enabled, which is an even smaller population of people, and the 'degraded' mode may have resolved itself by the time we get to depthcharge if the battery was just barely below critical.
For devices with no battery, or battery cutoff enabled, those are (very) likely not end-users, and instead know what they're doing and the associate consequences.
A special screen would increase complexity, translations, etc. without a tangible benefit, and would be a worse user experience, in my opinion.