Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: imx6qp-prtwd3: update RGMII delays for sja1105 switch

In the new behavior, the sja1105 driver expects there to be explicit
RGMII delays present on the fixed-link ports, otherwise it will complain
that it falls back to legacy behavior, which is to apply RGMII delays
incorrectly derived from the phy-mode string.

In this case, the legacy behavior of the driver is to apply both RX and
TX delays. To preserve that, add explicit 2 nanosecond delays, which are
identical with what the driver used to add (a 90 degree phase shift).
The delays from the phy-mode are ignored by new kernels (it's still
RGMII as long as it's "rgmii*" something), and the explicit
{rx,tx}-internal-delay-ps properties are ignored by old kernels, so the
change works both ways.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Vladimir Oltean and committed by
Shawn Guo
f2c2e9eb fa55b7dc

+2
+2
arch/arm/boot/dts/imx6qp-prtwd3.dts
··· 178 178 label = "cpu"; 179 179 ethernet = <&fec>; 180 180 phy-mode = "rgmii-id"; 181 + rx-internal-delay-ps = <2000>; 182 + tx-internal-delay-ps = <2000>; 181 183 182 184 fixed-link { 183 185 speed = <100>;