During recent reviews I've been telling people that new MAC drivers should adopt a certain DT binding format for RGMII delays in order to avoid conflicting interpretations. Some suggestions were better received than others, and it appears we are still far from a consensus. Part of the problem seems to be that there are still drivers that apply RGMII delays based on an incorrect interpretation of the device tree, and these serve as a bad example for others. I happen to maintain one of those drivers and I am able to test it, so I figure that one of the ways in which I can make a change is to stop providing a bad example. Therefore, this series adds support for the "rx-internal-delay-ps" and "tx-internal-delay-ps" properties inside sja1105 switch port DT nodes, and if these are present, they will decide what RGMII delays will the driver apply. The in-tree device trees are also updated to follow the new format, as well as the schema validator. I assume it's okay to get all changes merged in through the same tree (net-next). Although the DTS changes could be split, if needed - the driver works with or without them. There is one more DTS which should be changed, which is in Shawn's tree but not in net-next: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/tree/arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts?h=for-next For that, I'd have to send a separate patch. Vladimir Oltean (6): ARM: dts: imx6qp-prtwd3: update RGMII delays for sja1105 switch ARM: dts: ls1021a-tsn: update RGMII delays for sja1105 switch dt-bindings: net: dsa: sja1105: fix example so all ports have a phy-handle of fixed-link dt-bindings: net: dsa: inherit the ethernet-controller DT schema dt-bindings: net: dsa: sja1105: add {rx,tx}-internal-delay-ps net: dsa: sja1105: parse {rx,tx}-internal-delay-ps properties for RGMII delays .../devicetree/bindings/net/dsa/dsa.yaml | 7 ++ .../bindings/net/dsa/nxp,sja1105.yaml | 43 +++++++++ arch/arm/boot/dts/imx6qp-prtwd3.dts | 2 + arch/arm/boot/dts/ls1021a-tsn.dts | 2 + drivers/net/dsa/sja1105/sja1105.h | 25 ++++- drivers/net/dsa/sja1105/sja1105_clocking.c | 35 +++---- drivers/net/dsa/sja1105/sja1105_main.c | 94 ++++++++++++++----- 7 files changed, 161 insertions(+), 47 deletions(-) -- 2.25.1