On Tue, Jan 21, 2025 at 02:08:40PM +0100, Maxime Chevallier wrote: > On Tue, 21 Jan 2025 15:54:53 +0800 > Yijie Yang <quic_yijiyang@xxxxxxxxxxx> wrote: > > > Correct the definition of 'phy-mode' to reflect that RX and TX delays are > > added by the board, not the MAC, to prevent confusion and ensure accurate > > documentation. > > That's not entirely correct though. The purpose of the RGMII variants > (TXID, RXID, ID) are mostly to know whether or not the PHY must add > internal delays. That would be when the MAC can't AND there's no PCB > delay traces. Some MAC can insert delays. > > There's documentation here as well on that point : > > https://elixir.bootlin.com/linux/v6.13-rc3/source/Documentation/networking/phy.rst#L82 This is part of the problem. This describes PHY_INTERFACE_MODE_RGMII_*, and the value passed to phylib. The documentation even says: The values of phy_interface_t must be understood from the perspective of the PHY device itself, But the value in DT is about the board as a whole, it describes the hardware. Software gets to decide if the MAC or the PHY adds the delays, if the board does not provide the delay. > So, MACs may insert delays. A modification for the doc, if needed, > would rather be : > > - # RX and TX delays are added by the MAC when required > + # RX and TX delays are added by the MAC or PCB traces when required