]> git.sur5r.net Git - u-boot/commitdiff
net: fec: set dev->seq to priv->dev_id
authorPeng Fan <peng.fan@nxp.com>
Wed, 28 Mar 2018 12:54:13 +0000 (20:54 +0800)
committerJoe Hershberger <joe.hershberger@ni.com>
Fri, 13 Apr 2018 20:47:38 +0000 (15:47 -0500)
To platforms has two enet interface, using dev->seq could
avoid conflict.

i.MX6UL/ULL evk board net get the wrong MAC address from fuse,
eth1 get MAC0 address, eth0 get MAC1 address from fuse. Set the
priv->dev_id to device->seq as the real net interface alias id then
.fec_get_hwaddr() read the related MAC address from fuse.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/fec_mxc.c

index 74d36f479ec9b59301cb2002c94e783986c0e564..1f752d75c76b75aff1d0345f45ba61652e4dad1d 100644 (file)
@@ -1251,7 +1251,6 @@ static int fecmxc_probe(struct udevice *dev)
        struct eth_pdata *pdata = dev_get_platdata(dev);
        struct fec_priv *priv = dev_get_priv(dev);
        struct mii_dev *bus = NULL;
-       int dev_id = -1;
        uint32_t start;
        int ret;
 
@@ -1272,9 +1271,9 @@ static int fecmxc_probe(struct udevice *dev)
        }
 
        fec_reg_setup(priv);
-       priv->dev_id = (dev_id == -1) ? 0 : dev_id;
 
-       bus = fec_get_miibus((ulong)priv->eth, dev_id);
+       priv->dev_id = dev->seq;
+       bus = fec_get_miibus((ulong)priv->eth, dev->seq);
        if (!bus) {
                ret = -ENOMEM;
                goto err_mii;