From: Daniel Golle Date: Thu, 23 Dec 2021 18:10:05 +0000 (+0000) Subject: mvebu: enable Aquantia phy driver for Puzzle devices X-Git-Tag: v21.02.2~49 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=47d82f07105c239e582c8bdf7ac32732f2d5f8f3;p=openwrt%2Fstaging%2Fchunkeey.git mvebu: enable Aquantia phy driver for Puzzle devices 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 (cherry picked from commit f81a06408eec28d479f699bd762b703ac65e2150) --- diff --git a/target/linux/mvebu/cortexa72/config-5.4 b/target/linux/mvebu/cortexa72/config-5.4 index 106724dc3b..debef1ac2e 100644 --- a/target/linux/mvebu/cortexa72/config-5.4 +++ b/target/linux/mvebu/cortexa72/config-5.4 @@ -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 diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts index acf2ed6422..80d876b4ad 100644 --- a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts +++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts @@ -169,21 +169,21 @@ 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 { @@ -334,21 +334,21 @@ 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 { diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts index bfa7874a67..fd99eb2d13 100644 --- a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts +++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts @@ -214,21 +214,21 @@ 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 { @@ -397,21 +397,21 @@ 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 { @@ -498,21 +498,21 @@ 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 {