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.ossl...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to