From b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65 Mon Sep 17 00:00:00 2001 From: Jakov Petrina Date: Fri, 24 Apr 2020 14:38:58 +0200 Subject: mvebu: uDPU: switch default kernel and U-Boot PHY mode Certain SFP modules (most notably Nokia GPON ones) first check connectivity on 1000base-x, and switch to 2500base-x afterwards. This is considered a quirk so the phylink switches the interface to 2500base-x as well. However, after power-cycling the uDPU device, network interface/SFP module will not work correctly until the module is re-seated. This patch resolves this issue by forcing the interface to be brought up in 2500base-x mode by default. Signed-off-by: Jakov Petrina Signed-off-by: Vladimir Vid Cc: Luka Perkov --- ...-uDPU-switch-PHY-operation-mode-to-2500base.patch | 20 ++++++++++++++++++++ ...-uDPU-switch-PHY-operation-mode-to-2500base.patch | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 target/linux/mvebu/patches-4.19/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch create mode 100644 target/linux/mvebu/patches-5.4/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch (limited to 'target/linux') diff --git a/target/linux/mvebu/patches-4.19/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch b/target/linux/mvebu/patches-4.19/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch new file mode 100644 index 0000000000..7ed0a54344 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch @@ -0,0 +1,20 @@ +--- a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts +@@ -145,7 +145,7 @@ + + ð0 { + status = "okay"; +- phy-mode = "sgmii"; ++ phy-mode = "2500base-x"; + managed = "in-band-status"; + phys = <&comphy1 0>; + sfp = <&sfp_eth0>; +@@ -153,7 +153,7 @@ + + ð1 { + status = "okay"; +- phy-mode = "sgmii"; ++ phy-mode = "2500base-x"; + managed = "in-band-status"; + phys = <&comphy0 1>; + sfp = <&sfp_eth1>; diff --git a/target/linux/mvebu/patches-5.4/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch b/target/linux/mvebu/patches-5.4/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch new file mode 100644 index 0000000000..82715312d8 --- /dev/null +++ b/target/linux/mvebu/patches-5.4/550-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch @@ -0,0 +1,20 @@ +--- a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts +@@ -144,7 +144,7 @@ + }; + + ð0 { +- phy-mode = "sgmii"; ++ phy-mode = "2500base-x"; + status = "okay"; + managed = "in-band-status"; + phys = <&comphy1 0>; +@@ -152,7 +152,7 @@ + }; + + ð1 { +- phy-mode = "sgmii"; ++ phy-mode = "2500base-x"; + status = "okay"; + managed = "in-band-status"; + phys = <&comphy0 1>; -- cgit v1.2.3