summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@secunet.com>2013-08-15 14:57:09 +0200
committerPatrick Georgi <patrick@georgi-clan.de>2013-08-29 10:06:26 +0200
commitf7381f8cd1cf4307dcccd5728fc11afce3610439 (patch)
tree484d4f25d92308096f0410638b42bda8847dfdd4
parentab6d27e8f83db2791bc2b633a02f12a3076a4e5f (diff)
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>
-rw-r--r--src/mainboard/kontron/ktqm77/cmos.layout4
-rw-r--r--src/mainboard/kontron/ktqm77/mainboard.c17
2 files changed, 20 insertions, 1 deletions
diff --git a/src/mainboard/kontron/ktqm77/cmos.layout b/src/mainboard/kontron/ktqm77/cmos.layout
index 15d8e45f81..47cd60f7e4 100644
--- a/src/mainboard/kontron/ktqm77/cmos.layout
+++ b/src/mainboard/kontron/ktqm77/cmos.layout
@@ -99,7 +99,9 @@ entries
512 328 s 0 boot_devices
840 8 h 0 boot_default
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
856 2 e 8 fan1_mode
diff --git a/src/mainboard/kontron/ktqm77/mainboard.c b/src/mainboard/kontron/ktqm77/mainboard.c
index 454976cfab..3829d72669 100644
--- a/src/mainboard/kontron/ktqm77/mainboard.c
+++ b/src/mainboard/kontron/ktqm77/mainboard.c
@@ -161,6 +161,23 @@ static void mainboard_enable(device_t dev)
mainboard_interrupt_handlers(0x15, &int15_handler);
#endif
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 = {