Skip to contentSkip to conversation

omap3evm: Set environment variable 'ethaddr'

PATCH New Sanjeev Premi 2 participants 2 messages Sep 2, 2011 – Oct 25, 2011

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 omap3evm: Set environment variable 'ethaddr'

It is now responsibility of the board specific init code to set the environment variable corresponding to the MAC address.

---

Changes in v2:
- Ensure that environment variable is set iff
it wasn't already set earlier.

Tested on omap3evm at against latest master at:
bd061a5 : Merge branch 'master' of git://git.denx.de/u-boot-sh

To build successfully, make this substituion in board/ti/evm/evm.c:
-#include <asm/arch/gpio.h>
+#include <asm/omap_gpio.h>
This problem was addressed in separate RFC. Patches
will follow shortly. (Substituion is not real fix).

 board/ti/evm/evm.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
board/ti/evm/evm.c +15 -0
index 30c1c57..ae3f713 100644
@@ -216,7 +216,22 @@ int board_eth_init(bd_t *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
+#define STR_ENV_ETHADDR	"ethaddr"
+
+	struct eth_device *dev;
+	uchar eth_addr[6];
+
 	rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
+
+	if (!eth_getenv_enetaddr(STR_ENV_ETHADDR, eth_addr)) {
+		dev = eth_get_dev_by_index(0);
+		if (dev) {
+			eth_setenv_enetaddr(STR_ENV_ETHADDR, dev->enetaddr);
+		} else {
+			printf("omap3evm: Couldn't get eth device\n");
+			rc = -1;
+		}
+	}
 #endif
 	return rc;
 }
Signature · 1 line
1.7.0.4
#1 lore raw

PATCH v2 1/1 omap3evm: Set environment variable 'ethaddr'

Quoted 18 lines

-----Original Message-----
From: Premi, Sanjeev
Sent: Friday, September 02, 2011 9:27 PM
To: u-boot at lists.denx.de
Cc: Premi, Sanjeev
Subject: [PATCH v2] omap3evm: Set environment variable 'ethaddr'

It is now responsibility of the board specific init code to set the environment variable corresponding to the MAC address.

---

Changes in v2:
- Ensure that environment variable is set iff it wasn't already set earlier.

Quoted 8 lines

Tested on omap3evm at against latest master at:
bd061a5 : Merge branch 'master' of git://git.denx.de/u-boot-sh

To build successfully, make this substituion in board/ti/evm/evm.c:
-#include <asm/arch/gpio.h>
+#include <asm/omap_gpio.h>
This problem was addressed in separate RFC. Patches
will follow shortly. (Substituion is not real fix).

Sandeep,

Wanted to check the status of this patch.
I believe I have addressed all concerns in v2.

Also, with generic gpio patches merged in, the "substitution" mentioned above is not necessary.

I just validated this patch on ti/master. It applies cleanly and works fine.

~sanjeev

Quoted 36 lines
 board/ti/evm/evm.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
board/ti/evm/evm.c +15 -0
index 30c1c57..ae3f713 100644
@@ -216,7 +216,22 @@ int board_eth_init(bd_t *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
+#define STR_ENV_ETHADDR	"ethaddr"
+
+	struct eth_device *dev;
+	uchar eth_addr[6];
+
 	rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
+
+	if (!eth_getenv_enetaddr(STR_ENV_ETHADDR, eth_addr)) {
+		dev = eth_get_dev_by_index(0);
+		if (dev) {
+			eth_setenv_enetaddr(STR_ENV_ETHADDR, 
 dev->enetaddr);
+		} else {
+			printf("omap3evm: Couldn't get eth device\n");
+			rc = -1;
+		}
+	}
 #endif
 	return rc;

}

Signature · 1 line
1.7.0.4