On Mon, Nov 29, 2021 at 03:18:54PM -0600, Rob Herring wrote: > On Fri, Nov 12, 2021 at 05:57:51PM +0100, Ansuel Smith wrote: > > Some switch may require to add additional binding to the node port. > > Move DSA generic port definition to a dedicated yaml to permit this. > > > > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx> > > --- > > .../devicetree/bindings/net/dsa/dsa-port.yaml | 70 +++++++++++++++++++ > > .../devicetree/bindings/net/dsa/dsa.yaml | 54 +------------- > > 2 files changed, 72 insertions(+), 52 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa-port.yaml > > > > diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml > > new file mode 100644 > > index 000000000000..258df41c9133 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml > > @@ -0,0 +1,70 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Ethernet Switch port Device Tree Bindings > > + > > +maintainers: > > + - Andrew Lunn <andrew@xxxxxxx> > > + - Florian Fainelli <f.fainelli@xxxxxxxxx> > > + - Vivien Didelot <vivien.didelot@xxxxxxxxx> > > + > > +description: > > + Ethernet switch port Description > > + > > +properties: > > + reg: > > + description: Port number > > + > > + label: > > + description: > > + Describes the label associated with this port, which will become > > + the netdev name > > + $ref: /schemas/types.yaml#/definitions/string > > + > > + link: > > + description: > > + Should be a list of phandles to other switch's DSA port. This > > + port is used as the outgoing port towards the phandle ports. The > > + full routing information must be given, not just the one hop > > + routes to neighbouring switches > > + $ref: /schemas/types.yaml#/definitions/phandle-array > > + > > + ethernet: > > + description: > > + Should be a phandle to a valid Ethernet device node. This host > > + device is what the switch port is connected to > > + $ref: /schemas/types.yaml#/definitions/phandle > > + > > + dsa-tag-protocol: > > + description: > > + Instead of the default, the switch will use this tag protocol if > > + possible. Useful when a device supports multiple protocols and > > + the default is incompatible with the Ethernet device. > > + enum: > > + - dsa > > + - edsa > > + - ocelot > > + - ocelot-8021q > > + - seville > > + > > + phy-handle: true > > + > > + phy-mode: true > > + > > + fixed-link: true > > + > > + mac-address: true > > + > > + sfp: true > > + > > + managed: true > > + > > +required: > > + - reg > > + > > +additionalProperties: true > > + > > +... > > diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml > > index 224cfa45de9a..15ea9ef3def9 100644 > > --- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml > > +++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml > > @@ -46,58 +46,8 @@ patternProperties: > > type: object > > description: Ethernet switch ports > > > > - properties: > > - reg: > > - description: Port number > > - > > - label: > > - description: > > - Describes the label associated with this port, which will become > > - the netdev name > > - $ref: /schemas/types.yaml#/definitions/string > > - > > - link: > > - description: > > - Should be a list of phandles to other switch's DSA port. This > > - port is used as the outgoing port towards the phandle ports. The > > - full routing information must be given, not just the one hop > > - routes to neighbouring switches > > - $ref: /schemas/types.yaml#/definitions/phandle-array > > - > > - ethernet: > > - description: > > - Should be a phandle to a valid Ethernet device node. This host > > - device is what the switch port is connected to > > - $ref: /schemas/types.yaml#/definitions/phandle > > - > > - dsa-tag-protocol: > > - description: > > - Instead of the default, the switch will use this tag protocol if > > - possible. Useful when a device supports multiple protocols and > > - the default is incompatible with the Ethernet device. > > - enum: > > - - dsa > > - - edsa > > - - ocelot > > - - ocelot-8021q > > - - seville > > - > > - phy-handle: true > > - > > - phy-mode: true > > - > > - fixed-link: true > > - > > - mac-address: true > > - > > - sfp: true > > - > > - managed: true > > - > > - required: > > - - reg > > - > > - additionalProperties: false > > + allOf: > > + - $ref: dsa-port.yaml# > > Don't need 'allOf' here. And you need to add 'unevaluatedProperties: > false'. With that, > > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > > (This needs to go in net-next to avoid conflicts, but given the > maintainers didn't apply it already unreviewed they probably expect I > will apply it.) If you want I can push a v2 with the net-next tag. -- Ansuel