diff options
author | Ben Warren <biggerbadderben@gmail.com> | 2008-10-22 23:47:51 -0700 |
---|---|---|
committer | Ben Warren <biggerbadderben@gmail.com> | 2008-11-09 21:38:03 -0800 |
commit | a9bec96d6359ac9f90a852962bf3040cad9e0256 (patch) | |
tree | 5b35fe86d97779beec933cb64331b374ce60f38d | |
parent | 0e8454e990385a58f708c2fc26d31ac041c7a6c5 (diff) |
Moved initialization of MPC8220 FEC to cpu_eth_init()
Removed initialization of the driver from net/eth.c
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r-- | board/sorcery/sorcery.c | 2 | ||||
-rw-r--r-- | cpu/mpc8220/cpu.c | 13 | ||||
-rw-r--r-- | include/netdev.h | 1 | ||||
-rw-r--r-- | net/eth.c | 4 |
4 files changed, 16 insertions, 4 deletions
diff --git a/board/sorcery/sorcery.c b/board/sorcery/sorcery.c index 3e1bd6f0cf3..90d4298020d 100644 --- a/board/sorcery/sorcery.c +++ b/board/sorcery/sorcery.c @@ -62,5 +62,7 @@ void pci_init_board (void) int board_eth_init(bd_t *bis) { + /* Initialize built-in FEC first */ + cpu_eth_init(bis); return pci_eth_init(bis); } diff --git a/cpu/mpc8220/cpu.c b/cpu/mpc8220/cpu.c index 5b3fdd32c16..563cfe0536b 100644 --- a/cpu/mpc8220/cpu.c +++ b/cpu/mpc8220/cpu.c @@ -29,6 +29,7 @@ #include <watchdog.h> #include <command.h> #include <mpc8220.h> +#include <netdev.h> #include <asm/processor.h> DECLARE_GLOBAL_DATA_PTR; @@ -89,3 +90,15 @@ unsigned long get_tbclk (void) } /* ------------------------------------------------------------------------- */ + +/* + * Initializes on-chip ethernet controllers. + * to override, implement board_eth_init() + */ +int cpu_eth_init(bd_t *bis) +{ +#if defined(CONFIG_MPC8220_FEC) + mpc8220_fec_initialize(bis); +#endif + return 0; +} diff --git a/include/netdev.h b/include/netdev.h index 3b11961c8b9..55183e87a14 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -56,6 +56,7 @@ int mcdmafec_initialize(bd_t *bis); int mcffec_initialize(bd_t *bis); int mpc512x_fec_initialize(bd_t *bis); int mpc5xxx_fec_initialize(bd_t *bis); +int mpc8220_fec_initialize(bd_t *bis); int natsemi_initialize(bd_t *bis); int npe_initialize(bd_t *bis); int ns8382x_initialize(bd_t *bis); diff --git a/net/eth.c b/net/eth.c index 3793dd7cb8a..d5431639aee 100644 --- a/net/eth.c +++ b/net/eth.c @@ -39,7 +39,6 @@ static int __def_eth_init(bd_t *bis) 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 mpc8220_fec_initialize(bd_t*); extern int mv6436x_eth_initialize(bd_t *); extern int mv6446x_eth_initialize(bd_t *); extern int ppc_4xx_eth_initialize(bd_t *); @@ -161,9 +160,6 @@ int eth_initialize(bd_t *bis) #ifdef SCC_ENET scc_initialize(bis); #endif -#if defined(CONFIG_MPC8220_FEC) - mpc8220_fec_initialize(bis); -#endif if (!eth_devices) { puts ("No ethernet found.\n"); show_boot_progress (-64); |