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