Message ID | 20221117215557.1277033-5-miquel.raynal@bootlin.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Marvell nvmem mac addresses support | expand |
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@bootlin.com> > --- > .../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@bootlin.com> > > 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@kernel.org> > + > + 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 > >
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@bootlin.com> 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>; + + switch@0,0 { + reg = <0x0 0x0 0x0 0x0 0x0>; + compatible = "pci11ab,c80c"; + nvmem-cells = <&mac_address 0>; + nvmem-cell-names = "mac-address"; + }; + };
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@bootlin.com> --- .../bindings/net/marvell,prestera.yaml | 55 ++++++++++++++++--- 1 file changed, 48 insertions(+), 7 deletions(-)