diff options
author | Harald Krapfenbauer <harald.krapfenbauer@bluetechnix.com> | 2011-05-17 15:25:54 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-07-12 02:17:45 -0400 |
commit | fff18bee7ed5973093d809aaa71d71eb2ed63a19 (patch) | |
tree | 55d6af4609708e8eead6ba1646b20e16495835c8 /board/cm-bf537u | |
parent | 7ed998f629d00abb2aa97805346d4d2e9dbe71d7 (diff) | |
download | u-boot-imx-fff18bee7ed5973093d809aaa71d71eb2ed63a19.zip u-boot-imx-fff18bee7ed5973093d809aaa71d71eb2ed63a19.tar.gz u-boot-imx-fff18bee7ed5973093d809aaa71d71eb2ed63a19.tar.bz2 |
Blackfin: cm-bf537e/cm-bf537u/tcm-bf537: update network settings
These boards can have an addon card plugged onto them, so enable
support for it.
Signed-off-by: Harald Krapfenbauer <harald.krapfenbauer@bluetechnix.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'board/cm-bf537u')
-rw-r--r-- | board/cm-bf537u/cm-bf537u.c | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/board/cm-bf537u/cm-bf537u.c b/board/cm-bf537u/cm-bf537u.c index 4b7e864..a62ddd6 100644 --- a/board/cm-bf537u/cm-bf537u.c +++ b/board/cm-bf537u/cm-bf537u.c @@ -24,34 +24,37 @@ int checkboard(void) return 0; } -#ifdef CONFIG_BFIN_MAC -static void board_init_enetaddr(uchar *mac_addr) +static void board_init_enetaddr(char *var) { - puts("Warning: Generating 'random' MAC address\n"); - bfin_gen_rand_mac(mac_addr); - eth_setenv_enetaddr("ethaddr", mac_addr); -} +#ifdef CONFIG_NET_MULTI + uchar enetaddr[6]; -int board_eth_init(bd_t *bis) -{ - return bfin_EMAC_initialize(bis); -} + if (eth_getenv_enetaddr(var, enetaddr)) + return; + + printf("Warning: %s: generating 'random' MAC address\n", var); + bfin_gen_rand_mac(enetaddr); + eth_setenv_enetaddr(var, enetaddr); #endif +} -#ifdef CONFIG_SMC911X +#ifndef CONFIG_BFIN_MAC +# define bfin_EMAC_initialize(x) 1 +#endif +#ifndef CONFIG_SMC911X +# define smc911x_initialize(n, x) 1 +#endif int board_eth_init(bd_t *bis) { - return smc911x_initialize(0, CONFIG_SMC911X_BASE); + /* return ok if at least 1 eth device works */ + return bfin_EMAC_initialize(bis) & + smc911x_initialize(0, CONFIG_SMC911X_BASE); } -#endif int misc_init_r(void) { -#ifdef CONFIG_BFIN_MAC - uchar enetaddr[6]; - if (!eth_getenv_enetaddr("ethaddr", enetaddr)) - board_init_enetaddr(enetaddr); -#endif + board_init_enetaddr("ethaddr"); + board_init_enetaddr("eth1addr"); gpio_cfi_flash_init(); |