[PATCH 1/2] dt-bindings: net: dsa: split generic port definition from dsa.yaml

Subsystems: networking drivers, networking [dsa], open firmware and flattened device tree bindings, the rest

STALE1718d

5 messages, 2 authors, 2021-11-29 · open the first message on its own page

[PATCH 1/2] dt-bindings: net: dsa: split generic port definition from dsa.yaml

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-11-12 16:58:10

Some switch may require to add additional binding to the node port.
Move DSA generic port definition to a dedicated yaml to permit this.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../devicetree/bindings/net/dsa/dsa-port.yaml | 70 +++++++++++++++++++
 .../devicetree/bindings/net/dsa/dsa.yaml      | 54 +-------------
 2 files changed, 72 insertions(+), 52 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
new file mode 100644
index 000000000000..258df41c9133
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ethernet Switch port Device Tree Bindings
+
+maintainers:
+  - Andrew Lunn <andrew@lunn.ch>
+  - Florian Fainelli <f.fainelli@gmail.com>
+  - Vivien Didelot <vivien.didelot@gmail.com>
+
+description:
+  Ethernet switch port Description
+
+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
+
+  dsa-tag-protocol:
+    description:
+      Instead of the default, the switch will use this tag protocol if
+      possible. Useful when a device supports multiple protocols and
+      the default is incompatible with the Ethernet device.
+    enum:
+      - dsa
+      - edsa
+      - ocelot
+      - ocelot-8021q
+      - seville
+
+  phy-handle: true
+
+  phy-mode: true
+
+  fixed-link: true
+
+  mac-address: true
+
+  sfp: true
+
+  managed: true
+
+required:
+  - reg
+
+additionalProperties: true
+
+...
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
index 224cfa45de9a..15ea9ef3def9 100644
--- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
@@ -46,58 +46,8 @@ patternProperties:
         type: object
         description: Ethernet switch ports
 
-        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
-
-          dsa-tag-protocol:
-            description:
-              Instead of the default, the switch will use this tag protocol if
-              possible. Useful when a device supports multiple protocols and
-              the default is incompatible with the Ethernet device.
-            enum:
-              - dsa
-              - edsa
-              - ocelot
-              - ocelot-8021q
-              - seville
-
-          phy-handle: true
-
-          phy-mode: true
-
-          fixed-link: true
-
-          mac-address: true
-
-          sfp: true
-
-          managed: true
-
-        required:
-          - reg
-
-        additionalProperties: false
+        allOf:
+          - $ref: dsa-port.yaml#
 
 oneOf:
   - required:
-- 
2.32.0

[PATCH 2/2] dt-bindings: net: dsa: qca8k: improve port definition documentation

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-11-12 16:58:12

Clean and improve port definition for qca8k documentation by referencing
the dsa generic port definition and adding the additional specific port
definition.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../devicetree/bindings/net/dsa/qca8k.yaml    | 82 ++++++-------------
 1 file changed, 23 insertions(+), 59 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
index 48de0ace265d..9eb24cdf6cd4 100644
--- a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
@@ -99,65 +99,29 @@ patternProperties:
         type: object
         description: Ethernet switch ports
 
-        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
-
-          phy-handle: true
-
-          phy-mode: true
-
-          fixed-link: true
-
-          mac-address: true
-
-          sfp: true
-
-          qca,sgmii-rxclk-falling-edge:
-            $ref: /schemas/types.yaml#/definitions/flag
-            description:
-              Set the receive clock phase to falling edge. Mostly commonly used on
-              the QCA8327 with CPU port 0 set to SGMII.
-
-          qca,sgmii-txclk-falling-edge:
-            $ref: /schemas/types.yaml#/definitions/flag
-            description:
-              Set the transmit clock phase to falling edge.
-
-          qca,sgmii-enable-pll:
-            $ref: /schemas/types.yaml#/definitions/flag
-            description:
-              For SGMII CPU port, explicitly enable PLL, TX and RX chain along with
-              Signal Detection. On the QCA8327 this should not be enabled, otherwise
-              the SGMII port will not initialize. When used on the QCA8337, revision 3
-              or greater, a warning will be displayed. When the CPU port is set to
-              SGMII on the QCA8337, it is advised to set this unless a communication
-              issue is observed.
-
-        required:
-          - reg
-
-        additionalProperties: false
+        allOf:
+          - $ref: dsa-port.yaml#
+          - properties:
+              qca,sgmii-rxclk-falling-edge:
+                $ref: /schemas/types.yaml#/definitions/flag
+                description:
+                  Set the receive clock phase to falling edge. Mostly commonly used on
+                  the QCA8327 with CPU port 0 set to SGMII.
+
+              qca,sgmii-txclk-falling-edge:
+                $ref: /schemas/types.yaml#/definitions/flag
+                description:
+                  Set the transmit clock phase to falling edge.
+
+              qca,sgmii-enable-pll:
+                $ref: /schemas/types.yaml#/definitions/flag
+                description:
+                  For SGMII CPU port, explicitly enable PLL, TX and RX chain along with
+                  Signal Detection. On the QCA8327 this should not be enabled, otherwise
+                  the SGMII port will not initialize. When used on the QCA8337, revision 3
+                  or greater, a warning will be displayed. When the CPU port is set to
+                  SGMII on the QCA8337, it is advised to set this unless a communication
+                  issue is observed.
 
 oneOf:
   - required:
-- 
2.32.0

Re: [PATCH 1/2] dt-bindings: net: dsa: split generic port definition from dsa.yaml

From: Rob Herring <robh@kernel.org>
Date: 2021-11-29 21:20:58

On Fri, Nov 12, 2021 at 05:57:51PM +0100, Ansuel Smith wrote:
quoted hunk
Some switch may require to add additional binding to the node port.
Move DSA generic port definition to a dedicated yaml to permit this.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../devicetree/bindings/net/dsa/dsa-port.yaml | 70 +++++++++++++++++++
 .../devicetree/bindings/net/dsa/dsa.yaml      | 54 +-------------
 2 files changed, 72 insertions(+), 52 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
new file mode 100644
index 000000000000..258df41c9133
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ethernet Switch port Device Tree Bindings
+
+maintainers:
+  - Andrew Lunn <andrew@lunn.ch>
+  - Florian Fainelli <f.fainelli@gmail.com>
+  - Vivien Didelot <vivien.didelot@gmail.com>
+
+description:
+  Ethernet switch port Description
+
+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
+
+  dsa-tag-protocol:
+    description:
+      Instead of the default, the switch will use this tag protocol if
+      possible. Useful when a device supports multiple protocols and
+      the default is incompatible with the Ethernet device.
+    enum:
+      - dsa
+      - edsa
+      - ocelot
+      - ocelot-8021q
+      - seville
+
+  phy-handle: true
+
+  phy-mode: true
+
+  fixed-link: true
+
+  mac-address: true
+
+  sfp: true
+
+  managed: true
+
+required:
+  - reg
+
+additionalProperties: true
+
+...
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
index 224cfa45de9a..15ea9ef3def9 100644
--- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
@@ -46,58 +46,8 @@ patternProperties:
         type: object
         description: Ethernet switch ports
 
-        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
-
-          dsa-tag-protocol:
-            description:
-              Instead of the default, the switch will use this tag protocol if
-              possible. Useful when a device supports multiple protocols and
-              the default is incompatible with the Ethernet device.
-            enum:
-              - dsa
-              - edsa
-              - ocelot
-              - ocelot-8021q
-              - seville
-
-          phy-handle: true
-
-          phy-mode: true
-
-          fixed-link: true
-
-          mac-address: true
-
-          sfp: true
-
-          managed: true
-
-        required:
-          - reg
-
-        additionalProperties: false
+        allOf:
+          - $ref: dsa-port.yaml#
Don't need 'allOf' here. And you need to add 'unevaluatedProperties: 
false'. With that,

Reviewed-by: Rob Herring <robh@kernel.org>

(This needs to go in net-next to avoid conflicts, but given the 
maintainers didn't apply it already unreviewed they probably expect I 
will apply it.)

Re: [PATCH 2/2] dt-bindings: net: dsa: qca8k: improve port definition documentation

From: Rob Herring <robh@kernel.org>
Date: 2021-11-29 21:22:17

On Fri, Nov 12, 2021 at 05:57:52PM +0100, Ansuel Smith wrote:
quoted hunk
Clean and improve port definition for qca8k documentation by referencing
the dsa generic port definition and adding the additional specific port
definition.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../devicetree/bindings/net/dsa/qca8k.yaml    | 82 ++++++-------------
 1 file changed, 23 insertions(+), 59 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
index 48de0ace265d..9eb24cdf6cd4 100644
--- a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
@@ -99,65 +99,29 @@ patternProperties:
         type: object
         description: Ethernet switch ports
 
-        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
-
-          phy-handle: true
-
-          phy-mode: true
-
-          fixed-link: true
-
-          mac-address: true
-
-          sfp: true
-
-          qca,sgmii-rxclk-falling-edge:
-            $ref: /schemas/types.yaml#/definitions/flag
-            description:
-              Set the receive clock phase to falling edge. Mostly commonly used on
-              the QCA8327 with CPU port 0 set to SGMII.
-
-          qca,sgmii-txclk-falling-edge:
-            $ref: /schemas/types.yaml#/definitions/flag
-            description:
-              Set the transmit clock phase to falling edge.
-
-          qca,sgmii-enable-pll:
-            $ref: /schemas/types.yaml#/definitions/flag
-            description:
-              For SGMII CPU port, explicitly enable PLL, TX and RX chain along with
-              Signal Detection. On the QCA8327 this should not be enabled, otherwise
-              the SGMII port will not initialize. When used on the QCA8337, revision 3
-              or greater, a warning will be displayed. When the CPU port is set to
-              SGMII on the QCA8337, it is advised to set this unless a communication
-              issue is observed.
-
-        required:
-          - reg
-
-        additionalProperties: false
+        allOf:
+          - $ref: dsa-port.yaml#
+          - properties:
You can drop 'allOf' here too. And add 'unevaluatedProperties: false'.

With that,

Reviewed-by: Rob Herring <robh@kernel.org>
+              qca,sgmii-rxclk-falling-edge:
+                $ref: /schemas/types.yaml#/definitions/flag
+                description:
+                  Set the receive clock phase to falling edge. Mostly commonly used on
+                  the QCA8327 with CPU port 0 set to SGMII.
+
+              qca,sgmii-txclk-falling-edge:
+                $ref: /schemas/types.yaml#/definitions/flag
+                description:
+                  Set the transmit clock phase to falling edge.
+
+              qca,sgmii-enable-pll:
+                $ref: /schemas/types.yaml#/definitions/flag
+                description:
+                  For SGMII CPU port, explicitly enable PLL, TX and RX chain along with
+                  Signal Detection. On the QCA8327 this should not be enabled, otherwise
+                  the SGMII port will not initialize. When used on the QCA8337, revision 3
+                  or greater, a warning will be displayed. When the CPU port is set to
+                  SGMII on the QCA8337, it is advised to set this unless a communication
+                  issue is observed.
 
 oneOf:
   - required:
-- 
2.32.0

Re: [PATCH 1/2] dt-bindings: net: dsa: split generic port definition from dsa.yaml

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-11-29 22:24:25

On Mon, Nov 29, 2021 at 03:18:54PM -0600, Rob Herring wrote:
On Fri, Nov 12, 2021 at 05:57:51PM +0100, Ansuel Smith wrote:
quoted
Some switch may require to add additional binding to the node port.
Move DSA generic port definition to a dedicated yaml to permit this.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../devicetree/bindings/net/dsa/dsa-port.yaml | 70 +++++++++++++++++++
 .../devicetree/bindings/net/dsa/dsa.yaml      | 54 +-------------
 2 files changed, 72 insertions(+), 52 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
new file mode 100644
index 000000000000..258df41c9133
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ethernet Switch port Device Tree Bindings
+
+maintainers:
+  - Andrew Lunn <andrew@lunn.ch>
+  - Florian Fainelli <f.fainelli@gmail.com>
+  - Vivien Didelot <vivien.didelot@gmail.com>
+
+description:
+  Ethernet switch port Description
+
+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
+
+  dsa-tag-protocol:
+    description:
+      Instead of the default, the switch will use this tag protocol if
+      possible. Useful when a device supports multiple protocols and
+      the default is incompatible with the Ethernet device.
+    enum:
+      - dsa
+      - edsa
+      - ocelot
+      - ocelot-8021q
+      - seville
+
+  phy-handle: true
+
+  phy-mode: true
+
+  fixed-link: true
+
+  mac-address: true
+
+  sfp: true
+
+  managed: true
+
+required:
+  - reg
+
+additionalProperties: true
+
+...
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
index 224cfa45de9a..15ea9ef3def9 100644
--- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
@@ -46,58 +46,8 @@ patternProperties:
         type: object
         description: Ethernet switch ports
 
-        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
-
-          dsa-tag-protocol:
-            description:
-              Instead of the default, the switch will use this tag protocol if
-              possible. Useful when a device supports multiple protocols and
-              the default is incompatible with the Ethernet device.
-            enum:
-              - dsa
-              - edsa
-              - ocelot
-              - ocelot-8021q
-              - seville
-
-          phy-handle: true
-
-          phy-mode: true
-
-          fixed-link: true
-
-          mac-address: true
-
-          sfp: true
-
-          managed: true
-
-        required:
-          - reg
-
-        additionalProperties: false
+        allOf:
+          - $ref: dsa-port.yaml#
Don't need 'allOf' here. And you need to add 'unevaluatedProperties: 
false'. With that,

Reviewed-by: Rob Herring <robh@kernel.org>

(This needs to go in net-next to avoid conflicts, but given the 
maintainers didn't apply it already unreviewed they probably expect I 
will apply it.)
If you want I can push a v2 with the net-next tag.

-- 
	Ansuel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help