summaryrefslogtreecommitdiff
path: root/src/ec
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
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')
-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
}