summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZheng Bao <fishbaozi@gmail.com>2013-11-21 16:11:40 +0800
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2013-12-05 15:12:55 +0100
commitddf58ef844e06f338f40397d42f07657f021949f (patch)
tree73c3e6c781f2a225b0548ead6d96ac55457494c3
parentabd119d28fae43a98b75824c974519bec9100299 (diff)
downloadcoreboot-ddf58ef844e06f338f40397d42f07657f021949f.tar.xz
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> Reviewed-on: http://review.coreboot.org/4260 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
-rw-r--r--src/mainboard/amd/olivehill/acpi/sleep.asl6
-rw-r--r--src/mainboard/asrock/imb-a180/acpi/sleep.asl6
2 files changed, 12 insertions, 0 deletions
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) */