summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-ppc/u-boot.h14
-rw-r--r--lib_ppc/board.c54
2 files changed, 13 insertions, 55 deletions
diff --git a/include/asm-ppc/u-boot.h b/include/asm-ppc/u-boot.h
index 7451905841..e6c56e91bf 100644
--- a/include/asm-ppc/u-boot.h
+++ b/include/asm-ppc/u-boot.h
@@ -64,7 +64,7 @@ typedef struct bd_info {
#endif
unsigned long bi_bootflags; /* boot / reboot flag (for LynxOS) */
unsigned long bi_ip_addr; /* IP Address */
- unsigned char bi_enetaddr[6]; /* Ethernet adress */
+ unsigned char bi_enetaddr[6]; /* OLD: see README.enetaddr */
unsigned short bi_ethspeed; /* Ethernet speed in Mbps */
unsigned long bi_intfreq; /* Internal Freq, in MHz */
unsigned long bi_busfreq; /* Bus Freq, in MHz */
@@ -101,21 +101,19 @@ typedef struct bd_info {
#endif
#ifdef CONFIG_HAS_ETH1
- /* second onboard ethernet port */
- unsigned char bi_enet1addr[6];
+ unsigned char bi_enet1addr[6]; /* OLD: see README.enetaddr */
#endif
#ifdef CONFIG_HAS_ETH2
- /* third onboard ethernet port */
- unsigned char bi_enet2addr[6];
+ unsigned char bi_enet2addr[6]; /* OLD: see README.enetaddr */
#endif
#ifdef CONFIG_HAS_ETH3
- unsigned char bi_enet3addr[6];
+ unsigned char bi_enet3addr[6]; /* OLD: see README.enetaddr */
#endif
#ifdef CONFIG_HAS_ETH4
- unsigned char bi_enet4addr[6];
+ unsigned char bi_enet4addr[6]; /* OLD: see README.enetaddr */
#endif
#ifdef CONFIG_HAS_ETH5
- unsigned char bi_enet5addr[6];
+ unsigned char bi_enet5addr[6]; /* OLD: see README.enetaddr */
#endif
#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 10a4d37e29..a63f4b3016 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -878,12 +878,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
mac_read_from_eeprom();
#endif
- s = getenv ("ethaddr");
- for (i = 0; i < 6; ++i) {
- bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
#ifdef CONFIG_HERMES
if ((gd->board_type >> 16) == 2)
bd->bi_ethspeed = gd->board_type & 0xFFFF;
@@ -891,56 +885,22 @@ void board_init_r (gd_t *id, ulong dest_addr)
bd->bi_ethspeed = 0xFFFF;
#endif
+ /* kept around for legacy kernels only ... ignore the next section */
+ eth_getenv_enetaddr("ethaddr", bd->bi_enetaddr);
#ifdef CONFIG_HAS_ETH1
- /* handle the 2nd ethernet address */
-
- s = getenv ("eth1addr");
-
- for (i = 0; i < 6; ++i) {
- bd->bi_enet1addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
+ eth_getenv_enetaddr("eth1addr", bd->bi_enet1addr);
#endif
#ifdef CONFIG_HAS_ETH2
- /* handle the 3rd ethernet address */
-
- s = getenv ("eth2addr");
- for (i = 0; i < 6; ++i) {
- bd->bi_enet2addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
+ eth_getenv_enetaddr("eth2addr", bd->bi_enet2addr);
#endif
-
#ifdef CONFIG_HAS_ETH3
- /* handle 4th ethernet address */
- s = getenv("eth3addr");
- for (i = 0; i < 6; ++i) {
- bd->bi_enet3addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
+ eth_getenv_enetaddr("eth3addr", bd->bi_enet3addr);
#endif
-
#ifdef CONFIG_HAS_ETH4
- /* handle 5th ethernet address */
- s = getenv("eth4addr");
- for (i = 0; i < 6; ++i) {
- bd->bi_enet4addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
+ eth_getenv_enetaddr("eth4addr", bd->bi_enet4addr);
#endif
-
#ifdef CONFIG_HAS_ETH5
- /* handle 6th ethernet address */
- s = getenv("eth5addr");
- for (i = 0; i < 6; ++i) {
- bd->bi_enet5addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
+ eth_getenv_enetaddr("eth5addr", bd->bi_enet5addr);
#endif
/* IP Address */
OpenPOWER on IntegriCloud