On Wed, Jul 17, 2024 at 11:27:33PM +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. > > Signed-off-by: Pawel Dembicki <paweldembicki@xxxxxxxxx> > > --- > v2: > - added info about default value when the rx/tx delay property > is missing > --- > .../bindings/net/dsa/vitesse,vsc73xx.yaml | 33 +++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml b/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml > index b99d7a694b70..7022a6afde5c 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,16 @@ 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. > + When the property is missing, the delay value is set to 2000 ps > + by default. default: 2000 Not freeform text. > + enum: > + [0, 1400, 1700, 2000] > + > unevaluatedProperties: false > > examples: > @@ -108,6 +137,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 +181,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>; > -- > 2.34.1 >