
On 2/14/22 11:34, Pali Rohár wrote:
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
Thanks, Stefan
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 f0c5aa6a520b..8888a2dcabcd 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;
if (!bus) { printf("Cannot get MDIO bus device!\n"); } else {bus = node_name ? miiphy_get_dev_by_name(node_name) : NULL;
Viele Grüße, Stefan Roese