回覆: [net-next 2/4] ARM: dts: ast2600-evb: add default RGMII delay

From: Jacky Chou
Date: Tue Mar 18 2025 - 07:03:42 EST


Hi Andrew,

Thank you for your reply.

> > phy-mode = "rgmii";
> > phy-handle = <&ethphy2>;
> >
> > + tx-internal-delay-ps = <8>;
> > + rx-internal-delay-ps = <4>;
> > +
>
> Ideally you want:
>
> phy-mode = "rgmii-id";
> tx-internal-delay-ps = <0>;
> rx-internal-delay-ps = <0>;
>
> Since 'rgmii-id' correctly describes the hardware.

I still confuse about ethernet-controller.yaml.
It lists 'rgmi', 'rgmii-rxid', 'rgmii-txid' and 'rgmii-id'.

ethernet-controller.yaml
...
# RX and TX delays are added by the MAC when required
- rgmii

# RGMII with internal RX and TX delays provided by the PHY,
# the MAC should not add the RX or TX delays in this case
- rgmii-id

# RGMII with internal RX delay provided by the PHY, the MAC
# should not add an RX delay in this case
- rgmii-rxid

# RGMII with internal TX delay provided by the PHY, the MAC
# should not add an TX delay in this case
- rgmii-txid
...

It seems if MAC has ability to add delay in MAC internal, driver can use these
values to describes the hardware design.

I know this topic had been discussed. I thought for a while to find a solution, but I
cannot still understand why 'rgmii-id' is correct for HW?

Thanks,
Jacky