> Do we need updates on this description. It doesn't talk about external PCB > level delays? > > https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/net/ethernet-controller.yaml#L77-L90 > > This is what you explained: > > MAC driver reads following phy-mode from device tree. 95% of mac driver > directly > pass it to PHY through phy_connect. > > rgmii - PCB has long clock lines so delay is added by PCB > On this mode PHY does nothing. > rgmii-id - PCB doesn't add delay. Either MAC or PHY needs to add the delay > Add delays in both directions. Some PHY may not add delay in that > case MAC needs to add the delay mask rgmii-id to rgmii. > rgmii-rxid - If there is an extra long TX clock line, but not RX clock, > you would use rgmii-rxid > rgmii-txid - When there is an extra long RX clock line on the PCB, but not > the TX clock line, you would use rgmii-txid The documentation is not great, that has been said a few times. What is described here is the view from the PHY, which is not ideal. # RX and TX delays are added by the MAC when required - rgmii