]> git.sur5r.net Git - u-boot/commitdiff
Blackfin: setup bi_enetaddr for single nets
authorMike Frysinger <vapier@gentoo.org>
Tue, 4 Nov 2008 03:30:05 +0000 (22:30 -0500)
committerMike Frysinger <vapier@gentoo.org>
Mon, 2 Feb 2009 17:24:43 +0000 (12:24 -0500)
For systems with CONFIG_NET_MULTI disabled, bi_enetaddr does not get setup
based on $ethaddr, so set it up.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
lib_blackfin/board.c

index 4aa859593e7c323c700cd48cf210f236499e1ae8..03553ab84156651fed1cff280709765a6e3386ca 100644 (file)
@@ -391,10 +391,19 @@ void board_init_r(gd_t * id, ulong dest_addr)
 #ifdef CONFIG_CMD_NET
        printf("Net:   ");
        eth_initialize(gd->bd);
-       if (getenv("ethaddr"))
+       if ((s = getenv("ethaddr"))) {
+# ifndef CONFIG_NET_MULTI
+               size_t i;
+               char *e;
+               for (i = 0; i < 6; ++i) {
+                       bd->bi_enetaddr[i] = simple_strtoul(s, &e, 16);
+                       s = (*e) ? e + 1 : e;
+               }
+# endif
                printf("MAC:   %02X:%02X:%02X:%02X:%02X:%02X\n",
                        bd->bi_enetaddr[0], bd->bi_enetaddr[1], bd->bi_enetaddr[2],
                        bd->bi_enetaddr[3], bd->bi_enetaddr[4], bd->bi_enetaddr[5]);
+       }
 #endif
 
        display_global_data();