summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Warren <biggerbadderben@gmail.com>2008-08-31 10:36:38 -0700
committerBen Warren <biggerbadderben@gmail.com>2008-09-02 21:18:17 -0700
commita0aad08f9427ac00218bdb2cb649833ce6ec9b8d (patch)
treef2c0ef44d0acd0f895ab75462835ba9a6dd43a4f
parent8218bd2aa68820b878a8413493ae17fd8d21f944 (diff)
downloadu-boot-imx-a0aad08f9427ac00218bdb2cb649833ce6ec9b8d.zip
u-boot-imx-a0aad08f9427ac00218bdb2cb649833ce6ec9b8d.tar.gz
u-boot-imx-a0aad08f9427ac00218bdb2cb649833ce6ec9b8d.tar.bz2
Moved initialization of MPC512x_FEC Ethernet driver to CPU directory
Added a cpu_eth_init() function to MPC512x CPU directory and removed code from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--cpu/mpc512x/cpu.c13
-rw-r--r--drivers/net/mpc512x_fec.c1
-rw-r--r--include/netdev.h1
-rw-r--r--net/eth.c4
4 files changed, 15 insertions, 4 deletions
diff --git a/cpu/mpc512x/cpu.c b/cpu/mpc512x/cpu.c
index 1f39ac4..d432d99 100644
--- a/cpu/mpc512x/cpu.c
+++ b/cpu/mpc512x/cpu.c
@@ -30,6 +30,7 @@
#include <common.h>
#include <command.h>
#include <mpc512x.h>
+#include <netdev.h>
#include <asm/processor.h>
#if defined(CONFIG_OF_LIBFDT)
@@ -195,3 +196,15 @@ void ft_cpu_setup(void *blob, bd_t *bd)
#endif
}
#endif
+
+#ifdef CONFIG_MPC512x_FEC
+/* Default initializations for FEC controllers. To override,
+ * create a board-specific function called:
+ * int board_eth_init(bd_t *bis)
+ */
+
+int cpu_eth_init(bd_t *bis)
+{
+ return mpc512x_fec_initialize(bis);
+}
+#endif
diff --git a/drivers/net/mpc512x_fec.c b/drivers/net/mpc512x_fec.c
index 7caeeda..54283fb 100644
--- a/drivers/net/mpc512x_fec.c
+++ b/drivers/net/mpc512x_fec.c
@@ -10,6 +10,7 @@
#include <mpc512x.h>
#include <malloc.h>
#include <net.h>
+#include <netdev.h>
#include <miiphy.h>
#include "mpc512x_fec.h"
diff --git a/include/netdev.h b/include/netdev.h
index f28039e..487d319 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -49,6 +49,7 @@ int inca_switch_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 mpc512x_fec_initialize(bd_t *bis);
int natsemi_initialize(bd_t *bis);
int ns8382x_initialize(bd_t *bis);
int pcnet_initialize(bd_t *bis);
diff --git a/net/eth.c b/net/eth.c
index 0dfa70d..b61d0fc 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -45,7 +45,6 @@ extern int e1000_initialize(bd_t*);
extern int eepro100_initialize(bd_t*);
extern int fec_initialize(bd_t*);
extern int mpc5xxx_fec_initialize(bd_t*);
-extern int mpc512x_fec_initialize(bd_t*);
extern int mpc8220_fec_initialize(bd_t*);
extern int mv6436x_eth_initialize(bd_t *);
extern int mv6446x_eth_initialize(bd_t *);
@@ -177,9 +176,6 @@ int eth_initialize(bd_t *bis)
#if defined(CONFIG_MPC5xxx_FEC)
mpc5xxx_fec_initialize(bis);
#endif
-#if defined(CONFIG_MPC512x_FEC)
- mpc512x_fec_initialize (bis);
-#endif
#if defined(CONFIG_MPC8220_FEC)
mpc8220_fec_initialize(bis);
#endif