[U-Boot] [PATCH v2 1/4] net: mdio-uclass: name MDIO according to device-name property if preset

Alex Marginean alexandru.marginean at nxp.com
Thu Jul 25 09:33:17 UTC 2019


Use the optional property device-name to name the MDIO bus.  This works
around limitations with using the DT node name on devices such as
Armada-8040, which integrates two cp100 cores, both featuring MDIOs at the
same relative offsets and with the same DT node names.
The concept was originally proposed by Marvell as a custom property called
mdio-name specific to Marvell driver.  This patch uses the more generic
property device-name and moves this into MDIO class code so other can use
it as well.

Signed-off-by: Alex Marginean <alexm.osslist at gmail.com>
Acked-by: Joe Hershberger <joe.hershberger at ni.com>
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
---
 net/mdio-uclass.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/net/mdio-uclass.c b/net/mdio-uclass.c
index 36a404ff44..428f3a994f 100644
--- a/net/mdio-uclass.c
+++ b/net/mdio-uclass.c
@@ -23,6 +23,17 @@ void dm_mdio_probe_devices(void)
 
 static int dm_mdio_post_bind(struct udevice *dev)
 {
+	const char *dt_name;
+
+	/* set a custom name for the MDIO device, if present in DT */
+	if (ofnode_valid(dev->node)) {
+		dt_name = ofnode_read_string(dev->node, "device-name");
+		if (dt_name) {
+			debug("renaming dev %s to %s\n", dev->name, dt_name);
+			device_set_name(dev, dt_name);
+		}
+	}
+
 	/*
 	 * MDIO command doesn't like spaces in names, don't allow them to keep
 	 * it happy
-- 
2.17.1



More information about the U-Boot mailing list