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-port.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ethernet Switch port
8
9maintainers:
10  - Andrew Lunn <andrew@lunn.ch>
11  - Florian Fainelli <f.fainelli@gmail.com>
12  - Vivien Didelot <vivien.didelot@gmail.com>
13
14description:
15  Ethernet switch port Description
16
17allOf:
18  - $ref: /schemas/net/ethernet-controller.yaml#
19
20properties:
21  reg:
22    items:
23      - description: Port number
24
25  label:
26    description:
27      Describes the label associated with this port, which will become
28      the netdev name
29    $ref: /schemas/types.yaml#/definitions/string
30
31  link:
32    description:
33      Should be a list of phandles to other switch's DSA port. This
34      port is used as the outgoing port towards the phandle ports. The
35      full routing information must be given, not just the one hop
36      routes to neighbouring switches
37    $ref: /schemas/types.yaml#/definitions/phandle-array
38    items:
39      maxItems: 1
40
41  ethernet:
42    description:
43      Should be a phandle to a valid Ethernet device node.  This host
44      device is what the switch port is connected to
45    $ref: /schemas/types.yaml#/definitions/phandle
46
47  dsa-tag-protocol:
48    description:
49      Instead of the default, the switch will use this tag protocol if
50      possible. Useful when a device supports multiple protocols and
51      the default is incompatible with the Ethernet device.
52    enum:
53      - dsa
54      - edsa
55      - ocelot
56      - ocelot-8021q
57      - rtl8_4
58      - rtl8_4t
59      - seville
60
61  phy-handle: true
62
63  phy-mode: true
64
65  fixed-link: true
66
67  mac-address: true
68
69  sfp: true
70
71  managed: true
72
73  rx-internal-delay-ps: true
74
75  tx-internal-delay-ps: true
76
77required:
78  - reg
79
80# CPU and DSA ports must have phylink-compatible link descriptions
81if:
82  oneOf:
83    - required: [ ethernet ]
84    - required: [ link ]
85then:
86  allOf:
87    - required:
88        - phy-mode
89    - oneOf:
90        - required:
91            - fixed-link
92        - required:
93            - phy-handle
94        - required:
95            - managed
96
97additionalProperties: true
98
99...
100