blob: 4801204699534b4560aa17dfbe14204a93f8d0ff [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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: Generic DSA Switch Port
8
9maintainers:
10 - Andrew Lunn <andrew@lunn.ch>
11 - Florian Fainelli <f.fainelli@gmail.com>
12 - Vladimir Oltean <olteanv@gmail.com>
13
14description:
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
21properties:
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
63if:
64 oneOf:
65 - required: [ ethernet ]
66 - required: [ link ]
67then:
68 allOf:
69 - required:
70 - phy-mode
71 - oneOf:
72 - required:
73 - fixed-link
74 - required:
75 - phy-handle
76 - required:
77 - managed
78
79additionalProperties: true
80
81...