Browse Source

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>
imx_v2016.03_4.1.33_7ulp_beta
Andy Duan 4 years ago
parent
commit
df42b7b0c5
1 changed files with 9 additions and 2 deletions
  1. +9
    -2
      drivers/net/fec_mxc.c

+ 9
- 2
drivers/net/fec_mxc.c View File

@ -980,6 +980,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;
@ -1042,12 +1043,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(edev, 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:


Loading…
Cancel
Save