]> 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)
commit4570040da42c24b91f34b5a659603ef5a3cd3fd4
tree8938df77886c55063a9fcfd4eba25688fffbe77a
parentcb02dcbc53702bd25722c1e0a3bf9b0887ae7d1a
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