nb/intel/sandybridge/acpi: Don't use defines for memory ranges

Read the northbridge BARs from device PCI0:0.0.

Untested.

Change-Id: I27bfb5721d9ae3dc5629942ebac29b12a7308441
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32074
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
diff --git a/src/northbridge/intel/sandybridge/acpi/sandybridge.asl b/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
index dce9f67..7fdfe42 100644
--- a/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
+++ b/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
@@ -15,7 +15,6 @@
  * GNU General Public License for more details.
  */
 
-#include "../sandybridge.h"
 #include "hostbridge.asl"
 #include "peg.asl"
 
@@ -27,12 +26,13 @@
 
 	Name (PDRS, ResourceTemplate() {
 		Memory32Fixed(ReadWrite, 0xfed1c000, 0x00004000) // RCBA
-		Memory32Fixed(ReadWrite, DEFAULT_MCHBAR,   0x00008000)
-		Memory32Fixed(ReadWrite, DEFAULT_DMIBAR,   0x00001000)
-		Memory32Fixed(ReadWrite, DEFAULT_EPBAR,    0x00001000)
-		Memory32Fixed(ReadWrite, CONFIG_MMCONF_BASE_ADDRESS, 0x04000000)
+		// Filled by _CRS
+		Memory32Fixed(ReadWrite, 0, 0x00008000, MCHB)
+		Memory32Fixed(ReadWrite, 0, 0x00001000, DMIB)
+		Memory32Fixed(ReadWrite, 0, 0x00001000, EGPB)
+		Memory32Fixed(ReadWrite, 0, 0x04000000, PCIX)
 		Memory32Fixed(ReadWrite, 0xfed20000, 0x00020000) // Misc ICH
-		Memory32Fixed(ReadWrite, 0xfed40000, 0x00005000) // Misc ICH
+		Memory32Fixed(ReadWrite, 0xfed40000, 0x00005000) // TPM TIS
 		Memory32Fixed(ReadWrite, 0xfed45000, 0x0004b000) // Misc ICH
 
 #if CONFIG(CHROMEOS_RAMOOPS)
@@ -48,6 +48,21 @@
 	// Current Resource Settings
 	Method (_CRS, 0, Serialized)
 	{
+		CreateDwordField (PDRS, ^MCHB._BAS, MBR0)
+		MBR0 = \_SB.PCI0.MCHC.MHBR << 15
+
+		CreateDwordField (PDRS, ^DMIB._BAS, DBR0)
+		DBR0 = \_SB.PCI0.MCHC.DMBR << 12
+
+		CreateDwordField (PDRS, ^EGPB._BAS, EBR0)
+		EBR0 = \_SB.PCI0.MCHC.EPBR << 12
+
+		CreateDwordField (PDRS, ^PCIX._BAS, XBR0)
+		XBR0 = \_SB.PCI0.MCHC.PXBR << 26
+
+		CreateDwordField (PDRS, ^PCIX._LEN, XSZ0)
+		XSZ0 = 0x10000000 << \_SB.PCI0.MCHC.PXSZ
+
 		Return(PDRS)
 	}
 }