kontron/ktqm77: Allow disabling onboard NICs

Two new nvram variables control disabling the two non-ME NICs
on the mainboard. This is implemented by disabling their PCIe bridge.

Change-Id: I086f0d79de3ad0b53fa0ec40648d63378070e3bd
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/3870
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Patrick Georgi 2013-08-15 14:57:09 +02:00 committed by Patrick Georgi
parent ab6d27e8f8
commit f7381f8cd1
2 changed files with 20 additions and 1 deletions

View File

@ -99,7 +99,9 @@ entries
512 328 s 0 boot_devices 512 328 s 0 boot_devices
840 8 h 0 boot_default 840 8 h 0 boot_default
848 1 e 9 cmos_defaults_loaded 848 1 e 9 cmos_defaults_loaded
#849 7 r 0 unused 849 1 e 2 ethernet1
850 1 e 2 ethernet2
#851 5 r 0 unused
# coreboot config options: mainboard specific options # coreboot config options: mainboard specific options
856 2 e 8 fan1_mode 856 2 e 8 fan1_mode

View File

@ -161,6 +161,23 @@ static void mainboard_enable(device_t dev)
mainboard_interrupt_handlers(0x15, &int15_handler); mainboard_interrupt_handlers(0x15, &int15_handler);
#endif #endif
verb_setup(); verb_setup();
unsigned disable = 0;
if ((get_option(&disable, "ethernet1") == 0) && disable) {
device_t nic = dev_find_slot(0, PCI_DEVFN(0x1c, 2));
if (nic) {
printk(BIOS_DEBUG, "DISABLE FIRST NIC!\n");
nic->enabled = 0;
}
}
disable = 0;
if ((get_option(&disable, "ethernet2") == 0) && disable) {
device_t nic = dev_find_slot(0, PCI_DEVFN(0x1c, 3));
if (nic) {
printk(BIOS_DEBUG, "DISABLE SECOND NIC!\n");
nic->enabled = 0;
}
}
} }
struct chip_operations mainboard_ops = { struct chip_operations mainboard_ops = {