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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux