]> git.baikalelectronics.ru Git - kernel.git/commit
net: phy: micrel: add phy-mode support for the KSZ9031 PHY
authorOleksij Rempel <o.rempel@pengutronix.de>
Wed, 22 Apr 2020 07:21:37 +0000 (09:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Apr 2020 02:38:46 +0000 (19:38 -0700)
commit7d105884856a9ce053a1b7d65f67be5204b69b64
tree8938df77886c55063a9fcfd4eba25688fffbe77a
parentcb0305d20a0881f861a494819913db3b8d504e0f
net: phy: micrel: add phy-mode support for the KSZ9031 PHY

Add support for following phy-modes: rgmii, rgmii-id, rgmii-txid, rgmii-rxid.

This PHY has an internal RX delay of 1.2ns and no delay for TX.

The pad skew registers allow to set the total TX delay to max 1.38ns and
the total RX delay to max of 2.58ns (configurable 1.38ns + build in
1.2ns) and a minimal delay of 0ns.

According to the RGMII v1.3 specification the delay provided by PCB traces
should be between 1.5ns and 2.0ns. The RGMII v2.0 allows to provide this
delay by MAC or PHY. So, we configure this PHY to the best values we can
get by this HW: TX delay to 1.38ns (max supported value) and RX delay to
1.80ns (best calculated delay)

The phy-modes can still be fine tuned/overwritten by *-skew-ps
device tree properties described in:
Documentation/devicetree/bindings/net/micrel-ksz90x1.txt

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/micrel.c