
initialize mac address with the value from "ethaddr", before doing some network commands. This is not in line with u-boot design principle "not to initalize not used devices", and maybe should go away, if there is a solution for passing the mac address to arm linux kernels.
Tested on the suen3 board.
Signed-off-by: Heiko Schocher hs@denx.de --- posting this patch as a result of this discussion:
http://lists.denx.de/pipermail/u-boot/2010-March/069025.html
drivers/net/kirkwood_egiga.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c index 2ad7fea..e8b3777 100644 --- a/drivers/net/kirkwood_egiga.c +++ b/drivers/net/kirkwood_egiga.c @@ -678,7 +678,7 @@ int kirkwood_egiga_initialize(bd_t * bis) return -1; }
- while (!eth_getenv_enetaddr(s, dev->enetaddr)) { + if (!eth_getenv_enetaddr(s, dev->enetaddr)) { /* Generate Random Private MAC addr if not set */ dev->enetaddr[0] = 0x02; dev->enetaddr[1] = 0x50; @@ -688,6 +688,7 @@ int kirkwood_egiga_initialize(bd_t * bis) dev->enetaddr[5] = get_random_hex(); eth_setenv_enetaddr(s, dev->enetaddr); } + port_uc_addr_set(dkwgbe->regs, dev->enetaddr);
dev->init = (void *)kwgbe_init; dev->halt = (void *)kwgbe_halt;