haswell: Add ULT device IDs

Device IDs for northbridge and GPU.

Also mask off the lock bit in the memory map registers.

Change-Id: I9a4955d4541b938285712e82dd0b1696fa272b63
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/2646
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones@se-eng.com>
diff --git a/src/northbridge/intel/haswell/northbridge.c b/src/northbridge/intel/haswell/northbridge.c
index 52b24ba..5731077 100644
--- a/src/northbridge/intel/haswell/northbridge.c
+++ b/src/northbridge/intel/haswell/northbridge.c
@@ -175,15 +175,15 @@
 	/* Top of Upper Usable DRAM, including remap */
 	touud = pci_read_config32(dev, TOUUD+4);
 	touud <<= 32;
-	touud |= pci_read_config32(dev, TOUUD);
+	touud |= pci_read_config32(dev, TOUUD) & ~1;
 
 	/* Top of Lower Usable DRAM */
-	tolud = pci_read_config32(dev, TOLUD);
+	tolud = pci_read_config32(dev, TOLUD) & ~1;
 
 	/* Top of Memory - does not account for any UMA */
 	tom = pci_read_config32(dev, 0xa4);
 	tom <<= 32;
-	tom |= pci_read_config32(dev, 0xa0);
+	tom |= pci_read_config32(dev, 0xa0) & ~1;
 
 	printk(BIOS_DEBUG, "TOUUD 0x%llx TOLUD 0x%08x TOM 0x%llx\n",
 	       touud, tolud, tom);
@@ -467,6 +467,12 @@
 	.device = 0x0c04, /* Mobile Haswell */
 };
 
+static const struct pci_driver mc_driver_hsw_ult __pci_driver = {
+	.ops    = &mc_ops,
+	.vendor = PCI_VENDOR_ID_INTEL,
+	.device = 0x0a04, /* ULT Haswell */
+};
+
 static void cpu_bus_init(device_t dev)
 {
 	initialize_cpus(dev->link_list);