[][kernel][mt7986][eth][Change GMAC0/1 DTS configuratoin for HSGMII]
[Description]
Change GMAC0/1 DTS configuratoin for HSGMII.
1. Change GMAC0/1 DTS configuration to phy-handle.
2. Change PHY reset to bus level reset.
[Release-log]
N/A
Change-Id: I3b59f4e62aa5d2348f229047624db4a298785ff3
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6376188
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-emmc-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-emmc-rfb.dts
index a050c88..c06aaae 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-emmc-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-emmc-rfb.dts
@@ -97,48 +97,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 47 0>;
- phy-handle = <&phy5>;
- label = "lan5";
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 46 0>;
- phy-handle = <&phy6>;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-gsw-spim-nand-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-gsw-spim-nand-rfb.dts
index 4c4f987..4515b58 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-gsw-spim-nand-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-gsw-spim-nand-rfb.dts
@@ -86,49 +86,32 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 47 0>;
- phy-handle = <&phy5>;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 46 0>;
- phy-handle = <&phy6>;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
-
};
};
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-sd-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-sd-rfb.dts
index 6af58aa..153ac09 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-sd-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-sd-rfb.dts
@@ -88,48 +88,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 47 0>;
- phy-handle = <&phy5>;
- label = "lan5";
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 46 0>;
- phy-handle = <&phy6>;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nand-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nand-rfb.dts
index e5024b5..2adf0aa 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nand-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nand-rfb.dts
@@ -79,48 +79,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 47 0>;
- phy-handle = <&phy5>;
- label = "lan5";
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 46 0>;
- phy-handle = <&phy6>;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nor-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nor-rfb.dts
index 15e9773..07fb402 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nor-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-2500wan-spim-nor-rfb.dts
@@ -79,48 +79,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 47 0>;
- phy-handle = <&phy5>;
- label = "lan5";
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- link-gpio = <&pio 46 0>;
- phy-handle = <&phy6>;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-emmc-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-emmc-rfb.dts
index be89622..4802013 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-emmc-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-emmc-rfb.dts
@@ -59,43 +59,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-gsw-spim-nand-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-gsw-spim-nand-rfb.dts
index 470e9f3..5d53f11 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-gsw-spim-nand-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-gsw-spim-nand-rfb.dts
@@ -57,45 +57,32 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
-
};
};
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-sd-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-sd-rfb.dts
index a56da0d..a1572f2 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-sd-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-sd-rfb.dts
@@ -59,43 +59,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-snfi-nand-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-snfi-nand-rfb.dts
index 4fe4946..f8ff924 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-snfi-nand-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-snfi-nand-rfb.dts
@@ -50,43 +50,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nand-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nand-rfb.dts
index 187a8a5..0706d18 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nand-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nand-rfb.dts
@@ -50,43 +50,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nor-rfb.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nor-rfb.dts
index f9fefa0..139db54 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nor-rfb.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986b-2500wan-spim-nor-rfb.dts
@@ -50,43 +50,31 @@
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy5>;
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "2500base-x";
-
- fixed-link {
- speed = <2500>;
- full-duplex;
- pause;
- };
+ phy-handle = <&phy6>;
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
+ reset-gpios = <&pio 6 1>;
+ reset-delay-us = <600>;
+
phy5: phy@5 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
- reset-gpios = <&pio 6 1>;
- reset-assert-us = <600>;
- reset-deassert-us = <20000>;
- phy-mode = "2500base-x";
};
phy6: phy@6 {
- compatible = "ethernet-phy-id67c9.de0a";
+ compatible = "ethernet-phy-ieee802.3-c45";
reg = <6>;
- phy-mode = "2500base-x";
};
switch@0 {
diff --git a/target/linux/mediatek/mt7986/config-5.4 b/target/linux/mediatek/mt7986/config-5.4
index b4eef30..eb9070e 100644
--- a/target/linux/mediatek/mt7986/config-5.4
+++ b/target/linux/mediatek/mt7986/config-5.4
@@ -293,6 +293,7 @@
CONFIG_LZO_DECOMPRESS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAXLINEAR_GPHY=y
CONFIG_MD=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=y