summaryrefslogtreecommitdiffstats
path: root/drivers/net/designware.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/designware.c')
-rw-r--r--drivers/net/designware.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 49ddaa2..58880b0 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -408,12 +408,22 @@ static void dwc_version(struct device_d *dev, u32 hwid)
static int dwc_probe_dt(struct device_d *dev, struct dw_eth_dev *priv)
{
+ struct device_node *child;
+
if (!IS_ENABLED(CONFIG_OFTREE))
return -ENODEV;
priv->phy_addr = -1;
priv->interface = of_get_phy_mode(dev->device_node);
+ /* Set MDIO bus device node, if present. */
+ for_each_child_of_node(dev->device_node, child) {
+ if (of_device_is_compatible(child, "snps,dwmac-mdio")) {
+ priv->miibus.dev.device_node = child;
+ break;
+ }
+ }
+
return 0;
}