diff options
author | Andy Duan <fugang.duan@nxp.com> | 2017-01-19 14:22:29 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-04-05 14:04:37 +0800 |
commit | b524c433d3bf9d98c60a79528adb7ab4c0605862 (patch) | |
tree | 1c8ebb393c0891a88f287e37130352879b8bbe82 /drivers/net | |
parent | 34e343d7ebd5b7c8f53dc9e38c0a6eec04d05f8e (diff) | |
download | u-boot-imx-b524c433d3bf9d98c60a79528adb7ab4c0605862.zip u-boot-imx-b524c433d3bf9d98c60a79528adb7ab4c0605862.tar.gz u-boot-imx-b524c433d3bf9d98c60a79528adb7ab4c0605862.tar.bz2 |
MLK-13782 net: fec_mxc: specify the registered eth index by dev_id
Specify the registered eth index by dev_id.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit df42b7b0c5e6847f32419075eb25f274ed039d6f)
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fec_mxc.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 93c0993..2430f09 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1025,6 +1025,7 @@ static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, struct eth_device *edev; struct fec_priv *fec; unsigned char ethaddr[6]; + char mac[16]; uint32_t start; int ret = 0; @@ -1087,12 +1088,18 @@ static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, fec->phy_id = phy_id; #endif eth_register(edev); + /* only support one eth device, the index number pointed by dev_id */ + edev->index = fec->dev_id; if (fec_get_hwaddr(fec->dev_id, ethaddr) == 0) { debug("got MAC%d address from fuse: %pM\n", fec->dev_id, ethaddr); memcpy(edev->enetaddr, ethaddr, 6); - if (!getenv("ethaddr")) - eth_setenv_enetaddr("ethaddr", ethaddr); + if (fec->dev_id) + sprintf(mac, "eth%daddr", fec->dev_id); + else + strcpy(mac, "ethaddr"); + if (!getenv(mac)) + eth_setenv_enetaddr(mac, ethaddr); } return ret; err4: |