Re: [PATCH v2 2/2] arm64: dts: freescale: Add SKOV IMX8MP CPU revB board

From: Oleksij Rempel
Date: Fri Nov 03 2023 - 15:17:02 EST


On Fri, Nov 03, 2023 at 01:16:12PM +0000, Russell King (Oracle) wrote:
> On Fri, Nov 03, 2023 at 01:35:46PM +0100, Andrew Lunn wrote:
> > > + port@2 {
> > > + reg = <2>;
> > > + label = "cpu";
> > > + ethernet = <&eqos>;
> > > + /* 2ns rgmii-rxid is implemented on PCB.
> > > + * Switch should add only rgmii-txid.
> > > + */
> >
> > Its unusual to actually see that. Its even more unusual its only one
> > clock line. Can you actually see it on the PCB?
> >
> > > + phy-mode = "rgmii-txid";
> > > + tx-internal-delay-ps = <2000>;
> >
> > Is this actually needed? rgmii-txid should add 2ns delay. Since this
> > apparently works, i'm assuming setting tx-internal-delay-ps to 2ns
> > does nothing, otherwise you would have a 4ns delay.
>
> Umm... I think we're getting confused again.
>
> Mode Local end Remote end
> RGMII No added delays No added delays
> RGMII-TXID No added delays 2ns delay on TX
> RGMII-RXID No added delays 2ns delay on RX
> RGMII-ID No added delays 2ns delay on both TX and RX
>
> In the case of a network interface with a PHY, "local end" is the
> MAC and "remote end" is the PHY.
>
> For a switch port connected to an external PHY, the switch port is
> as the "MAC" as above.
>
> For a switch port connected to an ethernet MAC:
> - for the MAC declaration, the local end is the MAC. There is no
> communication of the interface mode with the remote end under
> Linux, so this is irrelevant for Linux. However, this is an
> implementation, and it should be chosen according to the hardware.
>
> - for the switch port declaration, the local end is the switch port.
> There is no communication of the interface mode with the remote
> end under Linux. However, it should be chosen according to the
> hardware.
>
> So, if the 2ns delay is implemented on the RX lines (from the switch
> perspective) then shouldn't the MAC side be using "rgmii-txid" to
> indicate that the delay is being applied by the remote end (switch).
> The switch side should be using "rgmii" because no delays are required
> from the remote end (MAC), and the delay on the TX lines should be
> specified using "tx-internal-delay-ps"?

Ack. It make sense. Will fix it.

Regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |