[PATCH v3 3/4] arm: mvebu: dts: uDPU: fix non-working networking

Robert Marko robert.marko at sartura.hr
Thu Mar 24 10:57:38 CET 2022


uDPU is a bit of a specific device in that it does not have any copper
ports nor any ethernet PHY-s but 2 SFP ports.

This is an issue since MVNETA requires a PHY phandle or a fixed-link to
be defined under its node.
Since U-boot has no SFP support this is reasonable in order to know how
to configure the MAC.

However this also means that networking does not work on uDPU at all
currently, and fails with:

uDPU>> dhcp
Could not get PHY for neta at 30000: addr 0
phy_connect failed
Could not get PHY for neta at 40000: addr 1
phy_connect failed

So, to provide working networking using only SFP-s let add the fixed-link
at 1G which is much more common than 2.5G SFP-s as well as disable the
TX_DISABLE pins like done on Armada 7040 and 8040 platforms.

Since uDPU is not using any of the GPIO-s on the SB controller for any
purpose other than GPIO, a call to the pinctrl must be made in order for
it to get probed and thus register the SB GPIO bank, otherwise SB GPIO-s
are not registered at all.

Signed-off-by: Robert Marko <robert.marko at sartura.hr>
---
Changes in v2:
* Drop the custom SFP TX GPIO properties as they are parsed from the SFP
nodes now

 arch/arm/dts/armada-3720-uDPU-u-boot.dtsi | 24 +++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/arm/dts/armada-3720-uDPU-u-boot.dtsi b/arch/arm/dts/armada-3720-uDPU-u-boot.dtsi
index cf8ae4412b..47d87d4bd8 100644
--- a/arch/arm/dts/armada-3720-uDPU-u-boot.dtsi
+++ b/arch/arm/dts/armada-3720-uDPU-u-boot.dtsi
@@ -31,3 +31,27 @@
 &sdhci0 {
 	u-boot,dm-pre-reloc;
 };
+
+&pinctrl_sb {
+	sfp_pin: sfp-pin {
+		groups = "pcie1_clkreq";
+		function = "gpio";
+	};
+};
+
+&eth0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&sfp_pin>;
+
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+};
+
+&eth1 {
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+};
-- 
2.35.1



More information about the U-Boot mailing list