Message ID | 20240729210200.279798-2-paweldembicki@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | b735154aeb3366b249ab52bbfa0aa8a4c61c9a44 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v3,1/2] net: dsa: vsc73xx: make RGMII delays configurable | expand |
On Mon, 29 Jul 2024 23:02:01 +0200, Pawel Dembicki wrote: > Add a schema validator to vitesse,vsc73xx.yaml for MAC-level RGMII delays > in the CPU port. Additionally, valid values for VSC73XX were defined, > and a common definition for the RX and TX valid range was created. > > Reviewed-by: Andrew Lunn <andrew@lunn.ch> > Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> > > --- > v3: > - use 'default:' instead text in description > v2: > - added info about default value when the rx/tx delay property > is missing > --- > .../bindings/net/dsa/vitesse,vsc73xx.yaml | 32 +++++++++++++++++++ > 1 file changed, 32 insertions(+) > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
On Mon, Jul 29, 2024 at 11:02 PM Pawel Dembicki <paweldembicki@gmail.com> wrote: > Add a schema validator to vitesse,vsc73xx.yaml for MAC-level RGMII delays > in the CPU port. Additionally, valid values for VSC73XX were defined, > and a common definition for the RX and TX valid range was created. > > Reviewed-by: Andrew Lunn <andrew@lunn.ch> > Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Elegant! Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
diff --git a/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml b/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml index b99d7a694b70..51cf574249be 100644 --- a/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml +++ b/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml @@ -52,6 +52,25 @@ properties: allOf: - $ref: dsa.yaml#/$defs/ethernet-ports +patternProperties: + "^(ethernet-)?ports$": + additionalProperties: true + patternProperties: + "^(ethernet-)?port@6$": + allOf: + - if: + properties: + phy-mode: + contains: + enum: + - rgmii + then: + properties: + rx-internal-delay-ps: + $ref: "#/$defs/internal-delay-ps" + tx-internal-delay-ps: + $ref: "#/$defs/internal-delay-ps" + # This checks if reg is a chipselect so the device is on an SPI # bus, the if-clause will fail if reg is a tuple such as for a # platform device. @@ -67,6 +86,15 @@ required: - compatible - reg +$defs: + internal-delay-ps: + description: + Disable tunable delay lines using 0 ps, or enable them and select + the phase between 1400 ps and 2000 ps in increments of 300 ps. + default: 2000 + enum: + [0, 1400, 1700, 2000] + unevaluatedProperties: false examples: @@ -108,6 +136,8 @@ examples: reg = <6>; ethernet = <&gmac1>; phy-mode = "rgmii"; + rx-internal-delay-ps = <0>; + tx-internal-delay-ps = <0>; fixed-link { speed = <1000>; full-duplex; @@ -150,6 +180,8 @@ examples: ethernet-port@6 { reg = <6>; ethernet = <&enet0>; + rx-internal-delay-ps = <0>; + tx-internal-delay-ps = <0>; phy-mode = "rgmii"; fixed-link { speed = <1000>;