summaryrefslogtreecommitdiff
path: root/lib_blackfin/board.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-02-22 16:02:27 -0500
committerMike Frysinger <vapier@gentoo.org>2009-03-23 15:14:52 -0400
commit8996d1608acb8f59fcb186dc7ed7d87f8fee1297 (patch)
treeadfb1e7b29e504df47736b1929af851e13b1f79b /lib_blackfin/board.c
parentc6ea30e52ea82af4858d2b6f99e0fd2ea276d657 (diff)
downloadu-boot-imx-8996d1608acb8f59fcb186dc7ed7d87f8fee1297.zip
u-boot-imx-8996d1608acb8f59fcb186dc7ed7d87f8fee1297.tar.gz
u-boot-imx-8996d1608acb8f59fcb186dc7ed7d87f8fee1297.tar.bz2
Blackfin: unify net-related init code
Unify all of the net-related init code in the common Blackfin board init code to clean up the ifdef mess a bit. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'lib_blackfin/board.c')
-rw-r--r--lib_blackfin/board.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c
index 537f69a..cc89590 100644
--- a/lib_blackfin/board.c
+++ b/lib_blackfin/board.c
@@ -291,6 +291,25 @@ void board_init_f(ulong bootflag)
board_init_r((gd_t *) gd, 0x20000010);
}
+static void board_net_init_r(bd_t *bd)
+{
+#ifdef CONFIG_CMD_NET
+ uchar enetaddr[6];
+ char *s;
+
+ if ((s = getenv("bootfile")) != NULL)
+ copy_filename(BootFile, s, sizeof(BootFile));
+
+ bd->bi_ip_addr = getenv_IPaddr("ipaddr");
+
+ printf("Net: ");
+ eth_initialize(gd->bd);
+
+ eth_getenv_enetaddr("ethaddr", enetaddr);
+ printf("MAC: %pM\n", enetaddr);
+#endif
+}
+
void board_init_r(gd_t * id, ulong dest_addr)
{
extern void malloc_bin_reloc(void);
@@ -349,22 +368,13 @@ void board_init_r(gd_t * id, ulong dest_addr)
/* Initialize from environment */
if ((s = getenv("loadaddr")) != NULL)
load_addr = simple_strtoul(s, NULL, 16);
-#ifdef CONFIG_CMD_NET
- if ((s = getenv("bootfile")) != NULL)
- copy_filename(BootFile, s, sizeof(BootFile));
-#endif
#if defined(CONFIG_MISC_INIT_R)
/* miscellaneous platform dependent initialisations */
misc_init_r();
#endif
-#ifdef CONFIG_CMD_NET
- /* IP Address */
- bd->bi_ip_addr = getenv_IPaddr("ipaddr");
- printf("Net: ");
- eth_initialize(gd->bd);
-#endif
+ board_net_init_r(bd);
display_global_data();