Sean Rhodes has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/62605 )
Change subject: ec/starlabs: Store the correct value for KLSE when suspending ......................................................................
ec/starlabs: Store the correct value for KLSE 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: I62e0fc3b6fcae72f2d8eacf37a390b4e4b1f0783 --- M src/ec/starlabs/merlin/acpi/suspend.asl 1 file changed, 25 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/05/62605/1
diff --git a/src/ec/starlabs/merlin/acpi/suspend.asl b/src/ec/starlabs/merlin/acpi/suspend.asl index 68f727a..e33201b 100644 --- a/src/ec/starlabs/merlin/acpi/suspend.asl +++ b/src/ec/starlabs/merlin/acpi/suspend.asl @@ -26,8 +26,31 @@
_SB.PCI0.LPCB.FLKC = _SB.PCI0.LPCB.EC.ECRD (RefOf (_SB.PCI0.LPCB.EC.FLKE)) - _SB.PCI0.LPCB.KLSC = - _SB.PCI0.LPCB.EC.ECRD (RefOf (_SB.PCI0.LPCB.EC.KLSE)) + + Switch (_SB.PCI0.LPCB.EC.ECRD (RefOf (_SB.PCI0.LPCB.EC.KLSE))) + { + // 0xdd == On == 0x00 + // 0xcc == Off == 0x01 + // 0xbb == Low == 0x02 + // 0xaa == High == 0x03 + Case (0xdd) + { + _SB.PCI0.LPCB.KLSC = 0x00 + } + Case (0xcc) + { + _SB.PCI0.LPCB.KLSC = 0x01 + } + Case (0xbb) + { + _SB.PCI0.LPCB.KLSC = 0x02 + } + Case (0xaa) + { + _SB.PCI0.LPCB.KLSC = 0x03 + } + } + _SB.PCI0.LPCB.KLBC = _SB.PCI0.LPCB.EC.ECRD (RefOf (_SB.PCI0.LPCB.EC.KLBE)) }