From 40455e94781c032906d04cb5326f095e1ecc2de9 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Sat, 5 Mar 2022 10:43:16 +0000 Subject: ec/starlabs: Write the correct value for KLSE 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 Change-Id: I93444cdb96eaf729630b48551d0853511b584634 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62608 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/ec/starlabs/merlin/acpi/suspend.asl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ec/starlabs/merlin/acpi/suspend.asl b/src/ec/starlabs/merlin/acpi/suspend.asl index 0f1c27c210..c65ca6d9a5 100644 --- a/src/ec/starlabs/merlin/acpi/suspend.asl +++ b/src/ec/starlabs/merlin/acpi/suspend.asl @@ -98,6 +98,20 @@ Method (RWAK, 1, Serialized) } \_SB.PCI0.LPCB.EC.FLKE = \_SB.PCI0.LPCB.FLKC - \_SB.PCI0.LPCB.EC.KLSE = \_SB.PCI0.LPCB.KLSC + + Switch (ToInteger (\_SB.PCI0.LPCB.KLSC)) + { + // 0x00 == Disabled == 0x00 + // 0x01 == Enabled == 0xdd + Case (0x00) + { + \_SB.PCI0.LPCB.EC.KLSE = 0x00 + } + Case (0x01) + { + \_SB.PCI0.LPCB.EC.KLSE = 0xdd + } + } + \_SB.PCI0.LPCB.EC.KLBE = \_SB.PCI0.LPCB.KLBC } -- cgit v1.2.3