From bf1f1668bb94b8b5bea9364337d77f962b52cb4e Mon Sep 17 00:00:00 2001
From: =?utf8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
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 <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
---
 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