Merge tag 'drm-next-2020-12-24' of git://anongit.freedesktop.org/drm/drm
[linux-2.6-microblaze.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         properties:
50           reg:
51             description: Port number
52
53           label:
54             description:
55               Describes the label associated with this port, which will become
56               the netdev name
57             $ref: /schemas/types.yaml#/definitions/string
58
59           link:
60             description:
61               Should be a list of phandles to other switch's DSA port. This
62               port is used as the outgoing port towards the phandle ports. The
63               full routing information must be given, not just the one hop
64               routes to neighbouring switches
65             $ref: /schemas/types.yaml#/definitions/phandle-array
66
67           ethernet:
68             description:
69               Should be a phandle to a valid Ethernet device node.  This host
70               device is what the switch port is connected to
71             $ref: /schemas/types.yaml#/definitions/phandle
72
73           phy-handle: true
74
75           phy-mode: true
76
77           fixed-link: true
78
79           mac-address: true
80
81           sfp: true
82
83           managed: true
84
85         required:
86           - reg
87
88         additionalProperties: false
89
90 oneOf:
91   - required:
92       - ports
93   - required:
94       - ethernet-ports
95
96 additionalProperties: true
97
98 ...