microblaze: Add support for NET_MULTI api

Microblaze hasn't supported NET_MULTI support.

Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
Michal Simek 2010-08-02 14:42:09 +02:00
parent 4aecfb1602
commit d69f8f41af
3 changed files with 25 additions and 2 deletions

View file

@ -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 */

View file

@ -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
}

View file

@ -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)