diff options
author | Jakov Petrina <jakov.petrina@sartura.hr> | 2020-04-24 14:38:58 +0200 |
---|---|---|
committer | Luka Perkov <luka.perkov@sartura.hr> | 2020-05-09 14:34:23 +0200 |
commit | b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65 (patch) | |
tree | 5b3d3f1b2ec84778e9651a129a04813f9b8e70a9 /target/linux | |
parent | 02656caa7b3c6da24a1c253b8d28887ab5c1bed1 (diff) | |
download | upstream-b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65.tar.gz upstream-b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65.tar.bz2 upstream-b1cfbff0a7d386a7b3d3aa19b9971e0ea6d1db65.zip |
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 <jakov.petrina@sartura.hr>
Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Diffstat (limited to 'target/linux')
2 files changed, 40 insertions, 0 deletions
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>; |