nb/intel/sandybridge: Hide additional nb devices

Hide device 4 and device 7 if disabled.
Allows devicetree settings to take effect.

Tested on Lenovo T430.

Change-Id: I64a19e2bbdb1640e1d732f6e4486f73cbb0bda81
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/19689
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Patrick Rudolph 2017-05-14 12:40:50 +02:00
parent 53d6d84c3f
commit ecd4be8114
2 changed files with 12 additions and 0 deletions

View File

@ -357,11 +357,21 @@ static void disable_peg(void)
printk(BIOS_DEBUG, "Disabling IGD.\n"); printk(BIOS_DEBUG, "Disabling IGD.\n");
reg &= ~DEVEN_IGD; reg &= ~DEVEN_IGD;
} }
dev = dev_find_slot(0, PCI_DEVFN(4, 0));
if (!dev || !dev->enabled) {
printk(BIOS_DEBUG, "Disabling Device 4.\n");
reg &= ~DEVEN_D4EN;
}
dev = dev_find_slot(0, PCI_DEVFN(6, 0)); dev = dev_find_slot(0, PCI_DEVFN(6, 0));
if (!dev || !dev->enabled) { if (!dev || !dev->enabled) {
printk(BIOS_DEBUG, "Disabling PEG60.\n"); printk(BIOS_DEBUG, "Disabling PEG60.\n");
reg &= ~DEVEN_PEG60; reg &= ~DEVEN_PEG60;
} }
dev = dev_find_slot(0, PCI_DEVFN(7, 0));
if (!dev || !dev->enabled) {
printk(BIOS_DEBUG, "Disabling Device 7.\n");
reg &= ~DEVEN_D7EN;
}
dev = dev_find_slot(0, PCI_DEVFN(0, 0)); dev = dev_find_slot(0, PCI_DEVFN(0, 0));
pci_write_config32(dev, DEVEN, reg); pci_write_config32(dev, DEVEN, reg);

View File

@ -75,7 +75,9 @@
#define GGC 0x50 /* GMCH Graphics Control */ #define GGC 0x50 /* GMCH Graphics Control */
#define DEVEN 0x54 /* Device Enable */ #define DEVEN 0x54 /* Device Enable */
#define DEVEN_D7EN (1 << 14)
#define DEVEN_PEG60 (1 << 13) #define DEVEN_PEG60 (1 << 13)
#define DEVEN_D4EN (1 << 7)
#define DEVEN_IGD (1 << 4) #define DEVEN_IGD (1 << 4)
#define DEVEN_PEG10 (1 << 3) #define DEVEN_PEG10 (1 << 3)
#define DEVEN_PEG11 (1 << 2) #define DEVEN_PEG11 (1 << 2)