From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 4 Nov 2008 03:30:05 +0000 (-0500)
Subject: Blackfin: setup bi_enetaddr for single nets
X-Git-Tag: v2025.01-rc5-pxa1908~21536
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=84c5f0dc47d17593fd81206614891bdc94f6d51c;p=u-boot.git

Blackfin: setup bi_enetaddr for single nets

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

diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c
index 4aa859593e..03553ab841 100644
--- a/lib_blackfin/board.c
+++ b/lib_blackfin/board.c
@@ -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();