Zheng Bao (zheng.bao@amd.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4260
-gerrit
commit 1e9c4f023ed0faab61d0abb2ee57b12c6f5f5c0a Author: Zheng Bao fishbaozi@gmail.com Date: Thu Nov 21 16:11:40 2013 +0800
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 zheng.bao@amd.com Signed-off-by: Zheng Bao fishbaozi@gmail.com --- 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 dd0d9a4..fc04ecc 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 dd0d9a4..fc04ecc 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) */