[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221124111556.264647-5-miquel.raynal@bootlin.com>
Date: Thu, 24 Nov 2022 12:15:53 +0100
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>, netdev@...r.kernel.org
Cc: Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
devicetree@...r.kernel.org, Robert Marko <robert.marko@...tura.hr>,
Luka Perkov <luka.perkov@...tura.hr>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Michael Walle <michael@...le.cc>,
Marcin Wojtas <mw@...ihalf.com>,
<linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
Vadym Kochan <vadym.kochan@...ision.eu>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Rob Herring <robh@...nel.org>
Subject: [PATCH net-next v2 4/7] 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 <miquel.raynal@...tlin.com>
Reviewed-by: Rob Herring <robh@...nel.org>
---
.../bindings/net/marvell,prestera.yaml | 62 ++++++++++++++++---
1 file 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 <miquel.raynal@...tlin.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,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";
+ };
+ };
--
2.34.1
Powered by blists - more mailing lists