From: Greg Kroah-Hartman Date: Sat, 18 May 2019 06:38:42 +0000 (+0200) Subject: 5.1-stable patches X-Git-Tag: v4.9.178~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a38b63d1d59187db4f712dd116b16a5dbbb6c65c;p=thirdparty%2Fkernel%2Fstable-queue.git 5.1-stable patches added patches: arm-dts-imx-fix-the-ar803x-phy-mode.patch --- diff --git a/queue-5.1/arm-dts-imx-fix-the-ar803x-phy-mode.patch b/queue-5.1/arm-dts-imx-fix-the-ar803x-phy-mode.patch new file mode 100644 index 00000000000..44263a8ac78 --- /dev/null +++ b/queue-5.1/arm-dts-imx-fix-the-ar803x-phy-mode.patch @@ -0,0 +1,206 @@ +From 0672d22a19244cdb0e5c753125c1a55a120db5d0 Mon Sep 17 00:00:00 2001 +From: Fabio Estevam +Date: Wed, 3 Apr 2019 19:12:41 -0300 +Subject: ARM: dts: imx: Fix the AR803X phy-mode + +From: Fabio Estevam + +commit 0672d22a19244cdb0e5c753125c1a55a120db5d0 upstream. + +Commit 6d4cd041f0af ("net: phy: at803x: disable delay only for RGMII mode") +exposed an issue on imx DTS files using AR8031/AR8035 PHYs. + +The end result is that the boards can no longer obtain an IP address +via UDHCP, for example. + +Quoting Andrew Lunn: + +"The problem here is, all the DTs were broken since day 0. However, +because the PHY driver was also broken, nobody noticed and it +worked. Now that the PHY driver has been fixed, all the bugs in the +DTs now become an issue" + +To fix this problem, the phy-mode property needs to be "rgmii-id", which +has the following meaning as per +Documentation/devicetree/bindings/net/ethernet.txt: + +"RGMII with internal RX and TX delays provided by the PHY, the MAC should +not add the RX or TX delays in this case)" + +Tested on imx6-sabresd, imx6sx-sdb and imx7d-pico boards with +successfully restored networking. + +Based on the initial submission from Steve Twiss for the +imx6qdl-sabresd. + +Signed-off-by: Fabio Estevam +Tested-by: Baruch Siach +Tested-by: Soeren Moch +Tested-by: Steve Twiss +Tested-by: Adam Thomson +Signed-off-by: Steve Twiss +Tested-by: Marc Kleine-Budde +Signed-off-by: Marc Kleine-Budde +Signed-off-by: Shawn Guo +Cc: "George G. Davis" +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi | 2 +- + arch/arm/boot/dts/imx6dl-riotboard.dts | 2 +- + arch/arm/boot/dts/imx6q-ba16.dtsi | 2 +- + arch/arm/boot/dts/imx6q-marsboard.dts | 2 +- + arch/arm/boot/dts/imx6q-tbs2910.dts | 2 +- + arch/arm/boot/dts/imx6qdl-apf6.dtsi | 2 +- + arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 2 +- + arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 2 +- + arch/arm/boot/dts/imx6qdl-sr-som.dtsi | 2 +- + arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 2 +- + arch/arm/boot/dts/imx6sx-sabreauto.dts | 2 +- + arch/arm/boot/dts/imx6sx-sdb.dtsi | 2 +- + arch/arm/boot/dts/imx7d-pico.dtsi | 2 +- + 13 files changed, 13 insertions(+), 13 deletions(-) + +--- a/arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi ++++ b/arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi +@@ -216,7 +216,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-duration = <10>; + phy-reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; + phy-supply = <®_enet>; +--- a/arch/arm/boot/dts/imx6dl-riotboard.dts ++++ b/arch/arm/boot/dts/imx6dl-riotboard.dts +@@ -92,7 +92,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; + interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, + <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; +--- a/arch/arm/boot/dts/imx6q-ba16.dtsi ++++ b/arch/arm/boot/dts/imx6q-ba16.dtsi +@@ -171,7 +171,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + status = "okay"; + }; + +--- a/arch/arm/boot/dts/imx6q-marsboard.dts ++++ b/arch/arm/boot/dts/imx6q-marsboard.dts +@@ -110,7 +110,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; + status = "okay"; + }; +--- a/arch/arm/boot/dts/imx6q-tbs2910.dts ++++ b/arch/arm/boot/dts/imx6q-tbs2910.dts +@@ -98,7 +98,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; + status = "okay"; + }; +--- a/arch/arm/boot/dts/imx6qdl-apf6.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-apf6.dtsi +@@ -51,7 +51,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-duration = <10>; + phy-reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; + status = "okay"; +--- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +@@ -292,7 +292,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, + <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; + fsl,err006687-workaround-present; +--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +@@ -202,7 +202,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; + status = "okay"; + }; +--- a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi +@@ -53,7 +53,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_enet_ar8035>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-duration = <2>; + phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; + status = "okay"; +--- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi +@@ -224,7 +224,7 @@ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>; + interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, + <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; +--- a/arch/arm/boot/dts/imx6sx-sabreauto.dts ++++ b/arch/arm/boot/dts/imx6sx-sabreauto.dts +@@ -75,7 +75,7 @@ + &fec1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet1>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-handle = <ðphy1>; + fsl,magic-packet; + status = "okay"; +--- a/arch/arm/boot/dts/imx6sx-sdb.dtsi ++++ b/arch/arm/boot/dts/imx6sx-sdb.dtsi +@@ -191,7 +191,7 @@ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet1>; + phy-supply = <®_enet_3v3>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-handle = <ðphy1>; + phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; + status = "okay"; +--- a/arch/arm/boot/dts/imx7d-pico.dtsi ++++ b/arch/arm/boot/dts/imx7d-pico.dtsi +@@ -92,7 +92,7 @@ + <&clks IMX7D_ENET1_TIME_ROOT_CLK>; + assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; + assigned-clock-rates = <0>, <100000000>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + phy-handle = <ðphy0>; + fsl,magic-packet; + phy-reset-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; diff --git a/queue-5.1/series b/queue-5.1/series index 7bfe2a99188..4db60495cd8 100644 --- a/queue-5.1/series +++ b/queue-5.1/series @@ -100,3 +100,4 @@ bcache-fix-a-race-between-cache-register-and-cacheset-unregister.patch bcache-never-set-key_ptrs-of-journal-key-to-0-in-journal_reclaim.patch ipmi-add-the-i2c-addr-property-for-ssif-interfaces.patch ipmi-ssif-compare-block-number-correctly-for-multi-part-return-messages.patch +arm-dts-imx-fix-the-ar803x-phy-mode.patch