]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - Documentation/devicetree/bindings/net/ethernet-controller.yaml
Merge tag 'x86_urgent_for_v5.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-jammy-kernel.git] / Documentation / devicetree / bindings / net / ethernet-controller.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/ethernet-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ethernet Controller Generic Binding
8
9 maintainers:
10 - David S. Miller <davem@davemloft.net>
11
12 properties:
13 $nodename:
14 pattern: "^ethernet(@.*)?$"
15
16 local-mac-address:
17 description:
18 Specifies the MAC address that was assigned to the network device.
19 $ref: /schemas/types.yaml#/definitions/uint8-array
20 items:
21 - minItems: 6
22 maxItems: 6
23
24 mac-address:
25 description:
26 Specifies the MAC address that was last used by the boot
27 program; should be used in cases where the MAC address assigned
28 to the device by the boot program is different from the
29 local-mac-address property.
30 $ref: /schemas/types.yaml#/definitions/uint8-array
31 items:
32 - minItems: 6
33 maxItems: 6
34
35 max-frame-size:
36 $ref: /schemas/types.yaml#/definitions/uint32
37 description:
38 Maximum transfer unit (IEEE defined MTU), rather than the
39 maximum frame size (there\'s contradiction in the Devicetree
40 Specification).
41
42 max-speed:
43 $ref: /schemas/types.yaml#/definitions/uint32
44 description:
45 Specifies maximum speed in Mbit/s supported by the device.
46
47 nvmem-cells:
48 maxItems: 1
49 description:
50 Reference to an nvmem node for the MAC address
51
52 nvmem-cell-names:
53 const: mac-address
54
55 phy-connection-type:
56 description:
57 Specifies interface type between the Ethernet device and a physical
58 layer (PHY) device.
59 enum:
60 # There is not a standard bus between the MAC and the PHY,
61 # something proprietary is being used to embed the PHY in the
62 # MAC.
63 - internal
64 - mii
65 - gmii
66 - sgmii
67 - qsgmii
68 - tbi
69 - rev-mii
70 - rmii
71
72 # RX and TX delays are added by the MAC when required
73 - rgmii
74
75 # RGMII with internal RX and TX delays provided by the PHY,
76 # the MAC should not add the RX or TX delays in this case
77 - rgmii-id
78
79 # RGMII with internal RX delay provided by the PHY, the MAC
80 # should not add an RX delay in this case
81 - rgmii-rxid
82
83 # RGMII with internal TX delay provided by the PHY, the MAC
84 # should not add an TX delay in this case
85 - rgmii-txid
86 - rtbi
87 - smii
88 - xgmii
89 - trgmii
90 - 1000base-x
91 - 2500base-x
92 - 5gbase-r
93 - rxaui
94 - xaui
95
96 # 10GBASE-KR, XFI, SFI
97 - 10gbase-kr
98 - usxgmii
99 - 10gbase-r
100
101 phy-mode:
102 $ref: "#/properties/phy-connection-type"
103
104 phy-handle:
105 $ref: /schemas/types.yaml#/definitions/phandle
106 description:
107 Specifies a reference to a node representing a PHY device.
108
109 phy:
110 $ref: "#/properties/phy-handle"
111 deprecated: true
112
113 phy-device:
114 $ref: "#/properties/phy-handle"
115 deprecated: true
116
117 rx-fifo-depth:
118 $ref: /schemas/types.yaml#/definitions/uint32
119 description:
120 The size of the controller\'s receive fifo in bytes. This is used
121 for components that can have configurable receive fifo sizes,
122 and is useful for determining certain configuration settings
123 such as flow control thresholds.
124
125 rx-internal-delay-ps:
126 description: |
127 RGMII Receive Clock Delay defined in pico seconds.
128 This is used for controllers that have configurable RX internal delays.
129 If this property is present then the MAC applies the RX delay.
130
131 sfp:
132 $ref: /schemas/types.yaml#/definitions/phandle
133 description:
134 Specifies a reference to a node representing a SFP cage.
135
136 tx-fifo-depth:
137 $ref: /schemas/types.yaml#/definitions/uint32
138 description:
139 The size of the controller\'s transmit fifo in bytes. This
140 is used for components that can have configurable fifo sizes.
141
142 tx-internal-delay-ps:
143 description: |
144 RGMII Transmit Clock Delay defined in pico seconds.
145 This is used for controllers that have configurable TX internal delays.
146 If this property is present then the MAC applies the TX delay.
147
148 managed:
149 description:
150 Specifies the PHY management type. If auto is set and fixed-link
151 is not specified, it uses MDIO for management.
152 $ref: /schemas/types.yaml#/definitions/string
153 default: auto
154 enum:
155 - auto
156 - in-band-status
157
158 fixed-link:
159 allOf:
160 - if:
161 type: array
162 then:
163 deprecated: true
164 minItems: 1
165 maxItems: 1
166 items:
167 items:
168 - minimum: 0
169 maximum: 31
170 description:
171 Emulated PHY ID, choose any but unique to the all
172 specified fixed-links
173
174 - enum: [0, 1]
175 description:
176 Duplex configuration. 0 for half duplex or 1 for
177 full duplex
178
179 - enum: [10, 100, 1000]
180 description:
181 Link speed in Mbits/sec.
182
183 - enum: [0, 1]
184 description:
185 Pause configuration. 0 for no pause, 1 for pause
186
187 - enum: [0, 1]
188 description:
189 Asymmetric pause configuration. 0 for no asymmetric
190 pause, 1 for asymmetric pause
191
192
193 - if:
194 type: object
195 then:
196 properties:
197 speed:
198 description:
199 Link speed.
200 $ref: /schemas/types.yaml#/definitions/uint32
201 enum: [10, 100, 1000]
202
203 full-duplex:
204 $ref: /schemas/types.yaml#/definitions/flag
205 description:
206 Indicates that full-duplex is used. When absent, half
207 duplex is assumed.
208
209 pause:
210 $ref: /schemas/types.yaml#definitions/flag
211 description:
212 Indicates that pause should be enabled.
213
214 asym-pause:
215 $ref: /schemas/types.yaml#/definitions/flag
216 description:
217 Indicates that asym_pause should be enabled.
218
219 link-gpios:
220 maxItems: 1
221 description:
222 GPIO to determine if the link is up
223
224 required:
225 - speed
226
227 additionalProperties: true
228
229 ...