[PATCH master] net: bcmgenet: fix OF node of MII bus controller

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Nov 30 03:51:57 PST 2022

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 at 7d580000/mdio at e14 PHY address 3604 is too

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 at pengutronix.de>
 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)

More information about the barebox mailing list