From f7381f8cd1cf4307dcccd5728fc11afce3610439 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Thu, 15 Aug 2013 14:57:09 +0200 Subject: [PATCH] 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 Reviewed-on: http://review.coreboot.org/3870 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Stefan Reinauer --- src/mainboard/kontron/ktqm77/cmos.layout | 4 +++- src/mainboard/kontron/ktqm77/mainboard.c | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) 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 = {