xref: /freebsd/sys/contrib/device-tree/Bindings/net/dsa/dsa.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/dsa/dsa.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Ethernet Switch Device Tree Bindings
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Andrew Lunn <andrew@lunn.ch>
11c66ec88fSEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
12c66ec88fSEmmanuel Vadot  - Vivien Didelot <vivien.didelot@gmail.com>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadotdescription:
15c66ec88fSEmmanuel Vadot  This binding represents Ethernet Switches which have a dedicated CPU
16c66ec88fSEmmanuel Vadot  port. That port is usually connected to an Ethernet Controller of the
17c66ec88fSEmmanuel Vadot  SoC. Such setups are typical for embedded devices.
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadotselect: false
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel Vadotproperties:
22c66ec88fSEmmanuel Vadot  $nodename:
235def4c47SEmmanuel Vadot    pattern: "^(ethernet-)?switch(@.*)?$"
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel Vadot  dsa,member:
26c66ec88fSEmmanuel Vadot    minItems: 2
27c66ec88fSEmmanuel Vadot    maxItems: 2
28c66ec88fSEmmanuel Vadot    description:
29c66ec88fSEmmanuel Vadot      A two element list indicates which DSA cluster, and position within the
30c66ec88fSEmmanuel Vadot      cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
31c66ec88fSEmmanuel Vadot      switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
32c66ec88fSEmmanuel Vadot      (single device hanging off a CPU port) must not specify this property
33c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel VadotpatternProperties:
36c66ec88fSEmmanuel Vadot  "^(ethernet-)?ports$":
37c66ec88fSEmmanuel Vadot    type: object
38c66ec88fSEmmanuel Vadot    properties:
39c66ec88fSEmmanuel Vadot      '#address-cells':
40c66ec88fSEmmanuel Vadot        const: 1
41c66ec88fSEmmanuel Vadot      '#size-cells':
42c66ec88fSEmmanuel Vadot        const: 0
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot    patternProperties:
45c66ec88fSEmmanuel Vadot      "^(ethernet-)?port@[0-9]+$":
46c66ec88fSEmmanuel Vadot        type: object
47c66ec88fSEmmanuel Vadot        description: Ethernet switch ports
48c66ec88fSEmmanuel Vadot
49*e67e8565SEmmanuel Vadot        $ref: dsa-port.yaml#
508cc087a1SEmmanuel Vadot
51*e67e8565SEmmanuel Vadot        unevaluatedProperties: false
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel VadotoneOf:
54c66ec88fSEmmanuel Vadot  - required:
55c66ec88fSEmmanuel Vadot      - ports
56c66ec88fSEmmanuel Vadot  - required:
57c66ec88fSEmmanuel Vadot      - ethernet-ports
58c66ec88fSEmmanuel Vadot
596be33864SEmmanuel VadotadditionalProperties: true
606be33864SEmmanuel Vadot
61c66ec88fSEmmanuel Vadot...
62