|
@@ -758,6 +758,9 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
|
|
|
|
|
|
if (!dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
|
|
|
&phandle_args)) {
|
|
|
+ fdt_addr_t addr;
|
|
|
+ ofnode parent;
|
|
|
+
|
|
|
debug("phy-handle does exist %s\n", dev->name);
|
|
|
priv->phyaddr = ofnode_read_u32_default(phandle_args.node,
|
|
|
"reg", -1);
|
|
@@ -765,6 +768,13 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
|
|
|
priv->max_speed = ofnode_read_u32_default(phandle_args.node,
|
|
|
"max-speed",
|
|
|
SPEED_1000);
|
|
|
+
|
|
|
+ parent = ofnode_get_parent(phandle_args.node);
|
|
|
+ addr = ofnode_get_addr(parent);
|
|
|
+ if (addr != FDT_ADDR_T_NONE) {
|
|
|
+ debug("MDIO bus not found %s\n", dev->name);
|
|
|
+ priv->mdiobase = (struct zynq_gem_regs *)addr;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
phy_mode = dev_read_prop(dev, "phy-mode", NULL);
|