The sja1105 driver has received a set of new DT bindings for RGMII
delays, and it warns when the old ones are in use:
https://patchwork.kernel.org/project/netdevbpf/cover/[email protected]/
This patch set adds the new bindings to the in-kernel device trees.
It would be nice if these patches could make it for v5.16, so that we
don't have warnings in the kernel log.
Vladimir Oltean (3):
ARM: dts: imx6qp-prtwd3: update RGMII delays for sja1105 switch
ARM: dts: ls1021a-tsn: update RGMII delays for sja1105 switch
arm64: dts: lx2160abluebox3: update RGMII delays for sja1105 switch
arch/arm/boot/dts/imx6qp-prtwd3.dts | 2 ++
arch/arm/boot/dts/ls1021a-tsn.dts | 2 ++
arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts | 4 ++++
3 files changed, 8 insertions(+)
--
2.25.1
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 not apply delays
in any direction (mostly because the SJA1105T can't do that, so this
board uses PCB traces). To preserve that but also silence the driver,
use explicit delays of 0 ns. The delay information from the phy-mode is
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 <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
---
arch/arm/boot/dts/ls1021a-tsn.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/ls1021a-tsn.dts b/arch/arm/boot/dts/ls1021a-tsn.dts
index ff0ffb22768b..1ea32fff4120 100644
--- a/arch/arm/boot/dts/ls1021a-tsn.dts
+++ b/arch/arm/boot/dts/ls1021a-tsn.dts
@@ -91,6 +91,8 @@ port@4 {
/* Internal port connected to eth2 */
ethernet = <&enet2>;
phy-mode = "rgmii";
+ rx-internal-delay-ps = <0>;
+ tx-internal-delay-ps = <0>;
reg = <4>;
fixed-link {
--
2.25.1
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 <[email protected]>
---
arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts b/arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts
index b21be03da0af..042c486bdda2 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts
@@ -386,6 +386,8 @@ port@2 {
reg = <2>;
ethernet = <&dpmac17>;
phy-mode = "rgmii-id";
+ rx-internal-delay-ps = <2000>;
+ tx-internal-delay-ps = <2000>;
fixed-link {
speed = <1000>;
@@ -529,6 +531,8 @@ port@2 {
reg = <2>;
ethernet = <&dpmac18>;
phy-mode = "rgmii-id";
+ rx-internal-delay-ps = <2000>;
+ tx-internal-delay-ps = <2000>;
fixed-link {
speed = <1000>;
--
2.25.1
On Wed, Oct 20, 2021 at 02:36:10PM +0300, Vladimir Oltean wrote:
> The sja1105 driver has received a set of new DT bindings for RGMII
> delays, and it warns when the old ones are in use:
> https://patchwork.kernel.org/project/netdevbpf/cover/[email protected]/
>
> This patch set adds the new bindings to the in-kernel device trees.
> It would be nice if these patches could make it for v5.16, so that we
> don't have warnings in the kernel log.
>
> Vladimir Oltean (3):
> ARM: dts: imx6qp-prtwd3: update RGMII delays for sja1105 switch
> ARM: dts: ls1021a-tsn: update RGMII delays for sja1105 switch
> arm64: dts: lx2160abluebox3: update RGMII delays for sja1105 switch
Applied for 5.16-rc, thanks!