summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Warren <biggerbadderben@gmail.com>2008-08-31 21:41:08 -0700
committerBen Warren <biggerbadderben@gmail.com>2008-09-02 21:18:16 -0700
commit0b252f50ae218ae15bfb63af44227972686ebc56 (patch)
tree98e5a13a7c1574f7fa1061fa9dc97293d7e014a3
parent02d69891d95ee76b0e86e1715a4dc0b964a57cb7 (diff)
downloadu-boot-imx-0b252f50ae218ae15bfb63af44227972686ebc56.zip
u-boot-imx-0b252f50ae218ae15bfb63af44227972686ebc56.tar.gz
u-boot-imx-0b252f50ae218ae15bfb63af44227972686ebc56.tar.bz2
Moved initialization of RTL8139 Ethernet controller to board_eth_init()
Affected boards: hidden_dragon MPC8544DS MPC8610HPCN R2DPLUS TB0229 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--board/freescale/mpc8544ds/mpc8544ds.c8
-rw-r--r--board/freescale/mpc8641hpcn/mpc8641hpcn.c8
-rw-r--r--board/hidden_dragon/hidden_dragon.c6
-rw-r--r--board/r2dplus/r2dplus.c5
-rw-r--r--board/tb0229/tb0229.c5
-rw-r--r--drivers/net/rtl8139.c1
-rw-r--r--include/netdev.h4
-rw-r--r--net/eth.c4
8 files changed, 33 insertions, 8 deletions
diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c
index 1e29773..eaf6fa3 100644
--- a/board/freescale/mpc8544ds/mpc8544ds.c
+++ b/board/freescale/mpc8544ds/mpc8544ds.c
@@ -33,6 +33,7 @@
#include <libfdt.h>
#include <fdt_support.h>
#include <tsec.h>
+#include <netdev.h>
#include "../common/pixis.h"
#include "../common/sgmii_riser.h"
@@ -465,9 +466,9 @@ get_board_sys_clk(ulong dummy)
return val;
}
-#ifdef CONFIG_TSEC_ENET
int board_eth_init(bd_t *bis)
{
+#ifdef CONFIG_TSEC_ENET
struct tsec_info_struct tsec_info[2];
volatile ccsr_gur_t *gur = (void *)(CFG_MPC85xx_GUTS_ADDR);
uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19;
@@ -497,10 +498,9 @@ int board_eth_init(bd_t *bis)
tsec_eth_init(bis, tsec_info, num);
-
- return 0;
-}
#endif
+ return pci_eth_init(bis);
+}
#if defined(CONFIG_OF_BOARD_SETUP)
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 1bb563e..97f7f49 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -29,6 +29,7 @@
#include <asm/io.h>
#include <libfdt.h>
#include <fdt_support.h>
+#include <netdev.h>
#include "../common/pixis.h"
@@ -379,3 +380,10 @@ get_board_sys_clk(ulong dummy)
return val;
}
+
+int board_eth_init(bd_t *bis)
+{
+ /* Initialize TSECs */
+ cpu_eth_init(bis);
+ return pci_eth_init(bis);
+}
diff --git a/board/hidden_dragon/hidden_dragon.c b/board/hidden_dragon/hidden_dragon.c
index 5713a33..2d7a787 100644
--- a/board/hidden_dragon/hidden_dragon.c
+++ b/board/hidden_dragon/hidden_dragon.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -93,3 +94,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/r2dplus/r2dplus.c b/board/r2dplus/r2dplus.c
index 8fb8ff6..b962dd1 100644
--- a/board/r2dplus/r2dplus.c
+++ b/board/r2dplus/r2dplus.c
@@ -76,3 +76,8 @@ void pci_init_board(void)
{
pci_sh7751_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/tb0229/tb0229.c b/board/tb0229/tb0229.c
index 921bd3a..2abb4a7 100644
--- a/board/tb0229/tb0229.c
+++ b/board/tb0229/tb0229.c
@@ -46,3 +46,8 @@ int checkboard (void)
return 0;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/drivers/net/rtl8139.c b/drivers/net/rtl8139.c
index 4fd20ac..d378ce3 100644
--- a/drivers/net/rtl8139.c
+++ b/drivers/net/rtl8139.c
@@ -74,6 +74,7 @@
#include <common.h>
#include <malloc.h>
#include <net.h>
+#include <netdev.h>
#include <asm/io.h>
#include <pci.h>
diff --git a/include/netdev.h b/include/netdev.h
index 954de39..b333755 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -46,6 +46,7 @@ int greth_initialize(bd_t *bis);
int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
int mcdmafec_initialize(bd_t *bis);
int mcffec_initialize(bd_t *bis);
+int rtl8139_initialize(bd_t *bis);
int rtl8169_initialize(bd_t *bis);
int skge_initialize(bd_t *bis);
int uli526x_initialize(bd_t *bis);
@@ -57,6 +58,9 @@ int uli526x_initialize(bd_t *bis);
static inline int pci_eth_init(bd_t *bis)
{
int num = 0;
+#if defined(CONFIG_RTL8139)
+ num += rtl8139_initialize(bis);
+#endif
#if defined(CONFIG_RTL8169)
num += rtl8169_initialize(bis);
#endif
diff --git a/net/eth.c b/net/eth.c
index 69f66b4..092d426 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -60,7 +60,6 @@ extern int ns8382x_initialize(bd_t*);
extern int pcnet_initialize(bd_t*);
extern int plb2800_eth_initialize(bd_t*);
extern int ppc_4xx_eth_initialize(bd_t *);
-extern int rtl8139_initialize(bd_t*);
extern int scc_initialize(bd_t*);
extern int tsi108_eth_initialize(bd_t*);
extern int npe_initialize(bd_t *);
@@ -246,9 +245,6 @@ int eth_initialize(bd_t *bis)
#if defined(CONFIG_TSI108_ETH)
tsi108_eth_initialize(bis);
#endif
-#if defined(CONFIG_RTL8139)
- rtl8139_initialize(bis);
-#endif
if (!eth_devices) {
puts ("No ethernet found.\n");
show_boot_progress (-64);