diff options
author | Stefan Roese <sr@denx.de> | 2007-08-14 16:36:29 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2007-08-14 16:36:29 +0200 |
commit | 3b3bff4cbf2cb14f9a3e7d03f26ebab900efe4ae (patch) | |
tree | fb66bf8861d9f78765160d734a438856f5317cdb /drivers/dm9000x.c | |
parent | 4ce846ec59f36b85d6644a769690ad3feb667575 (diff) | |
parent | 4ef35e53c693556c54b0c22d6f873de87bade253 (diff) | |
download | u-boot-imx-3b3bff4cbf2cb14f9a3e7d03f26ebab900efe4ae.zip u-boot-imx-3b3bff4cbf2cb14f9a3e7d03f26ebab900efe4ae.tar.gz u-boot-imx-3b3bff4cbf2cb14f9a3e7d03f26ebab900efe4ae.tar.bz2 |
Merge with git://www.denx.de/git/u-boot.git
Diffstat (limited to 'drivers/dm9000x.c')
-rw-r--r-- | drivers/dm9000x.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/dm9000x.c b/drivers/dm9000x.c index 6877076..78acb09 100644 --- a/drivers/dm9000x.c +++ b/drivers/dm9000x.c @@ -302,6 +302,21 @@ eth_init(bd_t * bd) /* Set Node address */ for (i = 0; i < 6; i++) ((u16 *) bd->bi_enetaddr)[i] = read_srom_word(i); + + if (!is_zero_ether_addr(bd->bi_enetaddr) && + !is_mutlicast_ether_addr(bd->bi_enetaddr)) { + /* try reading from environment */ + u8 i; + char *s, *e; + 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; + } + } + printf("MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", bd->bi_enetaddr[0], bd->bi_enetaddr[1], bd->bi_enetaddr[2], bd->bi_enetaddr[3], bd->bi_enetaddr[4], bd->bi_enetaddr[5]); |