Linux 6.9-rc1
[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
8
9 maintainers:
10   - Andrew Lunn <andrew@lunn.ch>
11   - Florian Fainelli <f.fainelli@gmail.com>
12   - Vladimir Oltean <olteanv@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 $ref: /schemas/net/ethernet-switch.yaml#
22
23 properties:
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
34 additionalProperties: 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         patternProperties:
44           "^(ethernet-)?port@[0-9a-f]+$":
45             description: Ethernet switch ports
46             $ref: dsa-port.yaml#
47             unevaluatedProperties: false
48
49 oneOf:
50   - required:
51       - ports
52   - required:
53       - ethernet-ports
54
55 ...