summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2015-08-17 21:04:41 +1000
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2015-08-30 18:05:18 +0000
commit9c98664480de39ecd9d615dc46d34a63aedd4280 (patch)
treef5bd730b9f7a4d96356c98ce6a5a3e3d7befc59c
parentfdbc1af5e2c43ef223cc11ff98ee970423ae7797 (diff)
downloadcoreboot-9c98664480de39ecd9d615dc46d34a63aedd4280.tar.xz
inteltool: Add Intel 4-Series chipset detection
Previously, X4X was incorrectly named because it provides support for SKUs within XX4X range. This is renamed. This patch provides support for all X4X SKUs according to datasheet Intel 4 Series Chipset Family Specification Update, namely: Q45, Q43, P45, P43, G45, G43, G41 and B43 (both versions). Tested on Gigabyte GA-G41M-ES2L Change-Id: I032265e80d9ca51e2fef29201280832ea3210a0b Signed-off-by: Damien Zammit <damien@zamaudio.com> Reviewed-on: http://review.coreboot.org/11245 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
-rw-r--r--util/inteltool/inteltool.c7
-rw-r--r--util/inteltool/inteltool.h8
-rw-r--r--util/inteltool/memory.c7
-rw-r--r--util/inteltool/pcie.c21
4 files changed, 37 insertions, 6 deletions
diff --git a/util/inteltool/inteltool.c b/util/inteltool/inteltool.c
index 06dd20f24c..508b55a8ac 100644
--- a/util/inteltool/inteltool.c
+++ b/util/inteltool/inteltool.c
@@ -61,7 +61,12 @@ static const struct {
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82Q35, "Q35" },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82X38, "X38/X48" },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_32X0, "3200/3210" },
- { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82X4X, "GL40/GS40/GM45/GS45/PM45" },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82XX4X, "GL40/GS40/GM45/GS45/PM45" },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82Q45, "Q45/Q43" },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82G45, "G45/G43/P45/P43" },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82G41, "G41" },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82B43, "B43 (Base)" },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82B43_2, "B43 (Soft)" },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82X58, "X58" },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I5000P, "Intel i5000P Memory Controller Hub" },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I5000X, "Intel i5000X Memory Controller Hub" },
diff --git a/util/inteltool/inteltool.h b/util/inteltool/inteltool.h
index 10b69a9d83..cff0fd99ce 100644
--- a/util/inteltool/inteltool.h
+++ b/util/inteltool/inteltool.h
@@ -132,7 +132,13 @@
#define PCI_DEVICE_ID_INTEL_82Q33 0x29d0
#define PCI_DEVICE_ID_INTEL_82X38 0x29e0
#define PCI_DEVICE_ID_INTEL_32X0 0x29f0
-#define PCI_DEVICE_ID_INTEL_82X4X 0x2a40
+#define PCI_DEVICE_ID_INTEL_82XX4X 0x2a40
+#define PCI_DEVICE_ID_INTEL_82Q45 0x2e10
+#define PCI_DEVICE_ID_INTEL_82G45 0x2e20
+#define PCI_DEVICE_ID_INTEL_82G41 0x2e30
+#define PCI_DEVICE_ID_INTEL_82B43 0x2e40
+#define PCI_DEVICE_ID_INTEL_82B43_2 0x2e90
+
#define PCI_DEVICE_ID_INTEL_82X58 0x3405
#define PCI_DEVICE_ID_INTEL_SCH_POULSBO 0x8100
#define PCI_DEVICE_ID_INTEL_ATOM_DXXX 0xa000
diff --git a/util/inteltool/memory.c b/util/inteltool/memory.c
index 6c6a67db1a..313de5a1c1 100644
--- a/util/inteltool/memory.c
+++ b/util/inteltool/memory.c
@@ -194,7 +194,12 @@ int print_mchbar(struct pci_dev *nb, struct pci_access *pacc)
case PCI_DEVICE_ID_INTEL_82830M:
printf("This northbridge does not have MCHBAR.\n");
return 1;
- case PCI_DEVICE_ID_INTEL_82X4X:
+ case PCI_DEVICE_ID_INTEL_82XX4X:
+ case PCI_DEVICE_ID_INTEL_82Q45:
+ case PCI_DEVICE_ID_INTEL_82G45:
+ case PCI_DEVICE_ID_INTEL_82G41:
+ case PCI_DEVICE_ID_INTEL_82B43:
+ case PCI_DEVICE_ID_INTEL_82B43_2:
case PCI_DEVICE_ID_INTEL_82X38:
case PCI_DEVICE_ID_INTEL_32X0:
mchbar_phys = pci_read_long(nb, 0x48) & 0xfffffffe;
diff --git a/util/inteltool/pcie.c b/util/inteltool/pcie.c
index a3d827041a..ebe0877378 100644
--- a/util/inteltool/pcie.c
+++ b/util/inteltool/pcie.c
@@ -202,7 +202,12 @@ int print_epbar(struct pci_dev *nb)
case PCI_DEVICE_ID_INTEL_82Q33:
case PCI_DEVICE_ID_INTEL_82X38:
case PCI_DEVICE_ID_INTEL_32X0:
- case PCI_DEVICE_ID_INTEL_82X4X:
+ case PCI_DEVICE_ID_INTEL_82XX4X:
+ case PCI_DEVICE_ID_INTEL_82Q45:
+ case PCI_DEVICE_ID_INTEL_82G45:
+ case PCI_DEVICE_ID_INTEL_82G41:
+ case PCI_DEVICE_ID_INTEL_82B43:
+ case PCI_DEVICE_ID_INTEL_82B43_2:
case PCI_DEVICE_ID_INTEL_ATOM_DXXX:
case PCI_DEVICE_ID_INTEL_ATOM_NXXX:
case PCI_DEVICE_ID_INTEL_CORE_2ND_GEN_D:
@@ -277,7 +282,12 @@ int print_dmibar(struct pci_dev *nb)
case PCI_DEVICE_ID_INTEL_82Q33:
case PCI_DEVICE_ID_INTEL_82X38:
case PCI_DEVICE_ID_INTEL_32X0:
- case PCI_DEVICE_ID_INTEL_82X4X:
+ case PCI_DEVICE_ID_INTEL_82XX4X:
+ case PCI_DEVICE_ID_INTEL_82Q45:
+ case PCI_DEVICE_ID_INTEL_82G45:
+ case PCI_DEVICE_ID_INTEL_82G41:
+ case PCI_DEVICE_ID_INTEL_82B43:
+ case PCI_DEVICE_ID_INTEL_82B43_2:
case PCI_DEVICE_ID_INTEL_ATOM_DXXX:
case PCI_DEVICE_ID_INTEL_ATOM_NXXX:
dmibar_phys = pci_read_long(nb, 0x68) & 0xfffffffe;
@@ -406,7 +416,12 @@ int print_pciexbar(struct pci_dev *nb)
case PCI_DEVICE_ID_INTEL_82Q33:
case PCI_DEVICE_ID_INTEL_82X38:
case PCI_DEVICE_ID_INTEL_32X0:
- case PCI_DEVICE_ID_INTEL_82X4X:
+ case PCI_DEVICE_ID_INTEL_82XX4X:
+ case PCI_DEVICE_ID_INTEL_82Q45:
+ case PCI_DEVICE_ID_INTEL_82G45:
+ case PCI_DEVICE_ID_INTEL_82G41:
+ case PCI_DEVICE_ID_INTEL_82B43:
+ case PCI_DEVICE_ID_INTEL_82B43_2:
case PCI_DEVICE_ID_INTEL_ATOM_DXXX:
case PCI_DEVICE_ID_INTEL_ATOM_NXXX:
case PCI_DEVICE_ID_INTEL_CORE_2ND_GEN_D: