summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/Kconfig1
-rw-r--r--src/drivers/Makefile.inc1
-rw-r--r--src/drivers/realtek/Kconfig6
-rw-r--r--src/drivers/realtek/Makefile.inc20
-rw-r--r--src/drivers/realtek/rtl8168.c (renamed from src/mainboard/intel/d945gclf/rtl8168.c)0
-rw-r--r--src/mainboard/getac/p470/Kconfig1
-rw-r--r--src/mainboard/getac/p470/Makefile.inc1
-rw-r--r--src/mainboard/getac/p470/rtl8168.c77
-rw-r--r--src/mainboard/intel/d945gclf/Kconfig1
-rw-r--r--src/mainboard/intel/d945gclf/Makefile.inc2
-rw-r--r--src/mainboard/kontron/986lcd-m/Kconfig1
-rw-r--r--src/mainboard/kontron/986lcd-m/Makefile.inc2
-rw-r--r--src/mainboard/kontron/986lcd-m/rtl8168.c49
-rw-r--r--src/mainboard/roda/rk886ex/Kconfig1
-rw-r--r--src/mainboard/roda/rk886ex/Makefile.inc1
-rw-r--r--src/mainboard/roda/rk886ex/rtl8168.c49
16 files changed, 32 insertions, 181 deletions
diff --git a/src/drivers/Kconfig b/src/drivers/Kconfig
index da90a03cd1..56a1592013 100644
--- a/src/drivers/Kconfig
+++ b/src/drivers/Kconfig
@@ -23,6 +23,7 @@ source src/drivers/emulation/Kconfig
source src/drivers/generic/Kconfig
source src/drivers/i2c/Kconfig
source src/drivers/oxford/Kconfig
+source src/drivers/realtek/Kconfig
source src/drivers/sil/Kconfig
source src/drivers/trident/Kconfig
source src/drivers/ics/Kconfig
diff --git a/src/drivers/Makefile.inc b/src/drivers/Makefile.inc
index e10e685d47..a02b70548a 100644
--- a/src/drivers/Makefile.inc
+++ b/src/drivers/Makefile.inc
@@ -23,6 +23,7 @@ subdirs-y += emulation
subdirs-y += generic
subdirs-y += i2c
subdirs-y += oxford
+subdirs-y += realtek
subdirs-y += sil
subdirs-y += trident
subdirs-y += ics
diff --git a/src/drivers/realtek/Kconfig b/src/drivers/realtek/Kconfig
new file mode 100644
index 0000000000..07994455b5
--- /dev/null
+++ b/src/drivers/realtek/Kconfig
@@ -0,0 +1,6 @@
+config RTL8168_ROM_DISABLE
+ bool "Disable RTL8168 ROM"
+ default n
+ help
+ Just enough of a driver to make coreboot not look for an Option ROM.
+ No configuration is necessary for the OS to pick up the device.
diff --git a/src/drivers/realtek/Makefile.inc b/src/drivers/realtek/Makefile.inc
new file mode 100644
index 0000000000..910d4b4d04
--- /dev/null
+++ b/src/drivers/realtek/Makefile.inc
@@ -0,0 +1,20 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2012 secunet Security Networks AG
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+##
+
+driver-$(CONFIG_RTL8168_ROM_DISABLE) += rtl8168.c
diff --git a/src/mainboard/intel/d945gclf/rtl8168.c b/src/drivers/realtek/rtl8168.c
index 04fd56ccb1..04fd56ccb1 100644
--- a/src/mainboard/intel/d945gclf/rtl8168.c
+++ b/src/drivers/realtek/rtl8168.c
diff --git a/src/mainboard/getac/p470/Kconfig b/src/mainboard/getac/p470/Kconfig
index b9ed04ead7..d1c6f7fac6 100644
--- a/src/mainboard/getac/p470/Kconfig
+++ b/src/mainboard/getac/p470/Kconfig
@@ -43,6 +43,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_1024
select GFXUMA
select CHANNEL_XOR_RANDOMIZATION
+ select RTL8168_ROM_DISABLE
config MAINBOARD_DIR
string
diff --git a/src/mainboard/getac/p470/Makefile.inc b/src/mainboard/getac/p470/Makefile.inc
index 3b90bf8b7c..f2d0968b12 100644
--- a/src/mainboard/getac/p470/Makefile.inc
+++ b/src/mainboard/getac/p470/Makefile.inc
@@ -17,7 +17,6 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-driver-y += rtl8168.c
ramstage-$(CONFIG_HAVE_ACPI_SLIC) += acpi_slic.c
smm-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.c
diff --git a/src/mainboard/getac/p470/rtl8168.c b/src/mainboard/getac/p470/rtl8168.c
deleted file mode 100644
index 37ef674362..0000000000
--- a/src/mainboard/getac/p470/rtl8168.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <console/console.h>
-#include <device/device.h>
-#include <device/pci.h>
-#include <device/pci_ids.h>
-#include <delay.h>
-
-// #define RTL8168_DEBUG 1
-
-static void nic_init(struct device *dev)
-{
- printk(BIOS_DEBUG, "Initializing RTL8168 Gigabit Ethernet\n");
- // Nothing to do yet, but this has to be here to keep
- // coreboot from trying to execute an option ROM.
-
-#ifdef RTL8168_DEBUG
- u8 reg8;
-
- printk(BIOS_DEBUG, "Resetting device... ");
- pci_write_config8(dev, 0x37, (1 << 4));
- do {
- reg8 = pci_read_config8(dev, 0x37);
- reg8 &= (1 << 4);
- } while (reg8);
- printk(BIOS_DEBUG, "ok\n");
-
- printk(BIOS_DEBUG, "Eeprom Auto-Load... ");
- reg8 = pci_read_config8(dev, 0x50);
- reg8 &= 0x3f;
- reg8 |= (1 << 6);
- pci_write_config8(dev, 0x50, reg8);
- mdelay(3);
- printk(BIOS_DEBUG, "ok\n");
-#endif
-}
-
-static struct device_operations nic_ops = {
- .read_resources = pci_dev_read_resources,
- .set_resources = pci_dev_set_resources,
- .enable_resources = pci_dev_enable_resources,
- .init = nic_init,
- .scan_bus = 0,
-};
-
-static const struct pci_driver rtl8168_nic __pci_driver = {
- .ops = &nic_ops,
- .vendor = 0x10ec,
- .device = 0x8168,
-};
-
-#ifdef RTL8168_DEBUG
-static const struct pci_driver rtl8129_nic __pci_driver = {
- .ops = &nic_ops,
- .vendor = 0x10ec,
- .device = 0x8129,
-};
-#endif
-
diff --git a/src/mainboard/intel/d945gclf/Kconfig b/src/mainboard/intel/d945gclf/Kconfig
index 32da3878c4..57078da639 100644
--- a/src/mainboard/intel/d945gclf/Kconfig
+++ b/src/mainboard/intel/d945gclf/Kconfig
@@ -41,6 +41,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_512
select GFXUMA
select CHANNEL_XOR_RANDOMIZATION
+ select RTL8168_ROM_DISABLE
config MAINBOARD_DIR
string
diff --git a/src/mainboard/intel/d945gclf/Makefile.inc b/src/mainboard/intel/d945gclf/Makefile.inc
index eb0139931f..e0dd8ed0f8 100644
--- a/src/mainboard/intel/d945gclf/Makefile.inc
+++ b/src/mainboard/intel/d945gclf/Makefile.inc
@@ -17,6 +17,4 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-driver-y += rtl8168.c
-
smm-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.c
diff --git a/src/mainboard/kontron/986lcd-m/Kconfig b/src/mainboard/kontron/986lcd-m/Kconfig
index 322850ea38..49cc70ef9f 100644
--- a/src/mainboard/kontron/986lcd-m/Kconfig
+++ b/src/mainboard/kontron/986lcd-m/Kconfig
@@ -21,6 +21,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select GFXUMA
select CHANNEL_XOR_RANDOMIZATION
select OVERRIDE_CLOCK_DISABLE
+ select RTL8168_ROM_DISABLE
config MAINBOARD_DIR
string
diff --git a/src/mainboard/kontron/986lcd-m/Makefile.inc b/src/mainboard/kontron/986lcd-m/Makefile.inc
index 8ca1aeb792..fb78b3d83f 100644
--- a/src/mainboard/kontron/986lcd-m/Makefile.inc
+++ b/src/mainboard/kontron/986lcd-m/Makefile.inc
@@ -17,6 +17,4 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-driver-y += rtl8168.c
-
smm-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.c
diff --git a/src/mainboard/kontron/986lcd-m/rtl8168.c b/src/mainboard/kontron/986lcd-m/rtl8168.c
deleted file mode 100644
index 04fd56ccb1..0000000000
--- a/src/mainboard/kontron/986lcd-m/rtl8168.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/* This code should work for all ICH* southbridges with a NIC. */
-
-#include <console/console.h>
-#include <device/device.h>
-#include <device/pci.h>
-#include <device/pci_ids.h>
-
-static void nic_init(struct device *dev)
-{
- printk(BIOS_DEBUG, "Initializing RTL8168 Gigabit Ethernet\n");
- // Nothing to do yet, but this has to be here to keep
- // coreboot from trying to execute an option ROM.
-}
-
-static struct device_operations nic_ops = {
- .read_resources = pci_dev_read_resources,
- .set_resources = pci_dev_set_resources,
- .enable_resources = pci_dev_enable_resources,
- .init = nic_init,
- .scan_bus = 0,
-};
-
-static const struct pci_driver rtl8169_nic __pci_driver = {
- .ops = &nic_ops,
- .vendor = 0x10ec,
- .device = 0x8168,
-};
-
-
diff --git a/src/mainboard/roda/rk886ex/Kconfig b/src/mainboard/roda/rk886ex/Kconfig
index ee1dc59936..6539805886 100644
--- a/src/mainboard/roda/rk886ex/Kconfig
+++ b/src/mainboard/roda/rk886ex/Kconfig
@@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_1024
select CHANNEL_XOR_RANDOMIZATION
select GFXUMA
+ select RTL8168_ROM_DISABLE
config MAINBOARD_DIR
string
diff --git a/src/mainboard/roda/rk886ex/Makefile.inc b/src/mainboard/roda/rk886ex/Makefile.inc
index 549654ad8e..96458f8261 100644
--- a/src/mainboard/roda/rk886ex/Makefile.inc
+++ b/src/mainboard/roda/rk886ex/Makefile.inc
@@ -18,6 +18,5 @@
##
ramstage-y += m3885.c
-driver-y += rtl8168.c
smm-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.c
diff --git a/src/mainboard/roda/rk886ex/rtl8168.c b/src/mainboard/roda/rk886ex/rtl8168.c
deleted file mode 100644
index 04fd56ccb1..0000000000
--- a/src/mainboard/roda/rk886ex/rtl8168.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/* This code should work for all ICH* southbridges with a NIC. */
-
-#include <console/console.h>
-#include <device/device.h>
-#include <device/pci.h>
-#include <device/pci_ids.h>
-
-static void nic_init(struct device *dev)
-{
- printk(BIOS_DEBUG, "Initializing RTL8168 Gigabit Ethernet\n");
- // Nothing to do yet, but this has to be here to keep
- // coreboot from trying to execute an option ROM.
-}
-
-static struct device_operations nic_ops = {
- .read_resources = pci_dev_read_resources,
- .set_resources = pci_dev_set_resources,
- .enable_resources = pci_dev_enable_resources,
- .init = nic_init,
- .scan_bus = 0,
-};
-
-static const struct pci_driver rtl8169_nic __pci_driver = {
- .ops = &nic_ops,
- .vendor = 0x10ec,
- .device = 0x8168,
-};
-
-