xref: /freebsd/sys/contrib/device-tree/Bindings/net/dsa/dsa.yaml (revision e63d20b70ee1dbee9b075f29de6f30cdcfe1abe1)
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        patternProperties:
44          "^(ethernet-)?port@[0-9a-f]+$":
45            description: Ethernet switch ports
46            $ref: dsa-port.yaml#
47            unevaluatedProperties: false
48
49oneOf:
50  - required:
51      - ports
52  - required:
53      - ethernet-ports
54
55...
56