From ddf58ef844e06f338f40397d42f07657f021949f Mon Sep 17 00:00:00 2001 From: Zheng Bao Date: Thu, 21 Nov 2013 16:11:40 +0800 Subject: [PATCH] AMD Kabini: Add ACPI sleep/wakeup calls for southbridge The AML code of PTS and WAK for southbridge are in UINT8 AlibSsdtKB[], Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h. It was integrated into SSDT even it was called by nobody. The source ASL was provided by AGESA for reference, but it has been scrubbed when it was ported to Coreboot. Without the calls, Olive Hill can not wake up if it boots Windows. Both amd/olivehill and asrock/imb-a180 have been validated. Change-Id: Ia7bba29904dbd6f33fdb08bf88bb499005ef561b Signed-off-by: Zheng Bao Signed-off-by: Zheng Bao Reviewed-on: http://review.coreboot.org/4260 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc --- src/mainboard/amd/olivehill/acpi/sleep.asl | 6 ++++++ src/mainboard/asrock/imb-a180/acpi/sleep.asl | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/mainboard/amd/olivehill/acpi/sleep.asl b/src/mainboard/amd/olivehill/acpi/sleep.asl index dd0d9a41cc..fc04ecc2d5 100644 --- a/src/mainboard/amd/olivehill/acpi/sleep.asl +++ b/src/mainboard/amd/olivehill/acpi/sleep.asl @@ -36,6 +36,10 @@ Name(WKST,Package(){Zero, Zero}) * the ACPI driver. This method cannot modify the configuration or power * state of any device in the system. */ + +External(\_SB.APTS, MethodObj) +External(\_SB.AWAK, MethodObj) + Method(_PTS, 1) { /* DBGO("\\_PTS\n") */ /* DBGO("From S0 to S") */ @@ -46,6 +50,7 @@ Method(_PTS, 1) { Store(0, Index(WKST,0)) Store(0, Index(WKST,1)) Store(7, UPWS) + \_SB.APTS(Arg0) } /* End Method(\_PTS) */ /* @@ -84,6 +89,7 @@ Method(\_WAK, 1) { /* DBGO("From S") */ /* DBGO(Arg0) */ /* DBGO(" to S0\n") */ + \_SB.AWAK(Arg0) Return(WKST) } /* End Method(\_WAK) */ diff --git a/src/mainboard/asrock/imb-a180/acpi/sleep.asl b/src/mainboard/asrock/imb-a180/acpi/sleep.asl index dd0d9a41cc..fc04ecc2d5 100644 --- a/src/mainboard/asrock/imb-a180/acpi/sleep.asl +++ b/src/mainboard/asrock/imb-a180/acpi/sleep.asl @@ -36,6 +36,10 @@ Name(WKST,Package(){Zero, Zero}) * the ACPI driver. This method cannot modify the configuration or power * state of any device in the system. */ + +External(\_SB.APTS, MethodObj) +External(\_SB.AWAK, MethodObj) + Method(_PTS, 1) { /* DBGO("\\_PTS\n") */ /* DBGO("From S0 to S") */ @@ -46,6 +50,7 @@ Method(_PTS, 1) { Store(0, Index(WKST,0)) Store(0, Index(WKST,1)) Store(7, UPWS) + \_SB.APTS(Arg0) } /* End Method(\_PTS) */ /* @@ -84,6 +89,7 @@ Method(\_WAK, 1) { /* DBGO("From S") */ /* DBGO(Arg0) */ /* DBGO(" to S0\n") */ + \_SB.AWAK(Arg0) Return(WKST) } /* End Method(\_WAK) */