summaryrefslogtreecommitdiff
path: root/src/southbridge/intel
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2012-12-11 17:13:17 -0600
committerRonald G. Minnich <rminnich@gmail.com>2013-03-14 05:10:13 +0100
commitc1989c494e2628618067d03d9e192ac25b4f42d1 (patch)
treedb472342c439009161f48c7cfa57d3a2ef7749f6 /src/southbridge/intel
parentb6b5aa15cecf2a9226bf5c265f15bf905c90e558 (diff)
downloadcoreboot-c1989c494e2628618067d03d9e192ac25b4f42d1.tar.xz
haswell: add PCI id support
In order for coreboot to assign resources properly the pci drivers need to have th proper device ids. Add the host controller and the LPC device ids for Lynx Point. Resource assignment works correctly now w/o odd behavior because of conflicts. Change-Id: Id33b3676616fb0c428d84e5fe5c6b8a7cc5fbb62 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/2638 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martin.roth@se-eng.com>
Diffstat (limited to 'src/southbridge/intel')
-rw-r--r--src/southbridge/intel/lynxpoint/lpc.c23
-rw-r--r--src/southbridge/intel/lynxpoint/spi.c9
2 files changed, 15 insertions, 17 deletions
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index 55c2f5aaa0..a121e49874 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -647,16 +647,19 @@ static struct device_operations device_ops = {
};
-/* IDs for LPC device of Intel 6 Series Chipset, Intel 7 Series Chipset, and
- * Intel C200 Series Chipset
- */
-
-static const unsigned short pci_device_ids[] = { 0x1c46, 0x1c47, 0x1c49, 0x1c4a,
- 0x1c4b, 0x1c4c, 0x1c4d, 0x1c4e,
- 0x1c4f, 0x1c50, 0x1c52, 0x1c54,
- 0x1e55, 0x1c56, 0x1e57, 0x1c5c,
- 0x1e5d, 0x1e5e, 0x1e5f,
- 0 };
+/* IDs for LPC device of Intel 8 Series Chipset (Lynx Point) */
+static const unsigned short pci_device_ids[] = {
+ 0x8c41, /* Mobile Full Featured Engineering Sample. */
+ 0x8c42, /* Desktop Full Featured Engineering Sample. */
+ 0x8c44, /* Z87 SKU */
+ 0x8c46, /* Z85 SKU */
+ 0x8c49, /* HM86 SKU */
+ 0x8c4a, /* H87 SKU */
+ 0x8c4b, /* HM87 SKU */
+ 0x8c4c, /* Q85 SKU */
+ 0x8c4e, /* Q87 SKU */
+ 0x8c4f, /* QM87 SKU */
+ 0 };
static const struct pci_driver pch_lpc __pci_driver = {
.ops = &device_ops,
diff --git a/src/southbridge/intel/lynxpoint/spi.c b/src/southbridge/intel/lynxpoint/spi.c
index 2050412345..8eea28c88f 100644
--- a/src/southbridge/intel/lynxpoint/spi.c
+++ b/src/southbridge/intel/lynxpoint/spi.c
@@ -310,13 +310,8 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
*/
static inline int get_ich_version(uint16_t device_id)
{
- if (device_id == PCI_DEVICE_ID_INTEL_TGP_LPC)
- return 7;
-
- if ((device_id >= PCI_DEVICE_ID_INTEL_COUGARPOINT_LPC_MIN &&
- device_id <= PCI_DEVICE_ID_INTEL_COUGARPOINT_LPC_MAX) ||
- (device_id >= PCI_DEVICE_ID_INTEL_PANTHERPOINT_LPC_MIN &&
- device_id <= PCI_DEVICE_ID_INTEL_PANTHERPOINT_LPC_MAX))
+ if (device_id >= PCI_DEVICE_ID_INTEL_LYNXPOINT_MOB_DESK_MIN &&
+ device_id <= PCI_DEVICE_ID_INTEL_LYNXPOINT_MOB_DESK_MAX)
return 9;
return 0;