ec/starlabs/merlin: Don't report a battery capacity higher than design capacity

If B1FC (Battery Full Capacity) is higher than B1DC (Battery Design
Capacity), only report the design capacity. This handles cases where
the battery calibration is incorrect, and the battery runs out before
the OS thinks it's empty.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Ib3e4769c809b69e0a237b5f043e6c41c12d53752
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62514
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Sean Rhodes 2022-03-02 08:55:22 +00:00 committed by Felix Held
parent 3b9077af71
commit af4bac9e50
1 changed files with 3 additions and 0 deletions

View File

@ -34,6 +34,9 @@ Device (BAT0)
Method (_BIF, 0, Serialized) Method (_BIF, 0, Serialized)
{ {
BPKG[1] = B1DC BPKG[1] = B1DC
If (B1FC >= B1DC) {
B1FC = B1DC
}
BPKG[2] = B1FC BPKG[2] = B1FC
BPKG[4] = B1DV BPKG[4] = B1DV
If (B1FC) If (B1FC)