Commit 7f5bccc8 authored by Colin Foster's avatar Colin Foster Committed by David S. Miller
Browse files

dt-bindings: net: add generic ethernet-switch



The dsa.yaml bindings had references that can apply to non-dsa switches. To
prevent duplication of this information, keep the dsa-specific information
inside dsa.yaml and move the remaining generic information to the newly
created ethernet-switch.yaml.

Signed-off-by: default avatarColin Foster <colin.foster@in-advantage.com>
Suggested-by: default avatarVladimir Oltean <olteanv@gmail.com>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 000bd2af
Loading
Loading
Loading
Loading
+2 −29
Original line number Diff line number Diff line
@@ -18,10 +18,9 @@ description:

select: false

properties:
  $nodename:
    pattern: "^(ethernet-)?switch(@.*)?$"
$ref: /schemas/net/ethernet-switch.yaml#

properties:
  dsa,member:
    minItems: 2
    maxItems: 2
@@ -32,32 +31,6 @@ properties:
      (single device hanging off a CPU port) must not specify this property
    $ref: /schemas/types.yaml#/definitions/uint32-array

patternProperties:
  "^(ethernet-)?ports$":
    type: object
    properties:
      '#address-cells':
        const: 1
      '#size-cells':
        const: 0

    unevaluatedProperties: false

    patternProperties:
      "^(ethernet-)?port@[0-9]+$":
        type: object
        description: Ethernet switch ports

        $ref: dsa-port.yaml#

        additionalProperties: true

oneOf:
  - required:
      - ports
  - required:
      - ethernet-ports

additionalProperties: true

$defs:
+66 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/ethernet-switch.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic Ethernet Switch

maintainers:
  - Andrew Lunn <andrew@lunn.ch>
  - Florian Fainelli <f.fainelli@gmail.com>
  - Vladimir Oltean <olteanv@gmail.com>

description:
  Ethernet switches are multi-port Ethernet controllers. Each port has
  its own number and is represented as its own Ethernet controller.
  The minimum required functionality is to pass packets to software.
  They may or may not be able to forward packets automonously between
  ports.

select: false

properties:
  $nodename:
    pattern: "^(ethernet-)?switch(@.*)?$"

patternProperties:
  "^(ethernet-)?ports$":
    type: object
    unevaluatedProperties: false

    properties:
      '#address-cells':
        const: 1
      '#size-cells':
        const: 0

    patternProperties:
      "^(ethernet-)?port@[0-9]+$":
        type: object
        description: Ethernet switch ports

        $ref: ethernet-controller.yaml#

        additionalProperties: true

oneOf:
  - required:
      - ports
  - required:
      - ethernet-ports

additionalProperties: true

$defs:
  base:
    description: An ethernet switch without any extra port properties
    $ref: '#/'

    patternProperties:
      "^(ethernet-)?port@[0-9]+$":
        description: Ethernet switch ports
        $ref: ethernet-controller.yaml#
        unevaluatedProperties: false

...
+1 −0
Original line number Diff line number Diff line
@@ -14543,6 +14543,7 @@ M: Florian Fainelli <f.fainelli@gmail.com>
M:	Vladimir Oltean <olteanv@gmail.com>
S:	Maintained
F:	Documentation/devicetree/bindings/net/dsa/
F:	Documentation/devicetree/bindings/net/ethernet-switch.yaml
F:	drivers/net/dsa/
F:	include/linux/dsa/
F:	include/linux/platform_data/dsa.h