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 |