Netdev Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Kurt Kanzenbach <kurt@linutronix.de>
To: Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	Kurt Kanzenbach <kurt@linutronix.de>
Subject: [PATCH v1 1/1] dt-bindings: net: dsa: Add DSA yaml binding
Date: Fri, 10 Jul 2020 11:06:18 +0200	[thread overview]
Message-ID: <20200710090618.28945-2-kurt@linutronix.de> (raw)
In-Reply-To: <20200710090618.28945-1-kurt@linutronix.de>

For future DSA drivers it makes sense to add a generic DSA yaml binding which
can be used then. This was created using the properties from dsa.txt. It
includes the ports and the dsa,member property.

Suggested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
---
 .../devicetree/bindings/net/dsa/dsa.yaml      | 80 +++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa.yaml

diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
new file mode 100644
index 000000000000..bec257231bf8
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/dsa/dsa.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Distributed Switch Architecture Device Tree Bindings
+
+maintainers:
+  - Andrew Lunn <andrew@lunn.ch>
+  - Florian Fainelli <f.fainelli@gmail.com>
+  - Vivien Didelot <vivien.didelot@gmail.com>
+
+description:
+  Switches are true Linux devices and can be probed by any means. Once probed,
+  they register to the DSA framework, passing a node pointer. This node is
+  expected to fulfil the following binding, and may contain additional
+  properties as required by the device it is embedded within.
+
+properties:
+  $nodename:
+    pattern: "^switch(@.*)?$"
+
+  dsa,member:
+    minItems: 2
+    maxItems: 2
+    description:
+      A two element list indicates which DSA cluster, and position within the
+      cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
+      switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
+      (single device hanging off a CPU port) must not specify this property
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+
+  ports:
+    type: object
+    properties:
+      '#address-cells':
+        const: 1
+      '#size-cells':
+        const: 0
+
+    patternProperties:
+      "^port@[0-9]+$":
+          type: object
+          description: DSA switch ports
+
+          allOf:
+            - $ref: ../ethernet-controller.yaml#
+
+          properties:
+            reg:
+              description: Port number
+
+            label:
+              description:
+                Describes the label associated with this port, which will become
+                the netdev name
+              $ref: /schemas/types.yaml#definitions/string
+
+            link:
+              description:
+                Should be a list of phandles to other switch's DSA port. This
+                port is used as the outgoing port towards the phandle ports. The
+                full routing information must be given, not just the one hop
+                routes to neighbouring switches
+              $ref: /schemas/types.yaml#definitions/phandle-array
+
+            ethernet:
+              description:
+                Should be a phandle to a valid Ethernet device node.  This host
+                device is what the switch port is connected to
+              $ref: /schemas/types.yaml#definitions/phandle
+
+          required:
+            - reg
+
+required:
+  - ports
+
+...
-- 
2.20.1


  reply	other threads:[~2020-07-10  9:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-10  9:06 [PATCH v1 0/1] " Kurt Kanzenbach
2020-07-10  9:06 ` Kurt Kanzenbach [this message]
2020-07-10 16:39   ` [PATCH v1 1/1] " Rob Herring
2020-07-11 11:35     ` Kurt Kanzenbach
2020-07-11 16:52       ` Andrew Lunn
2020-07-12 10:29         ` Kurt Kanzenbach
2020-07-13 20:56         ` Rob Herring
2020-07-10 16:45   ` Rob Herring
2020-07-10 17:20     ` Florian Fainelli
2020-07-10 19:38       ` Rob Herring
2020-07-11 11:59         ` Kurt Kanzenbach
2020-07-11 16:42           ` Andrew Lunn
2020-07-13 20:41           ` Rob Herring
2020-07-14  6:18             ` Kurt Kanzenbach
2020-07-10 17:39     ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200710090618.28945-2-kurt@linutronix.de \
    --to=kurt@linutronix.de \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=vivien.didelot@gmail.com \
    --subject='Re: [PATCH v1 1/1] dt-bindings: net: dsa: Add DSA yaml binding' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
on how to clone and mirror all data and code used for this inbox