ec/starlabs: Store the correct value for KLBE when suspending

The current code will read the raw value from the EC, which doesn't
match the respective setting in CMOS.

Switch argument will store the correct value.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Change-Id: Ic2a83df9a270de6d7bab295e732a6c13accbe17c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62606
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Sean Rhodes 2022-03-05 10:31:27 +00:00 committed by Felix Held
parent f58134b4ca
commit 141e6fd245
1 changed files with 23 additions and 2 deletions

View File

@ -41,8 +41,29 @@ Method (RPTS, 1, Serialized)
}
}
\_SB.PCI0.LPCB.KLBC =
\_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.KLBE))
Switch (ToInteger (\_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.KLBE))))
{
// 0xdd == On == 0x00
// 0xcc == Off == 0x01
// 0xbb == Low == 0x02
// 0xaa == High == 0x03
Case (0xdd)
{
\_SB.PCI0.LPCB.KLBC = 0x00
}
Case (0xcc)
{
\_SB.PCI0.LPCB.KLBC = 0x01
}
Case (0xbb)
{
\_SB.PCI0.LPCB.KLBC = 0x02
}
Case (0xaa)
{
\_SB.PCI0.LPCB.KLBC = 0x03
}
}
}
/*