From d69f8f41af5c8a1cc0b062cf2c7fbbfdbfe8e72d Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 2 Aug 2010 14:42:09 +0200 Subject: microblaze: Add support for NET_MULTI api Microblaze hasn't supported NET_MULTI support. Signed-off-by: Michal Simek --- arch/microblaze/lib/board.c | 12 ++++++++++-- board/xilinx/microblaze-generic/microblaze-generic.c | 13 +++++++++++++ include/configs/microblaze-generic.h | 2 ++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index 3ff5c17d24..0ce040e9ef 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -31,6 +31,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -42,6 +43,7 @@ extern int gpio_init (void); #ifdef CONFIG_SYS_INTC_0 extern int interrupts_init (void); #endif + #if defined(CONFIG_CMD_NET) extern int eth_init (bd_t * bis); #endif @@ -165,8 +167,14 @@ void board_init (void) #if defined(CONFIG_CMD_NET) /* IP Address */ - bd->bi_ip_addr = getenv_IPaddr ("ipaddr"); - eth_init (bd); + bd->bi_ip_addr = getenv_IPaddr("ipaddr"); + + printf("Net: "); + eth_initialize(gd->bd); + + uchar enetaddr[6]; + eth_getenv_enetaddr("ethaddr", enetaddr); + printf("MAC: %pM\n", enetaddr); #endif /* main_loop */ diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index 838f1315b3..744384c1d3 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -66,3 +67,15 @@ int fsl_init2 (void) { return 0; } #endif + +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. + */ +#ifdef CONFIG_XILINX_EMACLITE + return xilinx_emaclite_initialize(bis, XILINX_EMACLITE_BASEADDR); +#endif +} diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h index 9301a6beec..c30cc4cbc8 100644 --- a/include/configs/microblaze-generic.h +++ b/include/configs/microblaze-generic.h @@ -243,9 +243,11 @@ #ifndef CONFIG_SYS_ENET # undef CONFIG_CMD_NET +# undef CONFIG_NET_MULTI #else # define CONFIG_CMD_PING # define CONFIG_CMD_DHCP +# define CONFIG_NET_MULTI #endif #if defined(CONFIG_SYSTEMACE) -- cgit v1.2.1