On Thu, Nov 17, 2022 at 10:55:55PM +0100, Miquel Raynal wrote: > Even though the devices have very little in common beside the name and > the main "switch" feature, Marvell Prestera switch family is also > composed of PCI-only devices which can receive additional static > properties, like nvmem cells to point at MAC addresses, for > instance. Let's describe them. > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > --- > .../bindings/net/marvell,prestera.yaml | 55 ++++++++++++++++--- > 1 file changed, 48 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/marvell,prestera.yaml b/Documentation/devicetree/bindings/net/marvell,prestera.yaml > index b0a3ecca406e..f159fadf86ec 100644 > --- a/Documentation/devicetree/bindings/net/marvell,prestera.yaml > +++ b/Documentation/devicetree/bindings/net/marvell,prestera.yaml > @@ -4,19 +4,24 @@ > $id: http://devicetree.org/schemas/net/marvell,prestera.yaml# > $schema: http://devicetree.org/meta-schemas/core.yaml# > > -title: Marvell Prestera AlleyCat3 switch > +title: Marvell Prestera switch family > > maintainers: > - Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > > properties: > compatible: > - items: > + oneOf: > + - items: > + - enum: > + - marvell,prestera-98dx3236 > + - marvell,prestera-98dx3336 > + - marvell,prestera-98dx4251 > + - const: marvell,prestera > - enum: > - - marvell,prestera-98dx3236 > - - marvell,prestera-98dx3336 > - - marvell,prestera-98dx4251 > - - const: marvell,prestera > + - pci11ab,c804 > + - pci11ab,c80c > + - pci11ab,cc1e > > reg: > maxItems: 1 > @@ -28,10 +33,33 @@ properties: > description: Reference to the DFX Server bus node. > $ref: /schemas/types.yaml#/definitions/phandle > > + nvmem-cells: true > + > + nvmem-cell-names: true > + > +if: > + properties: > + compatible: > + contains: > + const: marvell,prestera > + > +# Memory mapped AlleyCat3 family > +then: > + properties: > + nvmem-cells: false > + nvmem-cell-names: false > + required: > + - interrupts > + > +# PCI Aldrin family > +else: > + properties: > + interrupts: false > + dfx: false > + > required: > - compatible > - reg > - - interrupts > > additionalProperties: false > > @@ -43,3 +71,16 @@ examples: > interrupts = <33>, <34>, <35>; > dfx = <&dfx>; > }; > + > + - | > + pcie { > + #address-cells = <3>; > + #size-cells = <2>; ranges; device_type = "pci"; With that, Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > + > + switch@0,0 { > + reg = <0x0 0x0 0x0 0x0 0x0>; > + compatible = "pci11ab,c80c"; > + nvmem-cells = <&mac_address 0>; > + nvmem-cell-names = "mac-address"; > + }; > + }; > -- > 2.34.1 > >