| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/net/dsa/dsa.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Ethernet Switch | |
| maintainers: | |
| - Andrew Lunn <andrew@lunn.ch> | |
| - Florian Fainelli <f.fainelli@gmail.com> | |
| - Vladimir Oltean <olteanv@gmail.com> | |
| description: | |
| This binding represents Ethernet Switches which have a dedicated CPU | |
| port. That port is usually connected to an Ethernet Controller of the | |
| SoC. Such setups are typical for embedded devices. | |
| select: false | |
| $ref: /schemas/net/ethernet-switch.yaml# | |
| properties: | |
| dsa,member: | |
| minItems: 2 | |
| maxItems: 2 | |
| description: | |
| A two element list indicates which DSA cluster, and position within the | |
| cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0, | |
| switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster | |
| (single device hanging off a CPU port) does not usually need to specify | |
| this property, and then it becomes cluster 0, switch 0. For a topology | |
| aware switch, its switch index can be specified through this property, | |
| even if it is not part of any cluster. Also, topology-unaware switches | |
| must always be defined as index 0 of their cluster. | |
| $ref: /schemas/types.yaml#/definitions/uint32-array | |
| additionalProperties: true | |
| $defs: | |
| ethernet-ports: | |
| description: A DSA switch without any extra port properties | |
| $ref: '#' | |
| patternProperties: | |
| "^(ethernet-)?ports$": | |
| patternProperties: | |
| "^(ethernet-)?port@[0-9a-f]+$": | |
| description: Ethernet switch ports | |
| $ref: dsa-port.yaml# | |
| unevaluatedProperties: false | |
| oneOf: | |
| - required: | |
| - ports | |
| - required: | |
| - ethernet-ports | |
| ... |