diff options
author | Pali Rohár <pali@kernel.org> | 2022-02-14 11:34:26 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2022-02-17 14:17:07 +0100 |
commit | bf1f1668bb94b8b5bea9364337d77f962b52cb4e (patch) | |
tree | 1777c07be139105ed3e5f03d52fe33303a5c66e3 | |
parent | 0c4625ac7dab5048b588d55e43ace109246df932 (diff) | |
download | u-boot-bf1f1668bb94b8b5bea9364337d77f962b52cb4e.zip u-boot-bf1f1668bb94b8b5bea9364337d77f962b52cb4e.tar.gz u-boot-bf1f1668bb94b8b5bea9364337d77f962b52cb4e.tar.bz2 |
arm: mvebu: turris_mox: Remove hardcoded ethernet node names
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>
-rw-r--r-- | board/CZ.NIC/turris_mox/turris_mox.c | 22 |
1 files 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 f0c5aa6..8888a2d 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 { |