OSDN Git Service

arm64: dts: lx2160abluebox3: update RGMII delays for sja1105 switch
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 20 Oct 2021 11:36:13 +0000 (14:36 +0300)
committerShawn Guo <shawnguo@kernel.org>
Sun, 21 Nov 2021 02:37:17 +0000 (10:37 +0800)
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>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts

index b21be03..042c486 100644 (file)
                                reg = <2>;
                                ethernet = <&dpmac17>;
                                phy-mode = "rgmii-id";
+                               rx-internal-delay-ps = <2000>;
+                               tx-internal-delay-ps = <2000>;
 
                                fixed-link {
                                        speed = <1000>;
                                reg = <2>;
                                ethernet = <&dpmac18>;
                                phy-mode = "rgmii-id";
+                               rx-internal-delay-ps = <2000>;
+                               tx-internal-delay-ps = <2000>;
 
                                fixed-link {
                                        speed = <1000>;