Re: [PATCH 4/6] dt-bindings: net: marvell,prestera: Describe PCI devices of the prestera family

From: Rob Herring
Date: Wed Nov 23 2022 - 17:14:00 EST


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
>
>