Re: [PATCH net-next v3] net: phy: micrel: add phy-mode support for the KSZ9031 PHY

From: Grygorii Strashko
Date: Tue May 05 2020 - 14:27:22 EST




On 22/04/2020 10:21, Oleksij Rempel wrote:
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@xxxxxxxxxxxxxx>
---
changes v3:
- change delay on RX line to 1.80ns
- add warning if *-skew-ps properties are used together with not rgmii
mode.

changes v2:
- change RX_ID value from 0x1a to 0xa. The overflow bit was detected by
FIELD_PREP() build check.
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

drivers/net/phy/micrel.c | 128 +++++++++++++++++++++++++++++++++++++--
1 file changed, 123 insertions(+), 5 deletions(-)


This patch broke networking on at least 5 TI boards:
am572x-idk
am571x-idk
am43xx-hsevm
am43xx-gpevm
am437x-idk

am57xx I can fix.

am437x need to investigate.

--
Best regards,
grygorii