GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / net / dsa / dsa.yaml
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
7 title: Ethernet Switch Device Tree Bindings
8
9 maintainers:
10   - Andrew Lunn <andrew@lunn.ch>
11   - Florian Fainelli <f.fainelli@gmail.com>
12   - Vivien Didelot <vivien.didelot@gmail.com>
13
14 description:
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
19 select: false
20
21 properties:
22   $nodename:
23     pattern: "^(ethernet-)?switch(@.*)?$"
24
25   dsa,member:
26     minItems: 2
27     maxItems: 2
28     description:
29       A two element list indicates which DSA cluster, and position within the
30       cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
31       switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
32       (single device hanging off a CPU port) must not specify this property
33     $ref: /schemas/types.yaml#/definitions/uint32-array
34
35 patternProperties:
36   "^(ethernet-)?ports$":
37     type: object
38     properties:
39       '#address-cells':
40         const: 1
41       '#size-cells':
42         const: 0
43
44     patternProperties:
45       "^(ethernet-)?port@[0-9]+$":
46         type: object
47         description: Ethernet switch ports
48
49         $ref: dsa-port.yaml#
50
51         unevaluatedProperties: false
52
53 oneOf:
54   - required:
55       - ports
56   - required:
57       - ethernet-ports
58
59 additionalProperties: true
60
61 ...