summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Warren <biggerbadderben@gmail.com>2008-08-31 10:45:44 -0700
committerBen Warren <biggerbadderben@gmail.com>2008-09-02 21:18:18 -0700
commit8ca0b3f99c4fce7a599dcaf92ae095496dc8c8e0 (patch)
treeba9fe46a4ee78f693f456bef7d8aa93662b09886
parentad3381cf4167120db5c7b88e4970245e1d5c0a32 (diff)
Moved initialization of TULIP Ethernet controller to board_eth_init()
Affected boards: cu824 bab7xx adciop dasa_sim mousse mpc8540eval musenki mvblue pcippc2/pcippc6 sbc8240 stxssa Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--board/cu824/cu824.c6
-rw-r--r--board/eltec/bab7xx/bab7xx.c6
-rw-r--r--board/esd/adciop/adciop.c6
-rw-r--r--board/esd/dasa_sim/dasa_sim.c6
-rw-r--r--board/mousse/mousse.c6
-rw-r--r--board/mpc8540eval/mpc8540eval.c12
-rw-r--r--board/musenki/musenki.c6
-rw-r--r--board/mvblue/mvblue.c6
-rw-r--r--board/pcippc2/pcippc2.c6
-rw-r--r--board/sbc8240/sbc8240.c6
-rw-r--r--board/stxssa/stxssa.c8
-rw-r--r--drivers/net/dc2114x.c1
-rw-r--r--include/netdev.h4
-rw-r--r--net/eth.c4
14 files changed, 79 insertions, 4 deletions
diff --git a/board/cu824/cu824.c b/board/cu824/cu824.c
index ecf6328945b..0fd4223e902 100644
--- a/board/cu824/cu824.c
+++ b/board/cu824/cu824.c
@@ -28,6 +28,7 @@
#include <mpc824x.h>
#include <asm/processor.h>
#include <pci.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -91,3 +92,8 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/eltec/bab7xx/bab7xx.c b/board/eltec/bab7xx/bab7xx.c
index af52352374c..8c561161c57 100644
--- a/board/eltec/bab7xx/bab7xx.c
+++ b/board/eltec/bab7xx/bab7xx.c
@@ -30,6 +30,7 @@
#include <74xx_7xx.h>
#include <ns87308.h>
#include <video_fb.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -244,3 +245,8 @@ void video_get_info_str (int line_number, char *info)
#endif
/*---------------------------------------------------------------------------*/
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/esd/adciop/adciop.c b/board/esd/adciop/adciop.c
index 0f655b78a5f..63aaf2c7a9c 100644
--- a/board/esd/adciop/adciop.c
+++ b/board/esd/adciop/adciop.c
@@ -22,6 +22,7 @@
*/
#include <common.h>
+#include <netdev.h>
#include "adciop.h"
/* ------------------------------------------------------------------------- */
@@ -95,3 +96,8 @@ int testdram (void)
}
/* ------------------------------------------------------------------------- */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/esd/dasa_sim/dasa_sim.c b/board/esd/dasa_sim/dasa_sim.c
index fb0c77e5664..e061878b626 100644
--- a/board/esd/dasa_sim/dasa_sim.c
+++ b/board/esd/dasa_sim/dasa_sim.c
@@ -22,6 +22,7 @@
*/
#include <common.h>
+#include <netdev.h>
#include "dasa_sim.h"
/* ------------------------------------------------------------------------- */
@@ -222,3 +223,8 @@ int testdram (void)
}
/* ------------------------------------------------------------------------- */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/mousse/mousse.c b/board/mousse/mousse.c
index f8f152976c2..7b61266483d 100644
--- a/board/mousse/mousse.c
+++ b/board/mousse/mousse.c
@@ -28,6 +28,7 @@
#include <common.h>
#include <mpc824x.h>
+#include <netdev.h>
#include <asm/processor.h>
#include "mousse.h"
@@ -84,3 +85,8 @@ int misc_init_f (void)
get_tod ();
return 0;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/mpc8540eval/mpc8540eval.c b/board/mpc8540eval/mpc8540eval.c
index 7c54458a57e..028a70fad84 100644
--- a/board/mpc8540eval/mpc8540eval.c
+++ b/board/mpc8540eval/mpc8540eval.c
@@ -24,6 +24,7 @@
*/
#include <common.h>
+#include <netdev.h>
#include <asm/processor.h>
#include <asm/mmu.h>
#include <asm/immap_85xx.h>
@@ -247,3 +248,14 @@ long int fixed_sdram (void)
return (CFG_SDRAM_SIZE * 1024 * 1024);
}
#endif /* !defined(CONFIG_SPD_EEPROM) */
+
+int board_eth_init(bd_t *bis)
+{
+ /*
+ * This board either has PCI NICs or uses the CPU's TSECs
+ * pci_eth_init() will return 0 if no NICs found, so in that case
+ * returning -1 will force cpu_eth_init() to be called.
+ */
+ int num = pci_eth_init(bis);
+ return (num <= 0 ? -1 : num);
+}
diff --git a/board/musenki/musenki.c b/board/musenki/musenki.c
index b2b70e756d4..6f9eeb22f89 100644
--- a/board/musenki/musenki.c
+++ b/board/musenki/musenki.c
@@ -24,6 +24,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -102,3 +103,8 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/mvblue/mvblue.c b/board/mvblue/mvblue.c
index a979102ab5a..056fee78484 100644
--- a/board/mvblue/mvblue.c
+++ b/board/mvblue/mvblue.c
@@ -9,6 +9,7 @@
#include <mpc824x.h>
#include <asm/io.h>
#include <ns16550.h>
+#include <netdev.h>
#ifdef CONFIG_PCI
#include <pci.h>
@@ -245,4 +246,9 @@ void pci_init_board (void)
{
pci_mpc824x_init (&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
#endif
diff --git a/board/pcippc2/pcippc2.c b/board/pcippc2/pcippc2.c
index c1917c11b44..a3dbdc846e0 100644
--- a/board/pcippc2/pcippc2.c
+++ b/board/pcippc2/pcippc2.c
@@ -28,6 +28,7 @@
#include <linux/mtd/doc2000.h>
#include <watchdog.h>
#include <pci.h>
+#include <netdev.h>
#include "hardware.h"
#include "pcippc2.h"
@@ -243,3 +244,8 @@ U_BOOT_CMD(
#endif
#endif /* CONFIG_WATCHDOG */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sbc8240/sbc8240.c b/board/sbc8240/sbc8240.c
index 175720d9065..075e3777ff4 100644
--- a/board/sbc8240/sbc8240.c
+++ b/board/sbc8240/sbc8240.c
@@ -28,6 +28,7 @@
#include <mpc824x.h>
#include <asm/processor.h>
#include <pci.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -103,3 +104,8 @@ int misc_init_r (void)
return (0);
}
#endif /* CONFIG_MISC_INIT_R */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/stxssa/stxssa.c b/board/stxssa/stxssa.c
index 124e1233b1f..71e9b088acd 100644
--- a/board/stxssa/stxssa.c
+++ b/board/stxssa/stxssa.c
@@ -39,6 +39,7 @@
#include <asm/io.h>
#include <spd_sdram.h>
#include <miiphy.h>
+#include <netdev.h>
long int fixed_sdram (void);
@@ -400,3 +401,10 @@ pci_init_board(void)
pci_mpc85xx_init(hose);
#endif /* CONFIG_PCI */
}
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Initialize TSECs first */
+ return pci_eth_init(bis);
+}
+
diff --git a/drivers/net/dc2114x.c b/drivers/net/dc2114x.c
index 811723904d0..c0137a7f207 100644
--- a/drivers/net/dc2114x.c
+++ b/drivers/net/dc2114x.c
@@ -21,6 +21,7 @@
#include <common.h>
#include <malloc.h>
#include <net.h>
+#include <netdev.h>
#include <pci.h>
#undef DEBUG_SROM
diff --git a/include/netdev.h b/include/netdev.h
index fa4d92d755e..d8d1209dffb 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -42,6 +42,7 @@ int cpu_eth_init(bd_t *bis);
/* Driver initialization prototypes */
int bfin_EMAC_initialize(bd_t *bis);
+int dc21x4x_initialize(bd_t *bis);
int e1000_initialize(bd_t *bis);
int eth_3com_initialize (bd_t * bis);
int greth_initialize(bd_t *bis);
@@ -70,6 +71,9 @@ static inline int pci_eth_init(bd_t *bis)
{
int num = 0;
+#ifdef CONFIG_TULIP
+ num += dc21x4x_initialize(bis);
+#endif
#ifdef CONFIG_E1000
num += e1000_initialize(bis);
#endif
diff --git a/net/eth.c b/net/eth.c
index f9a99576a81..ab37bc233a0 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -40,7 +40,6 @@ int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
extern int au1x00_enet_initialize(bd_t*);
-extern int dc21x4x_initialize(bd_t*);
extern int eepro100_initialize(bd_t*);
extern int fec_initialize(bd_t*);
extern int mpc8220_fec_initialize(bd_t*);
@@ -195,9 +194,6 @@ int eth_initialize(bd_t *bis)
#ifdef CONFIG_EEPRO100
eepro100_initialize(bis);
#endif
-#ifdef CONFIG_TULIP
- dc21x4x_initialize(bis);
-#endif
if (!eth_devices) {
puts ("No ethernet found.\n");
show_boot_progress (-64);