175c99015SAnsuel Smith# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
275c99015SAnsuel Smith%YAML 1.2
375c99015SAnsuel Smith---
475c99015SAnsuel Smith$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
575c99015SAnsuel Smith$schema: http://devicetree.org/meta-schemas/core.yaml#
675c99015SAnsuel Smith
7*68e3e3beSColin Fostertitle: Generic DSA Switch Port
875c99015SAnsuel Smith
975c99015SAnsuel Smithmaintainers:
1075c99015SAnsuel Smith  - Andrew Lunn <andrew@lunn.ch>
1175c99015SAnsuel Smith  - Florian Fainelli <f.fainelli@gmail.com>
124015dfceSColin Foster  - Vladimir Oltean <olteanv@gmail.com>
1375c99015SAnsuel Smith
1475c99015SAnsuel Smithdescription:
15*68e3e3beSColin Foster  A DSA switch port is a component of a switch that manages one MAC, and can
16*68e3e3beSColin Foster  pass Ethernet frames. It can act as a stanadard Ethernet switch port, or have
17*68e3e3beSColin Foster  DSA-specific functionality.
1875c99015SAnsuel Smith
19*68e3e3beSColin Foster$ref: /schemas/net/ethernet-switch-port.yaml#
2075c99015SAnsuel Smith
2175c99015SAnsuel Smithproperties:
2275c99015SAnsuel Smith  reg:
23a352a2c5SKrzysztof Kozlowski    items:
24a352a2c5SKrzysztof Kozlowski      - description: Port number
2575c99015SAnsuel Smith
2675c99015SAnsuel Smith  label:
2775c99015SAnsuel Smith    description:
2875c99015SAnsuel Smith      Describes the label associated with this port, which will become
2975c99015SAnsuel Smith      the netdev name
3075c99015SAnsuel Smith    $ref: /schemas/types.yaml#/definitions/string
3175c99015SAnsuel Smith
3275c99015SAnsuel Smith  link:
3375c99015SAnsuel Smith    description:
3475c99015SAnsuel Smith      Should be a list of phandles to other switch's DSA port. This
3575c99015SAnsuel Smith      port is used as the outgoing port towards the phandle ports. The
3675c99015SAnsuel Smith      full routing information must be given, not just the one hop
3775c99015SAnsuel Smith      routes to neighbouring switches
3875c99015SAnsuel Smith    $ref: /schemas/types.yaml#/definitions/phandle-array
3939bd2b6aSRob Herring    items:
4039bd2b6aSRob Herring      maxItems: 1
4175c99015SAnsuel Smith
4275c99015SAnsuel Smith  ethernet:
4375c99015SAnsuel Smith    description:
4475c99015SAnsuel Smith      Should be a phandle to a valid Ethernet device node.  This host
4575c99015SAnsuel Smith      device is what the switch port is connected to
4675c99015SAnsuel Smith    $ref: /schemas/types.yaml#/definitions/phandle
4775c99015SAnsuel Smith
4875c99015SAnsuel Smith  dsa-tag-protocol:
4975c99015SAnsuel Smith    description:
5075c99015SAnsuel Smith      Instead of the default, the switch will use this tag protocol if
5175c99015SAnsuel Smith      possible. Useful when a device supports multiple protocols and
5275c99015SAnsuel Smith      the default is incompatible with the Ethernet device.
5375c99015SAnsuel Smith    enum:
5475c99015SAnsuel Smith      - dsa
5575c99015SAnsuel Smith      - edsa
5675c99015SAnsuel Smith      - ocelot
5775c99015SAnsuel Smith      - ocelot-8021q
58617c3cc3SLuiz Angelo Daros de Luca      - rtl8_4
59617c3cc3SLuiz Angelo Daros de Luca      - rtl8_4t
6075c99015SAnsuel Smith      - seville
6175c99015SAnsuel Smith
622ec2fb83SVladimir Oltean# CPU and DSA ports must have phylink-compatible link descriptions
632ec2fb83SVladimir Olteanif:
642ec2fb83SVladimir Oltean  oneOf:
652ec2fb83SVladimir Oltean    - required: [ ethernet ]
662ec2fb83SVladimir Oltean    - required: [ link ]
672ec2fb83SVladimir Olteanthen:
682ec2fb83SVladimir Oltean  allOf:
692ec2fb83SVladimir Oltean    - required:
702ec2fb83SVladimir Oltean        - phy-mode
712ec2fb83SVladimir Oltean    - oneOf:
722ec2fb83SVladimir Oltean        - required:
732ec2fb83SVladimir Oltean            - fixed-link
742ec2fb83SVladimir Oltean        - required:
752ec2fb83SVladimir Oltean            - phy-handle
762ec2fb83SVladimir Oltean        - required:
772ec2fb83SVladimir Oltean            - managed
782ec2fb83SVladimir Oltean
7975c99015SAnsuel SmithadditionalProperties: true
8075c99015SAnsuel Smith
8175c99015SAnsuel Smith...
82