[coreboot-gerrit] Patch set updated for coreboot: 06dcd61 panther: Add ACPI code to support wake-on-lan

Matt DeVillier (matt.devillier@gmail.com) gerrit at coreboot.org
Sun Jun 15 02:51:29 CEST 2014


Matt DeVillier (matt.devillier at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5998

-gerrit

commit 06dcd6118893d175a6eff623c2be96401d9a3496
Author: Stefan Reinauer <reinauer at chromium.org>
Date:   Tue Jan 7 09:53:06 2014 -0800

    panther: Add ACPI code to support wake-on-lan
    
    There needs to be an ACPI linkage to provide the power resource
    needed to wake this device so the kernel will enable the SCI
    before going to suspend.
    
    A link is added for both NIC and WLAN, but it is only tested
    on the NIC.
    
    This is a forward port from Duncan's beltino patch.
    
    BUG=chrome-os-partner:24657
    BRANCH=panther
    TEST=build and boot on panther, suspend and wake with etherwake
    
    Change-Id: I2804d2e904e26d6e34f5a177f0dabc1aaa3f0288
    Signed-off-by: Matt DeVillier <matt.devillier at gmail.com>
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Reviewed-by: Stefan Reinauer <reinauer at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/181752
    Commit-Queue: Stefan Reinauer <reinauer at chromium.org>
    Tested-by: Stefan Reinauer <reinauer at chromium.org>
---
 src/mainboard/google/panther/acpi/mainboard.asl | 45 +++++++++++++++++++++++++
 src/mainboard/google/panther/dsdt.asl           |  4 ++-
 src/mainboard/google/panther/onboard.h          | 12 +++++++
 3 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/src/mainboard/google/panther/acpi/mainboard.asl b/src/mainboard/google/panther/acpi/mainboard.asl
index 59ed710..867c1e0 100644
--- a/src/mainboard/google/panther/acpi/mainboard.asl
+++ b/src/mainboard/google/panther/acpi/mainboard.asl
@@ -19,11 +19,56 @@
  * MA 02110-1301 USA
  */
 
+#include <mainboard/google/panther/onboard.h>
+
 Scope (\_SB)
 {
 	Device (PWRB)
 	{
 		Name(_HID, EisaId("PNP0C0C"))
 	}
+}
+
+/*
+ * LAN connected to Root Port 3, becomes Root Port 1 after coalesce
+ */
+Scope (\_SB.PCI0.RP01)
+{
+	Device (ETH0)
+	{
+		Name (_ADR, 0x00000000)
+		Name (_PRW, Package() { PANTHER_NIC_WAKE_GPIO, 3 })
+
+		Method (_DSW, 3, NotSerialized)
+		{
+			Store (PANTHER_NIC_WAKE_GPIO, Local0)
+
+			If (LEqual (Arg0, 1)) {
+				// Enable GPIO as wake source
+				\_SB.PCI0.LPCB.GWAK (Local0)
+			}
+		}
+	}
+}
 
+/*
+ * WLAN connected to Root Port 4, becomes Root Port 2 after coalesce
+ */
+Scope (\_SB.PCI0.RP02)
+{
+	Device (WLAN)
+	{
+		Name (_ADR, 0x00000000)
+		Name (_PRW, Package() { PANTHER_WLAN_WAKE_GPIO, 3 })
+
+		Method (_DSW, 3, NotSerialized)
+		{
+			Store (PANTHER_WLAN_WAKE_GPIO, Local0)
+
+			If (LEqual (Arg0, 1)) {
+				// Enable GPIO as wake source
+				\_SB.PCI0.LPCB.GWAK (Local0)
+			}
+		}
+	}
 }
diff --git a/src/mainboard/google/panther/dsdt.asl b/src/mainboard/google/panther/dsdt.asl
index 1316ebf..87076fe 100644
--- a/src/mainboard/google/panther/dsdt.asl
+++ b/src/mainboard/google/panther/dsdt.asl
@@ -31,7 +31,6 @@ DefinitionBlock(
 {
 	// Some generic macros
 	#include "acpi/platform.asl"
-	#include "acpi/mainboard.asl"
 
 	// global NVS and variables
 	#include <southbridge/intel/lynxpoint/acpi/globalnvs.asl>
@@ -50,6 +49,9 @@ DefinitionBlock(
 		}
 	}
 
+	// Mainboard devices
+	#include "acpi/mainboard.asl"
+
 	// Thermal handler
 	#include "acpi/thermal.asl"
 
diff --git a/src/mainboard/google/panther/onboard.h b/src/mainboard/google/panther/onboard.h
index 794dd8d..0b67017 100644
--- a/src/mainboard/google/panther/onboard.h
+++ b/src/mainboard/google/panther/onboard.h
@@ -1,4 +1,9 @@
+#ifndef __MAINBOARD_ONBOARD_H
+#define __MAINBOARD_ONBOARD_H
+
+#ifndef __ACPI__
 void lan_init(void);
+#endif
 
 /* defines for programming the MAC address */
 #define PANTHER_NIC_VENDOR_ID		0x10EC
@@ -7,3 +12,10 @@ void lan_init(void);
 /* 0x00: White LINK LED and Amber ACTIVE LED */
 #define PANTHER_NIC_LED_MODE		0x00
 
+/* NIC wake is GPIO 8 */
+#define PANTHER_NIC_WAKE_GPIO		8
+
+/* WLAN wake is GPIO 10 */
+#define PANTHER_WLAN_WAKE_GPIO		10
+
+#endif



More information about the coreboot-gerrit mailing list