Documentation: devicetree: clarify usage of the RGMII phy-modes
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Fri, 25 Nov 2016 13:12:00 +0000 (14:12 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Nov 2016 17:06:54 +0000 (12:06 -0500)
commite5f3a4a56ce2a707b2fb8ce37e4414dcac89c672
tree95a01ceac0cc23920e99113fed1e4693a0461a27
parentd936377414fadbafb4d17148d222fe45ca5442d4
Documentation: devicetree: clarify usage of the RGMII phy-modes

RGMII requires special RX and/or TX delays depending on the actual
hardware circuit/wiring. These delays can be added by the MAC, the PHY
or the designer of the circuit (the latter means that no delay has to
be added by PHY or MAC).
There are 4 RGMII phy-modes used describe where a delay should be
applied:
- rgmii: the RX and TX delays are either added by the MAC (where the
  exact delay is typically configurable, and can be turned off when no
  extra delay is needed) or not needed at all (because the hardware
  wiring adds the delay already). The PHY should neither add the RX nor
  TX delay in this case.
- rgmii-rxid: configures the PHY to enable the RX delay. The MAC should
  not add the RX delay in this case.
- rgmii-txid: configures the PHY to enable the TX delay. The MAC should
  not add the TX delay in this case.
- rgmii-id: combines rgmii-rxid and rgmii-txid and thus configures the
  PHY to enable the RX and TX delays. The MAC should neither add the RX
  nor TX delay in this case.

Document these cases in the ethernet.txt documentation to make it clear
when to use each mode.
If applied incorrectly one might end up with MAC and PHY both enabling
for example the TX delay, which breaks ethernet TX traffic on 1000Mbit/s
links.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/ethernet.txt