[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