| Message ID | 3c8dc0bab72de05ce5b5a7960b6596009287fa8e.1761938079.git.daniel@makrotopia.org |
|---|---|
| State | New |
| Headers | show |
| Series | net: dsa: lantiq_gswip: Add support for MaxLinear GSW1xx switch family | expand |
On Fri, Oct 31, 2025 at 07:22:09PM +0000, Daniel Golle wrote: > Add support for standard tx-internal-delay-ps and rx-internal-delay-ps > properties on port nodes to allow fine-tuning of RGMII clock delays. > > The GSWIP switch hardware supports delay values in 500 picosecond > increments from 0 to 3500 picoseconds, with a post-reset default of 2000 > picoseconds for both TX and RX delays. The driver currently sets the > delay to 0 in case the PHY is setup to carry out the delay by the > corresponding interface modes ("rgmii-id", "rgmii-rxid", "rgmii-txid"). > > This corresponds to the driver changes that allow adjusting MII delays > using Device Tree properties instead of relying solely on the PHY > interface mode. > > Signed-off-by: Daniel Golle <daniel@makrotopia.org> > --- Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml index b494f414a3e1..cf01b07f7f44 100644 --- a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml +++ b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml @@ -22,6 +22,20 @@ patternProperties: description: Configure the RMII reference clock to be a clock output rather than an input. Only applicable for RMII mode. + tx-internal-delay-ps: + enum: [0, 500, 1000, 1500, 2000, 2500, 3000, 3500] + description: + RGMII TX Clock Delay defined in pico seconds. + The delay lines adjust the MII clock vs. data timing. + If this property is not present the delay is determined by + the interface mode. + rx-internal-delay-ps: + enum: [0, 500, 1000, 1500, 2000, 2500, 3000, 3500] + description: + RGMII RX Clock Delay defined in pico seconds. + The delay lines adjust the MII clock vs. data timing. + If this property is not present the delay is determined by + the interface mode. maintainers: - Hauke Mehrtens <hauke@hauke-m.de> @@ -127,8 +141,10 @@ examples: port@0 { reg = <0>; label = "lan3"; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <&phy0>; + tx-internal-delay-ps = <2000>; + rx-internal-delay-ps = <2000>; }; port@1 {
Add support for standard tx-internal-delay-ps and rx-internal-delay-ps properties on port nodes to allow fine-tuning of RGMII clock delays. The GSWIP switch hardware supports delay values in 500 picosecond increments from 0 to 3500 picoseconds, with a post-reset default of 2000 picoseconds for both TX and RX delays. The driver currently sets the delay to 0 in case the PHY is setup to carry out the delay by the corresponding interface modes ("rgmii-id", "rgmii-rxid", "rgmii-txid"). This corresponds to the driver changes that allow adjusting MII delays using Device Tree properties instead of relying solely on the PHY interface mode. Signed-off-by: Daniel Golle <daniel@makrotopia.org> --- v6: * switch order of patches v4: * remove misleading defaults v3: * redefine ports node so properties are defined actually apply * RGMII port with 2ps delay is 'rgmii-id' mode .../bindings/net/dsa/lantiq,gswip.yaml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)