From 7b0239d8cad8160109d5eb5ddcfb0833124166a3 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Sat, 5 Mar 2022 10:39:22 +0000 Subject: 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 Change-Id: Iabeec47bf492b698f95d86aa2d08ba9caedd75f6 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62607 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/ec/starlabs/merlin') diff --git a/src/ec/starlabs/merlin/acpi/suspend.asl b/src/ec/starlabs/merlin/acpi/suspend.asl index 81ae8d14f3..0f1c27c210 100644 --- a/src/ec/starlabs/merlin/acpi/suspend.asl +++ b/src/ec/starlabs/merlin/acpi/suspend.asl @@ -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 -- cgit v1.2.3