ec/starlabs: Write the correct value for TPLE when suspending

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

Switch argument will write the correct value, and prevent the setting
being reset.

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

View File

@ -82,7 +82,21 @@ Method (RWAK, 1, Serialized)
\_SB.PCI0.LPCB.EC.OSFG = 0x01
/* Restore EC settings from CMOS */
\_SB.PCI0.LPCB.EC.TPLE = \_SB.PCI0.LPCB.TPLC
Switch (ToInteger (\_SB.PCI0.LPCB.TPLC))
{
// 0x00 == Enabled == 0x00
// 0x00 == Re-enabled == 0x11
// 0x01 == Disabled == 0x22
Case (0x00)
{
\_SB.PCI0.LPCB.EC.TPLE = 0x00
}
Case (0x01)
{
\_SB.PCI0.LPCB.EC.TPLE = 0x22
}
}
\_SB.PCI0.LPCB.EC.FLKE = \_SB.PCI0.LPCB.FLKC
\_SB.PCI0.LPCB.EC.KLSE = \_SB.PCI0.LPCB.KLSC
\_SB.PCI0.LPCB.EC.KLBE = \_SB.PCI0.LPCB.KLBC