Message ID | 20200112191315.118831-1-marek.vasut@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | [RFC] ARM: dts: renesas: Add missing ethernet PHY reset GPIO on Gen2 reference boards | expand |
Hi Marek, Thanks for your work. On 2020-01-12 20:13:15 +0100, Marek Vasut wrote: > From: Marek Vasut <marek.vasut+renesas@gmail.com> > > The ethernet PHY reset GPIO was missing and the kernel was depending > solely on the bootloader to bring the PHY out of reset. Fix this to > get rid of the dependency on bootloader. > > Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> > Cc: Geert Uytterhoeven <geert+renesas@glider.be> > Cc: Wolfram Sang <wsa+renesas@sang-engineering.com> > Cc: linux-renesas-soc@vger.kernel.org > To: linux-arm-kernel@lists.infradead.org > --- > NOTE: Thus far tested on R8A7791 Koelsch I also only have a Koelsch board, but for what it's worth (for Koelsch): Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > --- > arch/arm/boot/dts/r8a7790-lager.dts | 1 + > arch/arm/boot/dts/r8a7790-stout.dts | 1 + > arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + > arch/arm/boot/dts/r8a7791-porter.dts | 1 + > arch/arm/boot/dts/r8a7793-gose.dts | 1 + > arch/arm/boot/dts/r8a7794-alt.dts | 1 + > arch/arm/boot/dts/r8a7794-silk.dts | 1 + > 7 files changed, 7 insertions(+) > > diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts > index 097fd9317c6e..b88d4f4d5d9e 100644 > --- a/arch/arm/boot/dts/r8a7790-lager.dts > +++ b/arch/arm/boot/dts/r8a7790-lager.dts > @@ -671,6 +671,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > diff --git a/arch/arm/boot/dts/r8a7790-stout.dts b/arch/arm/boot/dts/r8a7790-stout.dts > index a315ba749aa4..98dcfcbf0b70 100644 > --- a/arch/arm/boot/dts/r8a7790-stout.dts > +++ b/arch/arm/boot/dts/r8a7790-stout.dts > @@ -200,6 +200,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <1 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts > index 2b096d5e06fb..6619689a17d4 100644 > --- a/arch/arm/boot/dts/r8a7791-koelsch.dts > +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts > @@ -630,6 +630,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts > index f9ece7ab2010..2ba2e8e5f1c3 100644 > --- a/arch/arm/boot/dts/r8a7791-porter.dts > +++ b/arch/arm/boot/dts/r8a7791-porter.dts > @@ -304,6 +304,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > diff --git a/arch/arm/boot/dts/r8a7793-gose.dts b/arch/arm/boot/dts/r8a7793-gose.dts > index 22ca7cd1e7d2..4da82f1e1e94 100644 > --- a/arch/arm/boot/dts/r8a7793-gose.dts > +++ b/arch/arm/boot/dts/r8a7793-gose.dts > @@ -588,6 +588,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts > index f79fce74cd9c..7aa1e8ca808b 100644 > --- a/arch/arm/boot/dts/r8a7794-alt.dts > +++ b/arch/arm/boot/dts/r8a7794-alt.dts > @@ -340,6 +340,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <8 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts > index 2c16ad854300..3c0ed684f4a1 100644 > --- a/arch/arm/boot/dts/r8a7794-silk.dts > +++ b/arch/arm/boot/dts/r8a7794-silk.dts > @@ -391,6 +391,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; > interrupt-parent = <&irqc0>; > interrupts = <8 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; > -- > 2.24.1 >
Hi Marek, On Sun, Jan 12, 2020 at 8:13 PM <marek.vasut@gmail.com> wrote: > From: Marek Vasut <marek.vasut+renesas@gmail.com> > > The ethernet PHY reset GPIO was missing and the kernel was depending > solely on the bootloader to bring the PHY out of reset. Fix this to > get rid of the dependency on bootloader. > > Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Thanks for your patch! Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > NOTE: Thus far tested on R8A7791 Koelsch > arch/arm/boot/dts/r8a7790-lager.dts | 1 + > arch/arm/boot/dts/r8a7790-stout.dts | 1 + > arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + > arch/arm/boot/dts/r8a7791-porter.dts | 1 + > arch/arm/boot/dts/r8a7793-gose.dts | 1 + > arch/arm/boot/dts/r8a7794-alt.dts | 1 + > arch/arm/boot/dts/r8a7794-silk.dts | 1 + I believe all of the above (except for stout) are available in Magnus' farm... r8a7743-sk-rzg1m.dts and r8a7745-sk-rzg1e.dts need similar changes as r8a7791-porter.dts resp. r8a7794-silk.dts. > --- a/arch/arm/boot/dts/r8a7790-lager.dts > +++ b/arch/arm/boot/dts/r8a7790-lager.dts > @@ -671,6 +671,7 @@ ðer { > > phy1: ethernet-phy@1 { > reg = <1>; > + reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>; I would insert this line below micrel,led-mode, though. > interrupt-parent = <&irqc0>; > interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > micrel,led-mode = <1>; Gr{oetje,eeting}s, Geert
On 1/13/20 9:58 AM, Geert Uytterhoeven wrote: > Hi Marek, Hi, [...] >> arch/arm/boot/dts/r8a7790-lager.dts | 1 + >> arch/arm/boot/dts/r8a7790-stout.dts | 1 + >> arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + >> arch/arm/boot/dts/r8a7791-porter.dts | 1 + >> arch/arm/boot/dts/r8a7793-gose.dts | 1 + >> arch/arm/boot/dts/r8a7794-alt.dts | 1 + >> arch/arm/boot/dts/r8a7794-silk.dts | 1 + > > I believe all of the above (except for stout) are available in Magnus' farm... > > r8a7743-sk-rzg1m.dts and r8a7745-sk-rzg1e.dts need similar changes as > r8a7791-porter.dts resp. r8a7794-silk.dts. Do you have those two boards / can you prepare and test a patch ? [...]
Hi Marek, On Wed, Jan 15, 2020 at 6:14 AM Marek Vasut <marek.vasut@gmail.com> wrote: > On 1/13/20 9:58 AM, Geert Uytterhoeven wrote: > >> arch/arm/boot/dts/r8a7790-lager.dts | 1 + > >> arch/arm/boot/dts/r8a7790-stout.dts | 1 + > >> arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + > >> arch/arm/boot/dts/r8a7791-porter.dts | 1 + > >> arch/arm/boot/dts/r8a7793-gose.dts | 1 + > >> arch/arm/boot/dts/r8a7794-alt.dts | 1 + > >> arch/arm/boot/dts/r8a7794-silk.dts | 1 + > > > > I believe all of the above (except for stout) are available in Magnus' farm... > > > > r8a7743-sk-rzg1m.dts and r8a7745-sk-rzg1e.dts need similar changes as > > r8a7791-porter.dts resp. r8a7794-silk.dts. > > Do you have those two boards / can you prepare and test a patch ? I don't have those boards, and thus can't test them. Gr{oetje,eeting}s, Geert
> From: Geert Uytterhoeven <geert@linux-m68k.org> > Sent: 15 January 2020 07:40 > > Hi Marek, > > On Wed, Jan 15, 2020 at 6:14 AM Marek Vasut <marek.vasut@gmail.com> > wrote: > > On 1/13/20 9:58 AM, Geert Uytterhoeven wrote: > > >> arch/arm/boot/dts/r8a7790-lager.dts | 1 + > > >> arch/arm/boot/dts/r8a7790-stout.dts | 1 + > > >> arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + > > >> arch/arm/boot/dts/r8a7791-porter.dts | 1 + > > >> arch/arm/boot/dts/r8a7793-gose.dts | 1 + > > >> arch/arm/boot/dts/r8a7794-alt.dts | 1 + > > >> arch/arm/boot/dts/r8a7794-silk.dts | 1 + > > > > > > I believe all of the above (except for stout) are available in Magnus' farm... > > > > > > r8a7743-sk-rzg1m.dts and r8a7745-sk-rzg1e.dts need similar changes as > > > r8a7791-porter.dts resp. r8a7794-silk.dts. > > > > Do you have those two boards / can you prepare and test a patch ? > > I don't have those boards, and thus can't test them. Sorry, I don’t either. Perhaps Sergei? Chris > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux- > m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds
Hello! On 15.01.2020 11:26, Chris Paterson wrote: >>> On 1/13/20 9:58 AM, Geert Uytterhoeven wrote: >>>>> arch/arm/boot/dts/r8a7790-lager.dts | 1 + >>>>> arch/arm/boot/dts/r8a7790-stout.dts | 1 + >>>>> arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + >>>>> arch/arm/boot/dts/r8a7791-porter.dts | 1 + >>>>> arch/arm/boot/dts/r8a7793-gose.dts | 1 + >>>>> arch/arm/boot/dts/r8a7794-alt.dts | 1 + >>>>> arch/arm/boot/dts/r8a7794-silk.dts | 1 + >>>> >>>> I believe all of the above (except for stout) are available in Magnus' farm... >>>> >>>> r8a7743-sk-rzg1m.dts and r8a7745-sk-rzg1e.dts need similar changes as >>>> r8a7791-porter.dts resp. r8a7794-silk.dts. >>> >>> Do you have those two boards / can you prepare and test a patch ? >> >> I don't have those boards, and thus can't test them. > > Sorry, I don’t either. Perhaps Sergei? Me neither, I only have Porter and SILK. > Chris MBR, Sergei
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 097fd9317c6e..b88d4f4d5d9e 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -671,6 +671,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>; diff --git a/arch/arm/boot/dts/r8a7790-stout.dts b/arch/arm/boot/dts/r8a7790-stout.dts index a315ba749aa4..98dcfcbf0b70 100644 --- a/arch/arm/boot/dts/r8a7790-stout.dts +++ b/arch/arm/boot/dts/r8a7790-stout.dts @@ -200,6 +200,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <1 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>; diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts index 2b096d5e06fb..6619689a17d4 100644 --- a/arch/arm/boot/dts/r8a7791-koelsch.dts +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts @@ -630,6 +630,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>; diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts index f9ece7ab2010..2ba2e8e5f1c3 100644 --- a/arch/arm/boot/dts/r8a7791-porter.dts +++ b/arch/arm/boot/dts/r8a7791-porter.dts @@ -304,6 +304,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>; diff --git a/arch/arm/boot/dts/r8a7793-gose.dts b/arch/arm/boot/dts/r8a7793-gose.dts index 22ca7cd1e7d2..4da82f1e1e94 100644 --- a/arch/arm/boot/dts/r8a7793-gose.dts +++ b/arch/arm/boot/dts/r8a7793-gose.dts @@ -588,6 +588,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>; diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts index f79fce74cd9c..7aa1e8ca808b 100644 --- a/arch/arm/boot/dts/r8a7794-alt.dts +++ b/arch/arm/boot/dts/r8a7794-alt.dts @@ -340,6 +340,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>; diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts index 2c16ad854300..3c0ed684f4a1 100644 --- a/arch/arm/boot/dts/r8a7794-silk.dts +++ b/arch/arm/boot/dts/r8a7794-silk.dts @@ -391,6 +391,7 @@ ðer { phy1: ethernet-phy@1 { reg = <1>; + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; interrupt-parent = <&irqc0>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; micrel,led-mode = <1>;