diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-02-22 16:02:27 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-03-23 15:14:52 -0400 |
commit | 8996d1608acb8f59fcb186dc7ed7d87f8fee1297 (patch) | |
tree | adfb1e7b29e504df47736b1929af851e13b1f79b /lib_blackfin/board.c | |
parent | c6ea30e52ea82af4858d2b6f99e0fd2ea276d657 (diff) | |
download | u-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.c | 30 |
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(); |