[U-Boot] [PATCH v2] omap3evm: Set environment variable 'ethaddr'
Sanjeev Premi
premi at ti.com
Fri Sep 2 17:57:16 CEST 2011
It is now responsibility of the board specific init
code to set the environment variable corresponding
to the MAC address.
Signed-off-by: Sanjeev Premi <premi at ti.com>
---
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(-)
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index 30c1c57..ae3f713 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -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;
}
--
1.7.0.4
More information about the U-Boot
mailing list