summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/ti/evm/evm.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index b17c0fb..8c43463 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -217,7 +217,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;
}