Re: [PATCH 4/5] arm64: dts: allwinner: a527: add EMAC0 to Radxa A5E board

Andre Przywara
2025-04-24T12:41:09Z

On Thu, 24 Apr 2025 14:16:16 +0200
Andrew Lunn <andrew@lunn.ch> wrote:

> On Thu, Apr 24, 2025 at 01:42:41AM +0100, Andre Przywara wrote:
> > On Wed, 23 Apr 2025 18:58:37 +0200
> > Andrew Lunn <andrew@lunn.ch> wrote:
> >
> > Hi,
> >
> > > > +&emac0 {
> > > > + phy-mode = "rgmii";
> > >
> > > Does the PCB have extra long clock lines in order to provide the
> > > needed 2ns delay? I guess not, so this should be rgmii-id.
> >
> > That's a good point, and it probably true.
> >
> > >
> > > > + phy-handle = <&ext_rgmii_phy>;
> > > > +
> > > > + allwinner,tx-delay-ps = <300>;
> > > > + allwinner,rx-delay-ps = <400>;
> > >
> > > These are rather low delays, since the standard requires 2ns. Anyway,
> > > once you change phy-mode, you probably don't need these.
> >
> > Those go on top of the main 2ns delay
>
> Which 2ns delay? "rgmii" means don't add 2ns delay, the PCB is doing
> it. So if there is a 2ns delay, something is broken by not respecting
> "rgmii".
>
> > I just tried, it also works with some variations of those values, but
> > setting tx-delay to 0 stops communication.
>
> Just to be clear, you tried it with "rgmii-id" and the same <300> and
> <400> values?

Yes, sorry, I wasn't clear: I used rgmii-id, then experimented with those
values. I briefly tried "rgmii", and I couldn't get a lease, so I quite
confident it's rgmii-id, as you said. The vendor DTs just use "rgmii", but
they might hack the delay up another way (and I cannot be asked to look at
that awful code).

Cheers,
Andre