xref: /linux/Documentation/devicetree/bindings/net/dsa/dsa.yaml (revision d6296cb65320be16dbf20f2fd584ddc25f3437cd)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/dsa/dsa.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ethernet Switch
8
9maintainers:
10  - Andrew Lunn <andrew@lunn.ch>
11  - Florian Fainelli <f.fainelli@gmail.com>
12  - Vladimir Oltean <olteanv@gmail.com>
13
14description:
15  This binding represents Ethernet Switches which have a dedicated CPU
16  port. That port is usually connected to an Ethernet Controller of the
17  SoC. Such setups are typical for embedded devices.
18
19select: false
20
21$ref: /schemas/net/ethernet-switch.yaml#
22
23properties:
24  dsa,member:
25    minItems: 2
26    maxItems: 2
27    description:
28      A two element list indicates which DSA cluster, and position within the
29      cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
30      switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
31      (single device hanging off a CPU port) must not specify this property
32    $ref: /schemas/types.yaml#/definitions/uint32-array
33
34additionalProperties: true
35
36$defs:
37  ethernet-ports:
38    description: A DSA switch without any extra port properties
39    $ref: '#/'
40
41    patternProperties:
42      "^(ethernet-)?ports$":
43        type: object
44        additionalProperties: false
45
46        properties:
47          '#address-cells':
48            const: 1
49          '#size-cells':
50            const: 0
51
52        patternProperties:
53          "^(ethernet-)?port@[0-9]+$":
54            description: Ethernet switch ports
55            $ref: dsa-port.yaml#
56            unevaluatedProperties: false
57
58...
59