The bcmgenet device tree binding describes the MDIO controller as a subnode of the Ethernet controller node. Linux handles this by having a driver for each of the MAC and MDIO controller, but in barebox we keep a single driver and largely ignore the subnode. Since Commit 8abc2059298d ("net: add support for MDIO devices"), this leads to following error message: ERROR: miibus0: /scb/ethernet@7d580000/mdio@e14 PHY address 3604 is too large Give the MII bus the correct device tree node to fix this. We already do it this way in the designware_eqos driver. This was tested on a Raspberry Pi 4b, where Link up and reading PHY ID of 600d 84a2 is sensible (matches PHY_ID_BCM54210E). DHCP though didn't work for me with or without this patch. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/net/bcmgenet.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/bcmgenet.c b/drivers/net/bcmgenet.c index 2098e73b5cea..03389db8749b 100644 --- a/drivers/net/bcmgenet.c +++ b/drivers/net/bcmgenet.c @@ -577,6 +577,8 @@ static int bcmgenet_probe(struct device_d *dev) priv->miibus.priv = priv; priv->miibus.parent = dev; + priv->miibus.dev.device_node + = of_get_compatible_child(dev->device_node, "brcm,genet-mdio-v5"); ret = mdiobus_register(&priv->miibus); if (ret) -- 2.30.2