Commit 39d10386 authored by Miquel Raynal's avatar Miquel Raynal Committed by Paolo Abeni
Browse files

dt-bindings: net: marvell,prestera: Describe PCI devices of the prestera family



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: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent a429ab01
Loading
Loading
Loading
Loading
+54 −8
Original line number Diff line number Diff line
@@ -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:
          - pci11ab,c804
          - pci11ab,c80c
          - pci11ab,cc1e

  reg:
    maxItems: 1
@@ -28,12 +33,37 @@ 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
# Ports can also be described
additionalProperties:
  type: object

examples:
  - |
@@ -43,3 +73,19 @@ examples:
        interrupts = <33>, <34>, <35>;
        dfx = <&dfx>;
    };

  - |
    pcie@0 {
        #address-cells = <3>;
        #size-cells = <2>;
        ranges = <0x0 0x0 0x0 0x0 0x0 0x0>;
        reg = <0x0 0x0 0x0 0x0 0x0 0x0>;
        device_type = "pci";

        switch@0,0 {
            reg = <0x0 0x0 0x0 0x0 0x0>;
            compatible = "pci11ab,c80c";
            nvmem-cells = <&mac_address 0>;
            nvmem-cell-names = "mac-address";
        };
    };