Re: [PATCH net-next v5 11/13] ARM: dts: r9a06g032: describe GMAC2

Clément Léger
2022-05-20T08:34:26Z

Le Fri, 20 May 2022 10:25:37 +0200,
Geert Uytterhoeven <geert@linux-m68k.org> a écrit :

> Hi Clément,
>
> On Fri, May 20, 2022 at 10:14 AM Clément Léger
> <clement.leger@bootlin.com> wrote:
> > Le Fri, 20 May 2022 09:18:58 +0200,
> > Geert Uytterhoeven <geert@linux-m68k.org> a écrit :
> > > On Thu, May 19, 2022 at 5:32 PM Clément Léger <clement.leger@bootlin.com> wrote:
> > > > RZ/N1 SoC includes two MAC named GMACx that are compatible with the
> > > > "snps,dwmac" driver. GMAC1 is connected directly to the MII converter
> > > > port 1. GMAC2 however can be used as the MAC for the switch CPU
> > > > management port or can be muxed to be connected directly to the MII
> > > > converter port 2. This commit add description for the GMAC2 which will
> > > > be used by the switch description.
> > > >
> > > > Signed-off-by: Clément Léger <clement.leger@bootlin.com>
>
> > > > --- a/arch/arm/boot/dts/r9a06g032.dtsi
> > > > +++ b/arch/arm/boot/dts/r9a06g032.dtsi
> > > > @@ -200,6 +200,23 @@ nand_controller: nand-controller@40102000 {
> > > > status = "disabled";
> > > > };
> > > >
> > > > + gmac2: ethernet@44002000 {
> > > > + compatible = "snps,dwmac";
> > >
> > > Does this need an SoC-specific compatible value?
> >
> > Indeed, it might be useful to introduce a specific SoC compatible since
> > in a near future, there might be some specific support for that gmac.
> > Here is an overview of the gmac connection on the SoC:
> >
> > ┌─────────┐ ┌──────────┐
> > │ │ │ │
> > │ GMAC2 │ │ GMAC1 │
> > │ │ │ │
> > └───┬─────┘ └─────┬────┘
> > │ │
> > │ │
> > │ │
> > ┌────▼──────┐ │
> > │ │ │
> > ┌────────────────────────────┤ SWITCH │ │
> > │ │ │ │
> > │ ┌─────────────────┴─┬────┬────┘ │
> > │ │ ┌──────┘ │ │
> > │ │ │ │ │
> > ┌────▼──────────▼────────────▼───────────▼─────────────▼────┐
> > │ MII Converter │
> > │ │
> > │ │
> > │ port 1 port 2 port 3 port 4 port 5 │
> > └───────────────────────────────────────────────────────────┘
> >
> > As you can see, the GMAC1 is directly connected to MIIC converter and
> > thus will need a "pcs-handle" property to point on the MII converter
> > port whereas the GMAC2 is directly connected to the switch in GMII.
> >
> > Is "renesas,r9a06g032-gmac2", "renesas,rzn1-switch-gmac2" looks ok
> > for you for this one ?
>
> Why "switch" in the family-specific value, but not in the SoC-specific
> value?

That's a typo, switch should be removed.

>
> Are GMAC1 and GMAC2 really different, or are they identical, and is
> the only difference in the wiring, which can be detected at run-time
> using this "pcs-handle" property? If they're identical, they should
> use the same compatible value.

They are actually identical except the requirement for a "pcs-handle"
for gmac1. I thought about using different compatible to enforce this by
making it "required" with the "renesas,r9a06g032-gmac1" compatible but
not the "renesas,r9a06g032-gmac2" one. If it's ok for you to let it
optional and use a single compatible, I'm ok with that !

Thanks !

>
> Thanks!
>
> 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

--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin