diff mbox series

arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay

Message ID 20201018172409.1754775-1-peron.clem@gmail.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay | expand

Commit Message

Clément Péron Oct. 18, 2020, 5:24 p.m. UTC
Before the commit:
net: phy: realtek: fix rtl8211e rx/tx delay config

The software overwrite for RX/TX delays of the RTL8211e were not
working properly and the Beelink GS1 had both RX/TX delay of RGMII
interface set using pull-up on the TXDLY and RXDLY pins.

Now that these delays are working properly they overwrite the HW
config and set this to 'rgmii' meaning no delay on both RX/TX.
This makes the ethernet of this board not working anymore.

Set the phy-mode to 'rgmii-id' meaning RGMII with RX/TX delays
in the device-tree to keep the correct configuration.

Fixes: 089bee8dd119 ("arm64: dts: allwinner: h6: Introduce Beelink GS1 board")
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Clément Péron Oct. 18, 2020, 5:57 p.m. UTC | #1
Hi,

On Sun, 18 Oct 2020 at 19:24, Clément Péron <peron.clem@gmail.com> wrote:
>
> Before the commit:
> net: phy: realtek: fix rtl8211e rx/tx delay config
bbc4d71d6354 ("net: phy: realtek: fix rtl8211e rx/tx delay config")

With the hash for reference it's better :)
Clement

>
> The software overwrite for RX/TX delays of the RTL8211e were not
> working properly and the Beelink GS1 had both RX/TX delay of RGMII
> interface set using pull-up on the TXDLY and RXDLY pins.
>
> Now that these delays are working properly they overwrite the HW
> config and set this to 'rgmii' meaning no delay on both RX/TX.
> This makes the ethernet of this board not working anymore.
>
> Set the phy-mode to 'rgmii-id' meaning RGMII with RX/TX delays
> in the device-tree to keep the correct configuration.
>
> Fixes: 089bee8dd119 ("arm64: dts: allwinner: h6: Introduce Beelink GS1 board")
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> index a364cb4e5b3f..6ab53860e447 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> @@ -99,7 +99,7 @@ &ehci0 {
>  &emac {
>         pinctrl-names = "default";
>         pinctrl-0 = <&ext_rgmii_pins>;
> -       phy-mode = "rgmii";
> +       phy-mode = "rgmii-id";
>         phy-handle = <&ext_rgmii_phy>;
>         phy-supply = <&reg_aldo2>;
>         status = "okay";
> --
> 2.25.1
>
Chen-Yu Tsai Oct. 19, 2020, 4:08 a.m. UTC | #2
On Mon, Oct 19, 2020 at 1:57 AM Clément Péron <peron.clem@gmail.com> wrote:
>
> Hi,
>
> On Sun, 18 Oct 2020 at 19:24, Clément Péron <peron.clem@gmail.com> wrote:
> >
> > Before the commit:
> > net: phy: realtek: fix rtl8211e rx/tx delay config
> bbc4d71d6354 ("net: phy: realtek: fix rtl8211e rx/tx delay config")
>
> With the hash for reference it's better :)
> Clement
>
> >
> > The software overwrite for RX/TX delays of the RTL8211e were not
> > working properly and the Beelink GS1 had both RX/TX delay of RGMII
> > interface set using pull-up on the TXDLY and RXDLY pins.
> >
> > Now that these delays are working properly they overwrite the HW
> > config and set this to 'rgmii' meaning no delay on both RX/TX.
> > This makes the ethernet of this board not working anymore.
> >
> > Set the phy-mode to 'rgmii-id' meaning RGMII with RX/TX delays
> > in the device-tree to keep the correct configuration.
> >
> > Fixes: 089bee8dd119 ("arm64: dts: allwinner: h6: Introduce Beelink GS1 board")
> > Signed-off-by: Clément Péron <peron.clem@gmail.com>

Acked-by: Chen-Yu Tsai <wens@csie.org>

For reference, the driver fix for dwmac enabling the other RGMII modes

    f1239d8aa84d ("net: stmmac: dwmac-sun8i: Allow all RGMII modes")

was merged in v5.5 and was backported to relevant stable kernels.

> > ---
> >  arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> > index a364cb4e5b3f..6ab53860e447 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> > @@ -99,7 +99,7 @@ &ehci0 {
> >  &emac {
> >         pinctrl-names = "default";
> >         pinctrl-0 = <&ext_rgmii_pins>;
> > -       phy-mode = "rgmii";
> > +       phy-mode = "rgmii-id";
> >         phy-handle = <&ext_rgmii_phy>;
> >         phy-supply = <&reg_aldo2>;
> >         status = "okay";
> > --
> > 2.25.1
> >
Maxime Ripard Oct. 22, 2020, 3:59 p.m. UTC | #3
On Sun, Oct 18, 2020 at 07:24:09PM +0200, Clément Péron wrote:
> Before the commit:
> net: phy: realtek: fix rtl8211e rx/tx delay config
> 
> The software overwrite for RX/TX delays of the RTL8211e were not
> working properly and the Beelink GS1 had both RX/TX delay of RGMII
> interface set using pull-up on the TXDLY and RXDLY pins.
> 
> Now that these delays are working properly they overwrite the HW
> config and set this to 'rgmii' meaning no delay on both RX/TX.
> This makes the ethernet of this board not working anymore.
> 
> Set the phy-mode to 'rgmii-id' meaning RGMII with RX/TX delays
> in the device-tree to keep the correct configuration.
> 
> Fixes: 089bee8dd119 ("arm64: dts: allwinner: h6: Introduce Beelink GS1 board")
> Signed-off-by: Clément Péron <peron.clem@gmail.com>

Fixed the commit ID and queued as a fix for 5.10

Maxime
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
index a364cb4e5b3f..6ab53860e447 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
@@ -99,7 +99,7 @@  &ehci0 {
 &emac {
 	pinctrl-names = "default";
 	pinctrl-0 = <&ext_rgmii_pins>;
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	phy-handle = <&ext_rgmii_phy>;
 	phy-supply = <&reg_aldo2>;
 	status = "okay";