162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/net/dsa/dsa.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Ethernet Switch
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Andrew Lunn <andrew@lunn.ch>
1162306a36Sopenharmony_ci  - Florian Fainelli <f.fainelli@gmail.com>
1262306a36Sopenharmony_ci  - Vladimir Oltean <olteanv@gmail.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription:
1562306a36Sopenharmony_ci  This binding represents Ethernet Switches which have a dedicated CPU
1662306a36Sopenharmony_ci  port. That port is usually connected to an Ethernet Controller of the
1762306a36Sopenharmony_ci  SoC. Such setups are typical for embedded devices.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciselect: false
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci$ref: /schemas/net/ethernet-switch.yaml#
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciproperties:
2462306a36Sopenharmony_ci  dsa,member:
2562306a36Sopenharmony_ci    minItems: 2
2662306a36Sopenharmony_ci    maxItems: 2
2762306a36Sopenharmony_ci    description:
2862306a36Sopenharmony_ci      A two element list indicates which DSA cluster, and position within the
2962306a36Sopenharmony_ci      cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
3062306a36Sopenharmony_ci      switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
3162306a36Sopenharmony_ci      (single device hanging off a CPU port) must not specify this property
3262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciadditionalProperties: true
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci$defs:
3762306a36Sopenharmony_ci  ethernet-ports:
3862306a36Sopenharmony_ci    description: A DSA switch without any extra port properties
3962306a36Sopenharmony_ci    $ref: '#'
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci    patternProperties:
4262306a36Sopenharmony_ci      "^(ethernet-)?ports$":
4362306a36Sopenharmony_ci        type: object
4462306a36Sopenharmony_ci        additionalProperties: false
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci        properties:
4762306a36Sopenharmony_ci          '#address-cells':
4862306a36Sopenharmony_ci            const: 1
4962306a36Sopenharmony_ci          '#size-cells':
5062306a36Sopenharmony_ci            const: 0
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci        patternProperties:
5362306a36Sopenharmony_ci          "^(ethernet-)?port@[0-9]+$":
5462306a36Sopenharmony_ci            description: Ethernet switch ports
5562306a36Sopenharmony_ci            $ref: dsa-port.yaml#
5662306a36Sopenharmony_ci            unevaluatedProperties: false
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci...
59