Merge tag 'u-boot-imx-20200623' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[oweals/u-boot.git] / drivers / net / fec_mxc.c
index 9ae2db033e66b253b1526b38d1128d013ff25cd9..992180df869bc163bed99eb371b7ef4688e74ab3 100644 (file)
@@ -1294,7 +1294,7 @@ static const struct eth_ops fecmxc_ops = {
        .read_rom_hwaddr        = fecmxc_read_rom_hwaddr,
 };
 
-static int device_get_phy_addr(struct udevice *dev)
+static int device_get_phy_addr(struct fec_priv *priv, struct udevice *dev)
 {
        struct ofnode_phandle_args phandle_args;
        int reg;
@@ -1305,6 +1305,8 @@ static int device_get_phy_addr(struct udevice *dev)
                return -ENODEV;
        }
 
+       priv->phy_of_node = phandle_args.node;
+
        reg = ofnode_read_u32_default(phandle_args.node, "reg", 0);
 
        return reg;
@@ -1315,7 +1317,7 @@ static int fec_phy_init(struct fec_priv *priv, struct udevice *dev)
        struct phy_device *phydev;
        int addr;
 
-       addr = device_get_phy_addr(dev);
+       addr = device_get_phy_addr(priv, dev);
 #ifdef CONFIG_FEC_MXC_PHYADDR
        addr = CONFIG_FEC_MXC_PHYADDR;
 #endif
@@ -1325,6 +1327,7 @@ static int fec_phy_init(struct fec_priv *priv, struct udevice *dev)
                return -ENODEV;
 
        priv->phydev = phydev;
+       priv->phydev->node = priv->phy_of_node;
        phy_config(phydev);
 
        return 0;