summaryrefslogtreecommitdiff
path: root/src/ec/starlabs/merlin
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2022-03-05 10:43:16 +0000
committerFelix Held <felix-coreboot@felixheld.de>2022-03-10 15:07:57 +0000
commit40455e94781c032906d04cb5326f095e1ecc2de9 (patch)
tree4038bf31870b3c1e215b695f0e5f81a82c7f84a3 /src/ec/starlabs/merlin
parent7b0239d8cad8160109d5eb5ddcfb0833124166a3 (diff)
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 <sean@starlabs.systems> Change-Id: I93444cdb96eaf729630b48551d0853511b584634 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62608 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/ec/starlabs/merlin')
-rw-r--r--src/ec/starlabs/merlin/acpi/suspend.asl16
1 files changed, 15 insertions, 1 deletions
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
}