diff options
-rw-r--r-- | arch/microblaze/lib/board.c | 12 | ||||
-rw-r--r-- | board/xilinx/microblaze-generic/microblaze-generic.c | 13 | ||||
-rw-r--r-- | 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 3ff5c17..0ce040e 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -31,6 +31,7 @@ #include <version.h> #include <watchdog.h> #include <stdio_dev.h> +#include <net.h> 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 838f131..744384c 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -27,6 +27,7 @@ #include <common.h> #include <config.h> +#include <netdev.h> #include <asm/microblaze_intc.h> #include <asm/asm.h> @@ -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 9301a6b..c30cc4c 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) |