mvebu: enable Aquantia phy driver for Puzzle devices
authorDaniel Golle <daniel@makrotopia.org>
Thu, 23 Dec 2021 18:10:05 +0000 (18:10 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 1 Jan 2022 22:30:09 +0000 (22:30 +0000)
While on Linux 5.10 this fixes Ethernet link status on all ports and
makes 2.5G ports usable in 2.5G and 1G full-duplex mode, when using
Linux 5.4 and backported Aquantia phy patches, only 1G mode works on
the 2.5G ports and link speed and duplex are not reported correctly
from the phy in case of 2.5G.
The reasons are probably trivial, but hard to find. As having all
ports work at least in 1G speed instead of having them not work at
all is still better, push this anyway for now.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit f81a06408eec28d479f699bd762b703ac65e2150)

target/linux/mvebu/cortexa72/config-5.4
target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts
target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts

index 106724dc3bf32b6a88b2f830fba239a4ece108c4..debef1ac2efdaa3a5497b81da14b75f75e5701d1 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_64BIT=y
+CONFIG_AQUANTIA_PHY=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
index acf2ed6422602cbdb6e642fc4cf12520392c3f47..80d876b4ad6740f2c2c4fe69973930d4ea006f5c 100644 (file)
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp0_comphy2 0>;
-       managed = "in-band-status";
+       phy = <&cp0_nbaset_phy0>;
 };
 
 &cp0_eth1 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp0_comphy4 1>;
-       managed = "in-band-status";
+       phy = <&cp0_nbaset_phy1>;
 };
 
 &cp0_eth2 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp0_comphy5 2>;
-       managed = "in-band-status";
+       phy = <&cp0_nbaset_phy2>;
 };
 
 &cp0_gpio1 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp1_comphy2 0>;
-       managed = "in-band-status";
+       phy = <&cp1_nbaset_phy0>;
 };
 
 &cp1_eth1 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp1_comphy4 1>;
-       managed = "in-band-status";
+       phy = <&cp1_nbaset_phy1>;
 };
 
 &cp1_eth2 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp1_comphy5 2>;
-       managed = "in-band-status";
+       phy = <&cp1_nbaset_phy2>;
 };
 
 &cp1_sata0 {
index bfa7874a679721be0512b11eab64101856aa4f18..fd99eb2d1303ca6109c0b3df77f47d0d498cc9ab 100644 (file)
        status = "okay";
        phy-mode = "10gbase-kr";
        phys = <&cp0_comphy2 0>;
-       managed = "in-band-status";
+       phy = <&cp0_nbaset_phy0>;
 };
 
 &cp0_eth1 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp0_comphy4 1>;
-       managed = "in-band-status";
+       phy = <&cp0_nbaset_phy1>;
 };
 
 &cp0_eth2 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp0_comphy1 2>;
-       managed = "in-band-status";
+       phy = <&cp0_nbaset_phy2>;
 };
 
 &cp0_gpio1 {
        status = "okay";
        phy-mode = "10gbase-kr";
        phys = <&cp1_comphy2 0>;
-       managed = "in-band-status";
+       phy = <&cp1_nbaset_phy0>;
 };
 
 &cp1_eth1 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp1_comphy4 1>;
-       managed = "in-band-status";
+       phy = <&cp1_nbaset_phy1>;
 };
 
 &cp1_eth2 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp1_comphy1 2>;
-       managed = "in-band-status";
+       phy = <&cp1_nbaset_phy2>;
 };
 
 &cp1_gpio1 {
        status = "okay";
        phy-mode = "10gbase-kr";
        phys = <&cp2_comphy2 0>;
-       managed = "in-band-status";
+       phy = <&cp2_nbaset_phy0>;
 };
 
 &cp2_eth1 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp2_comphy4 1>;
-       managed = "in-band-status";
+       phy = <&cp2_nbaset_phy1>;
 };
 
 &cp2_eth2 {
        status = "okay";
        phy-mode = "2500base-x";
        phys = <&cp2_comphy1 2>;
-       managed = "in-band-status";
+       phy = <&cp2_nbaset_phy2>;
 };
 
 &cp2_gpio1 {