Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / net / dsa / dsa-port.yaml
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
7 title: Generic DSA Switch Port
8
9 maintainers:
10   - Andrew Lunn <andrew@lunn.ch>
11   - Florian Fainelli <f.fainelli@gmail.com>
12   - Vladimir Oltean <olteanv@gmail.com>
13
14 description:
15   A DSA switch port is a component of a switch that manages one MAC, and can
16   pass Ethernet frames. It can act as a stanadard Ethernet switch port, or have
17   DSA-specific functionality.
18
19 $ref: /schemas/net/ethernet-switch-port.yaml#
20
21 properties:
22   reg:
23     items:
24       - description: Port number
25
26   label:
27     description:
28       Describes the label associated with this port, which will become
29       the netdev name
30     $ref: /schemas/types.yaml#/definitions/string
31
32   link:
33     description:
34       Should be a list of phandles to other switch's DSA port. This
35       port is used as the outgoing port towards the phandle ports. The
36       full routing information must be given, not just the one hop
37       routes to neighbouring switches
38     $ref: /schemas/types.yaml#/definitions/phandle-array
39     items:
40       maxItems: 1
41
42   ethernet:
43     description:
44       Should be a phandle to a valid Ethernet device node.  This host
45       device is what the switch port is connected to
46     $ref: /schemas/types.yaml#/definitions/phandle
47
48   dsa-tag-protocol:
49     description:
50       Instead of the default, the switch will use this tag protocol if
51       possible. Useful when a device supports multiple protocols and
52       the default is incompatible with the Ethernet device.
53     enum:
54       - dsa
55       - edsa
56       - ocelot
57       - ocelot-8021q
58       - rtl8_4
59       - rtl8_4t
60       - seville
61
62 # CPU and DSA ports must have phylink-compatible link descriptions
63 if:
64   oneOf:
65     - required: [ ethernet ]
66     - required: [ link ]
67 then:
68   allOf:
69     - required:
70         - phy-mode
71     - oneOf:
72         - required:
73             - fixed-link
74         - required:
75             - phy-handle
76         - required:
77             - managed
78
79 additionalProperties: true
80
81 ...