[coreboot-gerrit] New patch to review for coreboot: kunimitsu: Enable wake-on-wifi

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Tue Sep 15 19:39:48 CET 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11651

-gerrit

commit d8823c134fbc0058352df8b7ebed0af8f25c30ad
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Tue Sep 8 16:28:21 2015 -0700

    kunimitsu: Enable wake-on-wifi
    
    - Assign GPE DW0 to GPP_B block
    - Enable GPP_B16 as ACPI_SCI for wake
    - Define PCIe WLAN device in ACPI with GPE0_DW0_16 for _PRW
    
    Note that current designs cannot wake from Deep S3 via wifi.
    
    BUG=chrome-os-partner:40635
    BRANCH=none
    TEST=emerge-kunimitsu coreboot
    
    Change-Id: I1fe15a5a9b3d868a0e4f1bfb102b69f024c3aa48
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: de9dfee840246866a8dcca2e1c42c0292e820529
    Original-Change-Id: I926d74b6bcf6d64c3db61ed23d7c17b51a98b052
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/298232
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/intel/kunimitsu/acpi/mainboard.asl | 13 +++++++++++++
 src/mainboard/intel/kunimitsu/devicetree.cb      |  2 +-
 src/mainboard/intel/kunimitsu/gpio.h             |  7 +++++--
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/mainboard/intel/kunimitsu/acpi/mainboard.asl b/src/mainboard/intel/kunimitsu/acpi/mainboard.asl
index dce1371..73193dd 100644
--- a/src/mainboard/intel/kunimitsu/acpi/mainboard.asl
+++ b/src/mainboard/intel/kunimitsu/acpi/mainboard.asl
@@ -58,6 +58,19 @@ Scope (\_SB.PCI0.LPCB)
 	#include <drivers/pc80/tpm/acpi/tpm.asl>
 }
 
+/*
+ * WLAN connected to Root Port 1
+ */
+Scope (\_SB.PCI0.RP01)
+{
+	Device (WLAN)
+	{
+		Name (_ADR, 0x00000000)
+		Name (_DDR, "Wireless LAN")
+		Name (_PRW, Package () { GPE_WLAN_WAKE, 3 })
+	}
+}
+
 Scope (\_SB.PCI0.I2C0)
 {
 	/* Touchscreen */
diff --git a/src/mainboard/intel/kunimitsu/devicetree.cb b/src/mainboard/intel/kunimitsu/devicetree.cb
index 4e99d68..21af62a 100644
--- a/src/mainboard/intel/kunimitsu/devicetree.cb
+++ b/src/mainboard/intel/kunimitsu/devicetree.cb
@@ -9,7 +9,7 @@ chip soc/intel/skylake
 	# Note that GPE events called out in ASL code rely on this
 	# route. i.e. If this route changes then the affected GPE
 	# offset bits also need to be changed.
-	register "gpe0_dw0" = "GPP_C"
+	register "gpe0_dw0" = "GPP_B"
 	register "gpe0_dw1" = "GPP_D"
 	register "gpe0_dw2" = "GPP_E"
 
diff --git a/src/mainboard/intel/kunimitsu/gpio.h b/src/mainboard/intel/kunimitsu/gpio.h
index 87380d2..1441738 100755
--- a/src/mainboard/intel/kunimitsu/gpio.h
+++ b/src/mainboard/intel/kunimitsu/gpio.h
@@ -39,12 +39,15 @@
 /* EC wake is LAN_WAKE# which is a special DeepSX wake pin */
 #define GPE_EC_WAKE		GPE0_LAN_WAK
 
+/* GPP_B16 is WLAN_WAKE. GPP_B group is routed to DW0 in the GPE0 block */
+#define GPE_WLAN_WAKE		GPE0_DW0_16
+
 /* Input device interrupt configuration */
 #define TOUCHPAD_INT_L		GPP_B3_IRQ
 #define TOUCHSCREEN_INT_L	GPP_E7_IRQ
 #define MIC_INT_L		GPP_F10_IRQ
 
-/* GPP_E16 is EC_SCI_L. GPP_E group is routed to dword 2 in the GPE0 block. */
+/* GPP_E16 is EC_SCI_L. GPP_E group is routed to DW2 in the GPE0 block */
 #define EC_SCI_GPI		GPE0_DW2_16
 #define EC_SMI_GPI		GPP_E15
 
@@ -91,7 +94,7 @@ static const struct pad_config gpio_table[] = {
 /* PCH_PLT_RST */	PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1),
 /* GPP_B_14_SPKR */	PAD_CFG_GPI(GPP_B14, NONE, DEEP),
 /* GSPI0_CS# */		/* GPP_B15 */
-/* WLAN_PCIE_WAKE */	PAD_CFG_GPI(GPP_B16, NONE, DEEP),
+/* WLAN_PCIE_WAKE */	PAD_CFG_GPI_ACPI_SCI(GPP_B16, NONE, DEEP, YES),
 /* SSD_PCIE_WAKE */	PAD_CFG_GPI(GPP_B17, NONE, DEEP),
 /* GSPI0_MOSI */	/* GPP_B18 */
 /* CCODEC_SPI_CS */	PAD_CFG_NF(GPP_B19, NONE, DEEP, NF1),



More information about the coreboot-gerrit mailing list