nb/intel/sandybridge/peg: Add PEG driver stub

Required for other ACPI generators, like the one used for _ROM.

* Add ACPI code for PEG10/PEG11/PEG12/PEG60 and include it on all platforms.
* Add PCIe driver for PEG. The driver returns ACPI names for ssdt generators.

Needs test on real hardware.

Change-Id: I96835c43522580c95fd4f250c56bf9438e993bc1
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/22337
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/northbridge/intel/sandybridge/acpi/hostbridge.asl b/src/northbridge/intel/sandybridge/acpi/hostbridge.asl
index 5988489..09b8892 100644
--- a/src/northbridge/intel/sandybridge/acpi/hostbridge.asl
+++ b/src/northbridge/intel/sandybridge/acpi/hostbridge.asl
@@ -37,7 +37,8 @@
 		MHEN,	 1,	// Enable
 		,	13,	//
 		MHBR,	22,	// MCHBAR
-
+		Offset (0x54),
+		DVEN,	32,
 		Offset (0x60),	// PCIe BAR
 		PXEN,	 1,	// Enable
 		PXSZ,	 2,	// BAR size
diff --git a/src/northbridge/intel/sandybridge/acpi/peg.asl b/src/northbridge/intel/sandybridge/acpi/peg.asl
new file mode 100644
index 0000000..f98a4ce
--- /dev/null
+++ b/src/northbridge/intel/sandybridge/acpi/peg.asl
@@ -0,0 +1,79 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017-2018 Patrick Rudolph <siro@das-labor.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+Device (PEGP)
+{
+	Name (_ADR, 0x00010000)
+
+	Method (_STA)
+	{
+		ShiftRight (\_SB.PCI0.MCHC.DVEN, 3, Local0)
+		Return (And (Local0, 1))
+	}
+
+	Device (DEV0)
+	{
+		Name(_ADR, 0x00000000)
+	}
+}
+
+Device (PEG1)
+{
+	Name (_ADR, 0x00010001)
+
+	Method (_STA)
+	{
+		ShiftRight (\_SB.PCI0.MCHC.DVEN, 2, Local0)
+		Return (And (Local0, 1))
+	}
+
+	Device (DEV0)
+	{
+		Name(_ADR, 0x00000000)
+	}
+}
+
+Device (PEG2)
+{
+	Name (_ADR, 0x00010002)
+
+	Method (_STA)
+	{
+		ShiftRight (\_SB.PCI0.MCHC.DVEN, 1, Local0)
+		Return (And (Local0, 1))
+	}
+
+	Device (DEV0)
+	{
+		Name(_ADR, 0x00000000)
+	}
+}
+
+Device (PEG6)
+{
+	Name (_ADR, 0x00060000)
+
+	Method (_STA)
+	{
+		ShiftRight (\_SB.PCI0.MCHC.DVEN, 13, Local0)
+		Return (And (Local0, 1))
+	}
+
+	Device (DEV0)
+	{
+		Name(_ADR, 0x00000000)
+	}
+}
diff --git a/src/northbridge/intel/sandybridge/acpi/sandybridge.asl b/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
index 609106f..3076a68 100644
--- a/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
+++ b/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
@@ -2,6 +2,7 @@
  * This file is part of the coreboot project.
  *
  * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2017-2018 Patrick Rudolph <siro@das-labor.org>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -16,6 +17,7 @@
 
 #include "../sandybridge.h"
 #include "hostbridge.asl"
+#include "peg.asl"
 
 /* PCI Device Resource Consumption */
 Device (PDRC)