[U-Boot] [PATCH v1] colibri_vf: fix ethernet by adding explicit phy node

From: Marcel Ziswiler marcel.ziswiler@toradex.com
The implicit fallback mechanism for searching the whole MDIO bus for at least one PHY has been gone with the following commit b882005a18de ("drivers/net/fec: phy_init: remove redundant logic"). This lead to the Ethernet driver erroring out as follows:
Net: Could not get PHY for FEC0: addr -19 eth-1: fec@400d1000 Colibri VFxx # dhcp Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 No ethernet found. Could not get PHY for FEC0: addr -19 Colibri VFxx #
This commit adds an explicit PHY node which makes it work again.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com
---
arch/arm/dts/vf-colibri.dtsi | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm/dts/vf-colibri.dtsi b/arch/arm/dts/vf-colibri.dtsi index 5ce17076e9..91ca4e4ddd 100644 --- a/arch/arm/dts/vf-colibri.dtsi +++ b/arch/arm/dts/vf-colibri.dtsi @@ -60,11 +60,24 @@ status = "okay"; };
+/* Ethernet */ &fec1 { phy-mode = "rmii"; + phy-handle = <ðphy1>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec1>; status = "okay"; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + ethphy1: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + max-speed = <100>; + reg = <1>; + }; + }; };
&i2c0 {

Marcel Ziswiler marcel@ziswiler.com schrieb am 28.03.2019 23:24:50:
Von: Marcel Ziswiler marcel@ziswiler.com An: u-boot@lists.denx.de Kopie: Hannes Schmelzer hannes.schmelzer@br-automation.com, Marcel
Ziswiler
marcel.ziswiler@toradex.com, Albert Aribaud
Stefan Agner stefan.agner@toradex.com Datum: 28.03.2019 23:25 Betreff: [PATCH v1] colibri_vf: fix ethernet by adding explicit phy node
From: Marcel Ziswiler marcel.ziswiler@toradex.com
The implicit fallback mechanism for searching the whole MDIO bus for at least one PHY has been gone with the following commit b882005a18de ("drivers/net/fec: phy_init: remove redundant logic"). This lead to the Ethernet driver erroring out as follows:
Net: Could not get PHY for FEC0: addr -19 eth-1: fec@400d1000 Colibri VFxx # dhcp Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 No ethernet found. Could not get PHY for FEC0: addr -19 Colibri VFxx #
This commit adds an explicit PHY node which makes it work again.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com
Looks good to me, now the hardware is fully defined, which should be the normal case.
I will provide today a patch which "brings back" the fallback mechanism within the "phy-subsystem". This should be the starting point for the disussion if we need such fallback or if we want describe our hardware.
Reviewed-by: Hannes Schmelzer hannes.schmelzer@br-automation.com

Reviewed-by: Igor Opaniuk igor.opaniuk@toradex.com
On Fri, Mar 29, 2019 at 12:25 AM Marcel Ziswiler marcel@ziswiler.com wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
The implicit fallback mechanism for searching the whole MDIO bus for at least one PHY has been gone with the following commit b882005a18de ("drivers/net/fec: phy_init: remove redundant logic"). This lead to the Ethernet driver erroring out as follows:
Net: Could not get PHY for FEC0: addr -19 eth-1: fec@400d1000 Colibri VFxx # dhcp Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 No ethernet found. Could not get PHY for FEC0: addr -19 Colibri VFxx #
This commit adds an explicit PHY node which makes it work again.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com
arch/arm/dts/vf-colibri.dtsi | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm/dts/vf-colibri.dtsi b/arch/arm/dts/vf-colibri.dtsi index 5ce17076e9..91ca4e4ddd 100644 --- a/arch/arm/dts/vf-colibri.dtsi +++ b/arch/arm/dts/vf-colibri.dtsi @@ -60,11 +60,24 @@ status = "okay"; };
+/* Ethernet */ &fec1 { phy-mode = "rmii";
phy-handle = <ðphy1>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec1>; status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
max-speed = <100>;
reg = <1>;
};
};
};
&i2c0 {
2.20.1
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

From: Marcel Ziswiler marcel.ziswiler@toradex.com The implicit fallback mechanism for searching the whole MDIO bus for at least one PHY has been gone with the following commit b882005a18de ("drivers/net/fec: phy_init: remove redundant logic"). This lead to the Ethernet driver erroring out as follows: Net: Could not get PHY for FEC0: addr -19 eth-1: fec@400d1000 Colibri VFxx # dhcp Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 Could not get PHY for FEC0: addr -19 No ethernet found. Could not get PHY for FEC0: addr -19 Colibri VFxx # This commit adds an explicit PHY node which makes it work again. Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Hannes Schmelzer hannes.schmelzer@br-automation.com Reviewed-by: Igor Opaniuk igor.opaniuk@toradex.com
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (4)
-
Hannes Schmelzer
-
Igor Opaniuk
-
Marcel Ziswiler
-
sbabic@denx.de