From bf1f1668bb94b8b5bea9364337d77f962b52cb4e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pali=20Roh=C3=A1r?= Date: Mon, 14 Feb 2022 11:34:26 +0100 Subject: [PATCH] arm: mvebu: turris_mox: Remove hardcoded ethernet node names MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Armada 3720 DTS files in upstream kernel use ethernet nodes named 'ethernet@30000' and 'ethernet@40000'. U-Boot have them named 'neta@30000' and 'neta@40000'. To have Turris Mox U-Boot board code independent of ethernet node names, find ethernet node via alias. Signed-off-by: Pali Rohár Reviewed-by: Stefan Roese --- board/CZ.NIC/turris_mox/turris_mox.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c index f0c5aa6a52..8888a2dcab 100644 --- a/board/CZ.NIC/turris_mox/turris_mox.c +++ b/board/CZ.NIC/turris_mox/turris_mox.c @@ -375,8 +375,22 @@ static void mox_phy_leds_start_blinking(void) { struct phy_device *phydev; struct mii_dev *bus; + const char *node_name; + int node; + + node = fdt_path_offset(gd->fdt_blob, "ethernet0"); + if (node < 0) { + printf("Cannot get eth0!\n"); + return; + } - bus = miiphy_get_dev_by_name("neta@30000"); + node_name = fdt_get_name(gd->fdt_blob, node, NULL); + if (!node_name) { + printf("Cannot get eth0 node name!\n"); + return; + } + + bus = miiphy_get_dev_by_name(node_name); if (!bus) { printf("Cannot get MDIO bus device!\n"); return; @@ -623,8 +637,12 @@ int last_stage_init(void) */ if (peridot || topaz) { struct mii_dev *bus; + const char *node_name; + int node; - bus = miiphy_get_dev_by_name("neta@30000"); + node = fdt_path_offset(gd->fdt_blob, "ethernet0"); + node_name = (node >= 0) ? fdt_get_name(gd->fdt_blob, node, NULL) : NULL; + bus = node_name ? miiphy_get_dev_by_name(node_name) : NULL; if (!bus) { printf("Cannot get MDIO bus device!\n"); } else { -- 2.39.5