diff options
-rw-r--r-- | board/cm-bf537e/cm-bf537e.c | 34 | ||||
-rw-r--r-- | board/cm-bf537u/cm-bf537u.c | 39 | ||||
-rw-r--r-- | board/tcm-bf537/tcm-bf537.c | 34 | ||||
-rw-r--r-- | include/configs/cm-bf537e.h | 3 | ||||
-rw-r--r-- | include/configs/cm-bf537u.h | 8 | ||||
-rw-r--r-- | include/configs/tcm-bf537.h | 4 |
6 files changed, 75 insertions, 47 deletions
diff --git a/board/cm-bf537e/cm-bf537e.c b/board/cm-bf537e/cm-bf537e.c index 1e350dc064..38dbc6e732 100644 --- a/board/cm-bf537e/cm-bf537e.c +++ b/board/cm-bf537e/cm-bf537e.c @@ -24,27 +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]; + + 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 } +#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 bfin_EMAC_initialize(bis); + /* 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(); diff --git a/board/cm-bf537u/cm-bf537u.c b/board/cm-bf537u/cm-bf537u.c index 4b7e8642c9..a62ddd62b6 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(); diff --git a/board/tcm-bf537/tcm-bf537.c b/board/tcm-bf537/tcm-bf537.c index 04d6bdbd3e..004e0d9bb1 100644 --- a/board/tcm-bf537/tcm-bf537.c +++ b/board/tcm-bf537/tcm-bf537.c @@ -24,27 +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]; + + 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 } +#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 bfin_EMAC_initialize(bis); + /* 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(); diff --git a/include/configs/cm-bf537e.h b/include/configs/cm-bf537e.h index 04bca6cb29..3ee7738cfb 100644 --- a/include/configs/cm-bf537e.h +++ b/include/configs/cm-bf537e.h @@ -65,6 +65,9 @@ #ifndef __ADSPBF534__ #define ADI_CMDS_NETWORK 1 #define CONFIG_BFIN_MAC +#define CONFIG_SMC911X 1 +#define CONFIG_SMC911X_BASE 0x20308000 +#define CONFIG_SMC911X_16_BIT #define CONFIG_NETCONSOLE 1 #define CONFIG_NET_MULTI 1 #endif diff --git a/include/configs/cm-bf537u.h b/include/configs/cm-bf537u.h index af2fe896ad..c79192671d 100644 --- a/include/configs/cm-bf537u.h +++ b/include/configs/cm-bf537u.h @@ -63,11 +63,11 @@ */ #ifndef __ADSPBF534__ #define ADI_CMDS_NETWORK 1 -#define CONFIG_NET_MULTI -/* The next 3 lines are for use with SMSC on EXT-BF5xx-USB-ETH2 */ -#define CONFIG_SMC911X 1 -#define CONFIG_SMC911X_BASE 0x24000000 +#define CONFIG_SMC911X 1 +#define CONFIG_SMC911X_BASE 0x20308000 #define CONFIG_SMC911X_16_BIT +#define CONFIG_NETCONSOLE 1 +#define CONFIG_NET_MULTI 1 #endif #define CONFIG_HOSTNAME cm-bf537u /* Uncomment next line to use fixed MAC address */ diff --git a/include/configs/tcm-bf537.h b/include/configs/tcm-bf537.h index 9a6100e39c..f2c5b989dd 100644 --- a/include/configs/tcm-bf537.h +++ b/include/configs/tcm-bf537.h @@ -62,10 +62,12 @@ /* * Network Settings */ -/* TCM-BF537E has no PHY on it, but EXT-BF5xx-USB/Ethernet board has */ #ifndef __ADSPBF534__ #define ADI_CMDS_NETWORK 1 #define CONFIG_BFIN_MAC +#define CONFIG_SMC911X 1 +#define CONFIG_SMC911X_BASE 0x20308000 +#define CONFIG_SMC911X_16_BIT #define CONFIG_NETCONSOLE 1 #define CONFIG_NET_MULTI 1 #endif |