aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiquel Raynal <[email protected]>2022-11-24 12:15:53 +0100
committerPaolo Abeni <[email protected]>2022-11-29 10:45:53 +0100
commit39d1038620153d9c94a47235d061aefe681d3e65 (patch)
treed53d766fba6e434de3e7d0e4c8b39ea1a549b09e
parenta429ab01163c8d55281ffd64bd924b32c501da57 (diff)
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: Miquel Raynal <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Paolo Abeni <[email protected]>
-rw-r--r--Documentation/devicetree/bindings/net/marvell,prestera.yaml62
1 files changed, 54 insertions, 8 deletions
diff --git a/Documentation/devicetree/bindings/net/marvell,prestera.yaml b/Documentation/devicetree/bindings/net/marvell,prestera.yaml
index b0a3ecca406e..5ea8b73663a5 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 <[email protected]>
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,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";
+ };
+ };