1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/snps,dw 4 $id: http://devicetree.org/schemas/net/snps,dwmac.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Synopsys DesignWare MAC 7 title: Synopsys DesignWare MAC 8 8 9 maintainers: 9 maintainers: 10 - Alexandre Torgue <alexandre.torgue@foss.st. 10 - Alexandre Torgue <alexandre.torgue@foss.st.com> 11 - Giuseppe Cavallaro <peppe.cavallaro@st.com> 11 - Giuseppe Cavallaro <peppe.cavallaro@st.com> 12 - Jose Abreu <joabreu@synopsys.com> 12 - Jose Abreu <joabreu@synopsys.com> 13 13 14 # Select every compatible, including the depre 14 # Select every compatible, including the deprecated ones. This way, we 15 # will be able to report a warning when we hav 15 # will be able to report a warning when we have that compatible, since 16 # we will validate the node thanks to the sele 16 # we will validate the node thanks to the select, but won't report it 17 # as a valid value in the compatible property 17 # as a valid value in the compatible property description 18 select: 18 select: 19 properties: 19 properties: 20 compatible: 20 compatible: 21 contains: 21 contains: 22 enum: 22 enum: 23 - snps,dwmac 23 - snps,dwmac 24 - snps,dwmac-3.40a 24 - snps,dwmac-3.40a 25 - snps,dwmac-3.50a 25 - snps,dwmac-3.50a 26 - snps,dwmac-3.610 26 - snps,dwmac-3.610 27 - snps,dwmac-3.70a 27 - snps,dwmac-3.70a 28 - snps,dwmac-3.710 28 - snps,dwmac-3.710 29 - snps,dwmac-4.00 29 - snps,dwmac-4.00 30 - snps,dwmac-4.10a 30 - snps,dwmac-4.10a 31 - snps,dwmac-4.20a 31 - snps,dwmac-4.20a 32 - snps,dwmac-5.10a 32 - snps,dwmac-5.10a 33 - snps,dwmac-5.20 << 34 - snps,dwxgmac 33 - snps,dwxgmac 35 - snps,dwxgmac-2.10 34 - snps,dwxgmac-2.10 36 35 37 # Deprecated 36 # Deprecated 38 - st,spear600-gmac 37 - st,spear600-gmac 39 38 40 required: 39 required: 41 - compatible 40 - compatible 42 41 43 properties: 42 properties: 44 43 45 # We need to include all the compatibles fro 44 # We need to include all the compatibles from schemas that will 46 # include that schemas, otherwise compatible 45 # include that schemas, otherwise compatible won't validate for 47 # those. 46 # those. 48 compatible: 47 compatible: 49 contains: 48 contains: 50 enum: 49 enum: 51 - allwinner,sun7i-a20-gmac 50 - allwinner,sun7i-a20-gmac 52 - allwinner,sun8i-a83t-emac 51 - allwinner,sun8i-a83t-emac 53 - allwinner,sun8i-h3-emac 52 - allwinner,sun8i-h3-emac 54 - allwinner,sun8i-r40-gmac 53 - allwinner,sun8i-r40-gmac 55 - allwinner,sun8i-v3s-emac 54 - allwinner,sun8i-v3s-emac 56 - allwinner,sun50i-a64-emac 55 - allwinner,sun50i-a64-emac 57 - amlogic,meson6-dwmac 56 - amlogic,meson6-dwmac 58 - amlogic,meson8b-dwmac 57 - amlogic,meson8b-dwmac 59 - amlogic,meson8m2-dwmac 58 - amlogic,meson8m2-dwmac 60 - amlogic,meson-gxbb-dwmac 59 - amlogic,meson-gxbb-dwmac 61 - amlogic,meson-axg-dwmac 60 - amlogic,meson-axg-dwmac 62 - ingenic,jz4775-mac 61 - ingenic,jz4775-mac 63 - ingenic,x1000-mac 62 - ingenic,x1000-mac 64 - ingenic,x1600-mac 63 - ingenic,x1600-mac 65 - ingenic,x1830-mac 64 - ingenic,x1830-mac 66 - ingenic,x2000-mac 65 - ingenic,x2000-mac 67 - loongson,ls2k-dwmac 66 - loongson,ls2k-dwmac 68 - loongson,ls7a-dwmac 67 - loongson,ls7a-dwmac 69 - qcom,qcs404-ethqos << 70 - qcom,sa8775p-ethqos << 71 - qcom,sc8280xp-ethqos << 72 - qcom,sm8150-ethqos << 73 - renesas,r9a06g032-gmac 68 - renesas,r9a06g032-gmac 74 - renesas,rzn1-gmac 69 - renesas,rzn1-gmac 75 - rockchip,px30-gmac 70 - rockchip,px30-gmac 76 - rockchip,rk3128-gmac 71 - rockchip,rk3128-gmac 77 - rockchip,rk3228-gmac 72 - rockchip,rk3228-gmac 78 - rockchip,rk3288-gmac 73 - rockchip,rk3288-gmac 79 - rockchip,rk3308-gmac << 80 - rockchip,rk3328-gmac 74 - rockchip,rk3328-gmac 81 - rockchip,rk3366-gmac 75 - rockchip,rk3366-gmac 82 - rockchip,rk3368-gmac 76 - rockchip,rk3368-gmac 83 - rockchip,rk3576-gmac << 84 - rockchip,rk3588-gmac 77 - rockchip,rk3588-gmac 85 - rockchip,rk3399-gmac 78 - rockchip,rk3399-gmac 86 - rockchip,rv1108-gmac 79 - rockchip,rv1108-gmac 87 - snps,dwmac 80 - snps,dwmac 88 - snps,dwmac-3.40a 81 - snps,dwmac-3.40a 89 - snps,dwmac-3.50a 82 - snps,dwmac-3.50a 90 - snps,dwmac-3.610 83 - snps,dwmac-3.610 91 - snps,dwmac-3.70a 84 - snps,dwmac-3.70a 92 - snps,dwmac-3.710 85 - snps,dwmac-3.710 93 - snps,dwmac-4.00 86 - snps,dwmac-4.00 94 - snps,dwmac-4.10a 87 - snps,dwmac-4.10a 95 - snps,dwmac-4.20a 88 - snps,dwmac-4.20a 96 - snps,dwmac-5.10a 89 - snps,dwmac-5.10a 97 - snps,dwmac-5.20 << 98 - snps,dwxgmac 90 - snps,dwxgmac 99 - snps,dwxgmac-2.10 91 - snps,dwxgmac-2.10 100 - starfive,jh7100-dwmac << 101 - starfive,jh7110-dwmac << 102 92 103 reg: 93 reg: 104 minItems: 1 94 minItems: 1 105 maxItems: 2 95 maxItems: 2 106 96 107 interrupts: 97 interrupts: 108 minItems: 1 98 minItems: 1 109 items: 99 items: 110 - description: Combined signal for vario 100 - description: Combined signal for various interrupt events 111 - description: The interrupt to manage t 101 - description: The interrupt to manage the remote wake-up packet detection 112 - description: The interrupt that occurs 102 - description: The interrupt that occurs when Rx exits the LPI state 113 - description: The interrupt that occurs << 114 103 115 interrupt-names: 104 interrupt-names: 116 minItems: 1 105 minItems: 1 117 items: 106 items: 118 - const: macirq 107 - const: macirq 119 - enum: [eth_wake_irq, eth_lpi, sfty] !! 108 - const: eth_wake_irq 120 - enum: [eth_wake_irq, eth_lpi, sfty] !! 109 - const: eth_lpi 121 - enum: [eth_wake_irq, eth_lpi, sfty] << 122 110 123 clocks: 111 clocks: 124 minItems: 1 112 minItems: 1 125 maxItems: 8 113 maxItems: 8 126 additionalItems: true 114 additionalItems: true 127 items: 115 items: 128 - description: GMAC main clock 116 - description: GMAC main clock 129 - description: Peripheral registers inte 117 - description: Peripheral registers interface clock 130 - description: 118 - description: 131 PTP reference clock. This clock is u 119 PTP reference clock. This clock is used for programming the 132 Timestamp Addend Register. If not pa 120 Timestamp Addend Register. If not passed then the system 133 clock will be used and this is fine 121 clock will be used and this is fine on some platforms. 134 122 135 clock-names: 123 clock-names: 136 minItems: 1 124 minItems: 1 137 maxItems: 8 125 maxItems: 8 138 additionalItems: true 126 additionalItems: true 139 contains: 127 contains: 140 enum: 128 enum: 141 - stmmaceth 129 - stmmaceth 142 - pclk 130 - pclk 143 - ptp_ref 131 - ptp_ref 144 132 145 resets: 133 resets: 146 minItems: 1 !! 134 maxItems: 1 147 items: !! 135 description: 148 - description: GMAC stmmaceth reset !! 136 MAC Reset signal. 149 - description: AHB reset << 150 137 151 reset-names: 138 reset-names: 152 oneOf: !! 139 const: stmmaceth 153 - items: << 154 - enum: [stmmaceth, ahb] << 155 - items: << 156 - const: stmmaceth << 157 - const: ahb << 158 140 159 power-domains: 141 power-domains: 160 maxItems: 1 142 maxItems: 1 161 143 162 mac-mode: 144 mac-mode: 163 $ref: ethernet-controller.yaml#/properties 145 $ref: ethernet-controller.yaml#/properties/phy-connection-type 164 description: 146 description: 165 The property is identical to 'phy-mode', 147 The property is identical to 'phy-mode', and assumes that there is mode 166 converter in-between the MAC & PHY (e.g. 148 converter in-between the MAC & PHY (e.g. GMII-to-RGMII). This converter 167 can be passive (no SW requirement), and 149 can be passive (no SW requirement), and requires that the MAC operate 168 in a different mode than the PHY in orde 150 in a different mode than the PHY in order to function. 169 151 170 snps,axi-config: 152 snps,axi-config: 171 $ref: /schemas/types.yaml#/definitions/pha 153 $ref: /schemas/types.yaml#/definitions/phandle 172 description: 154 description: 173 AXI BUS Mode parameters. Phandle to a no 155 AXI BUS Mode parameters. Phandle to a node that can contain the 174 following properties 156 following properties 175 * snps,lpi_en, enable Low Power Interf 157 * snps,lpi_en, enable Low Power Interface 176 * snps,xit_frm, unlock on WoL 158 * snps,xit_frm, unlock on WoL 177 * snps,wr_osr_lmt, max write outstandi 159 * snps,wr_osr_lmt, max write outstanding req. limit 178 * snps,rd_osr_lmt, max read outstandin 160 * snps,rd_osr_lmt, max read outstanding req. limit 179 * snps,kbbe, do not cross 1KiB boundar 161 * snps,kbbe, do not cross 1KiB boundary. 180 * snps,blen, this is a vector of suppo 162 * snps,blen, this is a vector of supported burst length. 181 * snps,fb, fixed-burst 163 * snps,fb, fixed-burst 182 * snps,mb, mixed-burst 164 * snps,mb, mixed-burst 183 * snps,rb, rebuild INCRx Burst 165 * snps,rb, rebuild INCRx Burst 184 166 185 snps,mtl-rx-config: 167 snps,mtl-rx-config: 186 $ref: /schemas/types.yaml#/definitions/pha 168 $ref: /schemas/types.yaml#/definitions/phandle 187 description: 169 description: 188 Multiple RX Queues parameters. Phandle t !! 170 Multiple RX Queues parameters. Phandle to a node that can 189 implements the 'rx-queues-config' object !! 171 contain the following properties 190 this binding. !! 172 * snps,rx-queues-to-use, number of RX queues to be used in the 191 !! 173 driver 192 rx-queues-config: !! 174 * Choose one of these RX scheduling algorithms 193 type: object !! 175 * snps,rx-sched-sp, Strict priority 194 properties: !! 176 * snps,rx-sched-wsp, Weighted Strict priority 195 snps,rx-queues-to-use: !! 177 * For each RX queue 196 $ref: /schemas/types.yaml#/definitions !! 178 * Choose one of these modes 197 description: number of RX queues to be !! 179 * snps,dcb-algorithm, Queue to be enabled as DCB 198 snps,rx-sched-sp: !! 180 * snps,avb-algorithm, Queue to be enabled as AVB 199 type: boolean !! 181 * snps,map-to-dma-channel, Channel to map 200 description: Strict priority !! 182 * Specifiy specific packet routing 201 snps,rx-sched-wsp: !! 183 * snps,route-avcp, AV Untagged Control packets 202 type: boolean !! 184 * snps,route-ptp, PTP Packets 203 description: Weighted Strict priority !! 185 * snps,route-dcbcp, DCB Control Packets 204 allOf: !! 186 * snps,route-up, Untagged Packets 205 - if: !! 187 * snps,route-multi-broad, Multicast & Broadcast Packets 206 required: !! 188 * snps,priority, bitmask of the tagged frames priorities assigned to 207 - snps,rx-sched-sp !! 189 the queue 208 then: << 209 properties: << 210 snps,rx-sched-wsp: false << 211 - if: << 212 required: << 213 - snps,rx-sched-wsp << 214 then: << 215 properties: << 216 snps,rx-sched-sp: false << 217 patternProperties: << 218 "^queue[0-9]$": << 219 description: Each subnode represents a << 220 type: object << 221 properties: << 222 snps,dcb-algorithm: << 223 type: boolean << 224 description: Queue to be enabled a << 225 snps,avb-algorithm: << 226 type: boolean << 227 description: Queue to be enabled a << 228 snps,map-to-dma-channel: << 229 $ref: /schemas/types.yaml#/definit << 230 description: DMA channel id to map << 231 snps,route-avcp: << 232 type: boolean << 233 description: AV Untagged Control p << 234 snps,route-ptp: << 235 type: boolean << 236 description: PTP Packets << 237 snps,route-dcbcp: << 238 type: boolean << 239 description: DCB Control Packets << 240 snps,route-up: << 241 type: boolean << 242 description: Untagged Packets << 243 snps,route-multi-broad: << 244 type: boolean << 245 description: Multicast & Broadcast << 246 snps,priority: << 247 $ref: /schemas/types.yaml#/definit << 248 maxItems: 1 << 249 description: Bitmask of the tagged << 250 allOf: << 251 - if: << 252 required: << 253 - snps,dcb-algorithm << 254 then: << 255 properties: << 256 snps,avb-algorithm: false << 257 - if: << 258 required: << 259 - snps,avb-algorithm << 260 then: << 261 properties: << 262 snps,dcb-algorithm: false << 263 - if: << 264 required: << 265 - snps,route-avcp << 266 then: << 267 properties: << 268 snps,route-ptp: false << 269 snps,route-dcbcp: false << 270 snps,route-up: false << 271 snps,route-multi-broad: false << 272 - if: << 273 required: << 274 - snps,route-ptp << 275 then: << 276 properties: << 277 snps,route-avcp: false << 278 snps,route-dcbcp: false << 279 snps,route-up: false << 280 snps,route-multi-broad: false << 281 - if: << 282 required: << 283 - snps,route-dcbcp << 284 then: << 285 properties: << 286 snps,route-avcp: false << 287 snps,route-ptp: false << 288 snps,route-up: false << 289 snps,route-multi-broad: false << 290 - if: << 291 required: << 292 - snps,route-up << 293 then: << 294 properties: << 295 snps,route-avcp: false << 296 snps,route-ptp: false << 297 snps,route-dcbcp: false << 298 snps,route-multi-broad: false << 299 - if: << 300 required: << 301 - snps,route-multi-broad << 302 then: << 303 properties: << 304 snps,route-avcp: false << 305 snps,route-ptp: false << 306 snps,route-dcbcp: false << 307 snps,route-up: false << 308 additionalProperties: false << 309 additionalProperties: false << 310 190 311 snps,mtl-tx-config: 191 snps,mtl-tx-config: 312 $ref: /schemas/types.yaml#/definitions/pha 192 $ref: /schemas/types.yaml#/definitions/phandle 313 description: 193 description: 314 Multiple TX Queues parameters. Phandle t !! 194 Multiple TX Queues parameters. Phandle to a node that can 315 implements the 'tx-queues-config' object !! 195 contain the following properties 316 this binding. !! 196 * snps,tx-queues-to-use, number of TX queues to be used in the 317 !! 197 driver 318 tx-queues-config: !! 198 * Choose one of these TX scheduling algorithms 319 type: object !! 199 * snps,tx-sched-wrr, Weighted Round Robin 320 properties: !! 200 * snps,tx-sched-wfq, Weighted Fair Queuing 321 snps,tx-queues-to-use: !! 201 * snps,tx-sched-dwrr, Deficit Weighted Round Robin 322 $ref: /schemas/types.yaml#/definitions !! 202 * snps,tx-sched-sp, Strict priority 323 description: number of TX queues to be !! 203 * For each TX queue 324 snps,tx-sched-wrr: !! 204 * snps,weight, TX queue weight (if using a DCB weight 325 type: boolean !! 205 algorithm) 326 description: Weighted Round Robin !! 206 * Choose one of these modes 327 snps,tx-sched-wfq: !! 207 * snps,dcb-algorithm, TX queue will be working in DCB 328 type: boolean !! 208 * snps,avb-algorithm, TX queue will be working in AVB 329 description: Weighted Fair Queuing !! 209 [Attention] Queue 0 is reserved for legacy traffic 330 snps,tx-sched-dwrr: !! 210 and so no AVB is available in this queue. 331 type: boolean !! 211 * Configure Credit Base Shaper (if AVB Mode selected) 332 description: Deficit Weighted Round Ro !! 212 * snps,send_slope, enable Low Power Interface 333 allOf: !! 213 * snps,idle_slope, unlock on WoL 334 - if: !! 214 * snps,high_credit, max write outstanding req. limit 335 required: !! 215 * snps,low_credit, max read outstanding req. limit 336 - snps,tx-sched-wrr !! 216 * snps,priority, bitmask of the priorities assigned to the queue. 337 then: !! 217 When a PFC frame is received with priorities matching the bitmask, 338 properties: !! 218 the queue is blocked from transmitting for the pause time specified 339 snps,tx-sched-wfq: false !! 219 in the PFC frame. 340 snps,tx-sched-dwrr: false << 341 - if: << 342 required: << 343 - snps,tx-sched-wfq << 344 then: << 345 properties: << 346 snps,tx-sched-wrr: false << 347 snps,tx-sched-dwrr: false << 348 - if: << 349 required: << 350 - snps,tx-sched-dwrr << 351 then: << 352 properties: << 353 snps,tx-sched-wrr: false << 354 snps,tx-sched-wfq: false << 355 patternProperties: << 356 "^queue[0-9]$": << 357 description: Each subnode represents a << 358 type: object << 359 properties: << 360 snps,weight: << 361 $ref: /schemas/types.yaml#/definit << 362 description: TX queue weight (if u << 363 snps,dcb-algorithm: << 364 type: boolean << 365 description: TX queue will be work << 366 snps,avb-algorithm: << 367 type: boolean << 368 description: << 369 TX queue will be working in AVB. << 370 Queue 0 is reserved for legacy t << 371 available in this queue. << 372 snps,send_slope: << 373 $ref: /schemas/types.yaml#/definit << 374 description: enable Low Power Inte << 375 snps,idle_slope: << 376 $ref: /schemas/types.yaml#/definit << 377 description: unlock on WoL << 378 snps,high_credit: << 379 $ref: /schemas/types.yaml#/definit << 380 description: max write outstanding << 381 snps,low_credit: << 382 $ref: /schemas/types.yaml#/definit << 383 description: max read outstanding << 384 snps,priority: << 385 $ref: /schemas/types.yaml#/definit << 386 maxItems: 1 << 387 description: << 388 Bitmask of the tagged frames pri << 389 When a PFC frame is received wit << 390 the queue is blocked from transm << 391 in the PFC frame. << 392 << 393 snps,coe-unsupported: << 394 type: boolean << 395 description: TX checksum offload i << 396 << 397 allOf: << 398 - if: << 399 required: << 400 - snps,dcb-algorithm << 401 then: << 402 properties: << 403 snps,avb-algorithm: false << 404 - if: << 405 required: << 406 - snps,avb-algorithm << 407 then: << 408 properties: << 409 snps,dcb-algorithm: false << 410 snps,weight: false << 411 additionalProperties: false << 412 additionalProperties: false << 413 220 414 snps,reset-gpio: 221 snps,reset-gpio: 415 deprecated: true 222 deprecated: true 416 maxItems: 1 223 maxItems: 1 417 description: 224 description: 418 PHY Reset GPIO 225 PHY Reset GPIO 419 226 420 snps,reset-active-low: 227 snps,reset-active-low: 421 deprecated: true 228 deprecated: true 422 $ref: /schemas/types.yaml#/definitions/fla 229 $ref: /schemas/types.yaml#/definitions/flag 423 description: 230 description: 424 Indicates that the PHY Reset is active l 231 Indicates that the PHY Reset is active low 425 232 426 snps,reset-delays-us: 233 snps,reset-delays-us: 427 deprecated: true 234 deprecated: true 428 description: 235 description: 429 Triplet of delays. The 1st cell is reset 236 Triplet of delays. The 1st cell is reset pre-delay in micro 430 seconds. The 2nd cell is reset pulse in 237 seconds. The 2nd cell is reset pulse in micro seconds. The 3rd 431 cell is reset post-delay in micro second 238 cell is reset post-delay in micro seconds. 432 minItems: 3 239 minItems: 3 433 maxItems: 3 240 maxItems: 3 434 241 435 snps,aal: 242 snps,aal: 436 $ref: /schemas/types.yaml#/definitions/fla 243 $ref: /schemas/types.yaml#/definitions/flag 437 description: 244 description: 438 Use Address-Aligned Beats 245 Use Address-Aligned Beats 439 246 440 snps,pbl: << 441 description: << 442 Programmable Burst Length (tx and rx) << 443 $ref: /schemas/types.yaml#/definitions/uin << 444 enum: [1, 2, 4, 8, 16, 32] << 445 << 446 snps,txpbl: << 447 description: << 448 Tx Programmable Burst Length. If set, DM << 449 value rather than snps,pbl. << 450 $ref: /schemas/types.yaml#/definitions/uin << 451 enum: [1, 2, 4, 8, 16, 32] << 452 << 453 snps,rxpbl: << 454 description: << 455 Rx Programmable Burst Length. If set, DM << 456 value rather than snps,pbl. << 457 $ref: /schemas/types.yaml#/definitions/uin << 458 enum: [1, 2, 4, 8, 16, 32] << 459 << 460 snps,no-pbl-x8: << 461 $ref: /schemas/types.yaml#/definitions/fla << 462 description: << 463 Don\'t multiply the pbl/txpbl/rxpbl valu << 464 rev < 3.50, don\'t multiply the values b << 465 << 466 snps,fixed-burst: 247 snps,fixed-burst: 467 $ref: /schemas/types.yaml#/definitions/fla 248 $ref: /schemas/types.yaml#/definitions/flag 468 description: 249 description: 469 Program the DMA to use the fixed burst m 250 Program the DMA to use the fixed burst mode 470 251 471 snps,mixed-burst: 252 snps,mixed-burst: 472 $ref: /schemas/types.yaml#/definitions/fla 253 $ref: /schemas/types.yaml#/definitions/flag 473 description: 254 description: 474 Program the DMA to use the mixed burst m 255 Program the DMA to use the mixed burst mode 475 256 476 snps,force_thresh_dma_mode: 257 snps,force_thresh_dma_mode: 477 $ref: /schemas/types.yaml#/definitions/fla 258 $ref: /schemas/types.yaml#/definitions/flag 478 description: 259 description: 479 Force DMA to use the threshold mode for 260 Force DMA to use the threshold mode for both tx and rx 480 261 481 snps,force_sf_dma_mode: 262 snps,force_sf_dma_mode: 482 $ref: /schemas/types.yaml#/definitions/fla 263 $ref: /schemas/types.yaml#/definitions/flag 483 description: 264 description: 484 Force DMA to use the Store and Forward m 265 Force DMA to use the Store and Forward mode for both tx and 485 rx. This flag is ignored if force_thresh 266 rx. This flag is ignored if force_thresh_dma_mode is set. 486 267 487 snps,en-tx-lpi-clockgating: 268 snps,en-tx-lpi-clockgating: 488 $ref: /schemas/types.yaml#/definitions/fla 269 $ref: /schemas/types.yaml#/definitions/flag 489 description: 270 description: 490 Enable gating of the MAC TX clock during 271 Enable gating of the MAC TX clock during TX low-power mode 491 272 492 snps,multicast-filter-bins: 273 snps,multicast-filter-bins: 493 $ref: /schemas/types.yaml#/definitions/uin 274 $ref: /schemas/types.yaml#/definitions/uint32 494 description: 275 description: 495 Number of multicast filter hash bins sup 276 Number of multicast filter hash bins supported by this device 496 instance 277 instance 497 278 498 snps,perfect-filter-entries: 279 snps,perfect-filter-entries: 499 $ref: /schemas/types.yaml#/definitions/uin 280 $ref: /schemas/types.yaml#/definitions/uint32 500 description: 281 description: 501 Number of perfect filter entries support 282 Number of perfect filter entries supported by this device 502 instance 283 instance 503 284 504 snps,ps-speed: 285 snps,ps-speed: 505 $ref: /schemas/types.yaml#/definitions/uin 286 $ref: /schemas/types.yaml#/definitions/uint32 506 description: 287 description: 507 Port selection speed that can be passed 288 Port selection speed that can be passed to the core when PCS 508 is supported. For example, this is used 289 is supported. For example, this is used in case of SGMII and 509 MAC2MAC connection. 290 MAC2MAC connection. 510 291 511 snps,clk-csr: 292 snps,clk-csr: 512 $ref: /schemas/types.yaml#/definitions/uin 293 $ref: /schemas/types.yaml#/definitions/uint32 513 description: 294 description: 514 Frequency division factor for MDC clock. 295 Frequency division factor for MDC clock. 515 296 516 snps,tso: << 517 $ref: /schemas/types.yaml#/definitions/fla << 518 description: << 519 Enables the TSO feature otherwise it wil << 520 register. << 521 << 522 mdio: 297 mdio: 523 $ref: mdio.yaml# 298 $ref: mdio.yaml# 524 unevaluatedProperties: false 299 unevaluatedProperties: false 525 description: 300 description: 526 Creates and registers an MDIO bus. 301 Creates and registers an MDIO bus. 527 302 528 properties: 303 properties: 529 compatible: 304 compatible: 530 const: snps,dwmac-mdio 305 const: snps,dwmac-mdio 531 306 532 required: 307 required: 533 - compatible 308 - compatible 534 309 535 stmmac-axi-config: 310 stmmac-axi-config: 536 type: object 311 type: object 537 unevaluatedProperties: false 312 unevaluatedProperties: false 538 description: 313 description: 539 AXI BUS Mode parameters. 314 AXI BUS Mode parameters. 540 315 541 properties: 316 properties: 542 snps,lpi_en: 317 snps,lpi_en: 543 $ref: /schemas/types.yaml#/definitions 318 $ref: /schemas/types.yaml#/definitions/flag 544 description: 319 description: 545 enable Low Power Interface 320 enable Low Power Interface 546 321 547 snps,xit_frm: 322 snps,xit_frm: 548 $ref: /schemas/types.yaml#/definitions 323 $ref: /schemas/types.yaml#/definitions/flag 549 description: 324 description: 550 unlock on WoL 325 unlock on WoL 551 326 552 snps,wr_osr_lmt: 327 snps,wr_osr_lmt: 553 $ref: /schemas/types.yaml#/definitions 328 $ref: /schemas/types.yaml#/definitions/uint32 554 description: 329 description: 555 max write outstanding req. limit 330 max write outstanding req. limit 556 331 557 snps,rd_osr_lmt: 332 snps,rd_osr_lmt: 558 $ref: /schemas/types.yaml#/definitions 333 $ref: /schemas/types.yaml#/definitions/uint32 559 description: 334 description: 560 max read outstanding req. limit 335 max read outstanding req. limit 561 336 562 snps,kbbe: 337 snps,kbbe: 563 $ref: /schemas/types.yaml#/definitions 338 $ref: /schemas/types.yaml#/definitions/uint32 564 description: 339 description: 565 do not cross 1KiB boundary. 340 do not cross 1KiB boundary. 566 341 567 snps,blen: 342 snps,blen: 568 $ref: /schemas/types.yaml#/definitions 343 $ref: /schemas/types.yaml#/definitions/uint32-array 569 description: 344 description: 570 this is a vector of supported burst 345 this is a vector of supported burst length. 571 minItems: 7 346 minItems: 7 572 maxItems: 7 347 maxItems: 7 573 348 574 snps,fb: 349 snps,fb: 575 $ref: /schemas/types.yaml#/definitions 350 $ref: /schemas/types.yaml#/definitions/flag 576 description: 351 description: 577 fixed-burst 352 fixed-burst 578 353 579 snps,mb: 354 snps,mb: 580 $ref: /schemas/types.yaml#/definitions 355 $ref: /schemas/types.yaml#/definitions/flag 581 description: 356 description: 582 mixed-burst 357 mixed-burst 583 358 584 snps,rb: 359 snps,rb: 585 $ref: /schemas/types.yaml#/definitions 360 $ref: /schemas/types.yaml#/definitions/flag 586 description: 361 description: 587 rebuild INCRx Burst 362 rebuild INCRx Burst 588 363 589 required: 364 required: 590 - compatible 365 - compatible 591 - reg 366 - reg 592 - interrupts 367 - interrupts 593 - interrupt-names 368 - interrupt-names 594 - phy-mode 369 - phy-mode 595 370 596 dependencies: 371 dependencies: 597 snps,reset-active-low: ["snps,reset-gpio"] 372 snps,reset-active-low: ["snps,reset-gpio"] 598 snps,reset-delays-us: ["snps,reset-gpio"] !! 373 snps,reset-delay-us: ["snps,reset-gpio"] 599 374 600 allOf: 375 allOf: 601 - $ref: ethernet-controller.yaml# !! 376 - $ref: "ethernet-controller.yaml#" >> 377 - if: >> 378 properties: >> 379 compatible: >> 380 contains: >> 381 enum: >> 382 - allwinner,sun7i-a20-gmac >> 383 - allwinner,sun8i-a83t-emac >> 384 - allwinner,sun8i-h3-emac >> 385 - allwinner,sun8i-r40-gmac >> 386 - allwinner,sun8i-v3s-emac >> 387 - allwinner,sun50i-a64-emac >> 388 - ingenic,jz4775-mac >> 389 - ingenic,x1000-mac >> 390 - ingenic,x1600-mac >> 391 - ingenic,x1830-mac >> 392 - ingenic,x2000-mac >> 393 - snps,dwmac-3.50a >> 394 - snps,dwmac-4.10a >> 395 - snps,dwmac-4.20a >> 396 - snps,dwxgmac >> 397 - snps,dwxgmac-2.10 >> 398 - st,spear600-gmac >> 399 >> 400 then: >> 401 properties: >> 402 snps,pbl: >> 403 description: >> 404 Programmable Burst Length (tx and rx) >> 405 $ref: /schemas/types.yaml#/definitions/uint32 >> 406 enum: [1, 2, 4, 8, 16, 32] >> 407 >> 408 snps,txpbl: >> 409 description: >> 410 Tx Programmable Burst Length. If set, DMA tx will use this >> 411 value rather than snps,pbl. >> 412 $ref: /schemas/types.yaml#/definitions/uint32 >> 413 enum: [1, 2, 4, 8, 16, 32] >> 414 >> 415 snps,rxpbl: >> 416 description: >> 417 Rx Programmable Burst Length. If set, DMA rx will use this >> 418 value rather than snps,pbl. >> 419 $ref: /schemas/types.yaml#/definitions/uint32 >> 420 enum: [1, 2, 4, 8, 16, 32] >> 421 >> 422 snps,no-pbl-x8: >> 423 $ref: /schemas/types.yaml#/definitions/flag >> 424 description: >> 425 Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core >> 426 rev < 3.50, don\'t multiply the values by 4. >> 427 602 - if: 428 - if: 603 properties: 429 properties: 604 compatible: 430 compatible: 605 not: !! 431 contains: 606 contains: !! 432 enum: 607 enum: !! 433 - allwinner,sun7i-a20-gmac 608 - allwinner,sun7i-a20-gmac !! 434 - allwinner,sun8i-a83t-emac 609 - allwinner,sun8i-a83t-emac !! 435 - allwinner,sun8i-h3-emac 610 - allwinner,sun8i-h3-emac !! 436 - allwinner,sun8i-r40-gmac 611 - allwinner,sun8i-r40-gmac !! 437 - allwinner,sun8i-v3s-emac 612 - allwinner,sun8i-v3s-emac !! 438 - allwinner,sun50i-a64-emac 613 - allwinner,sun50i-a64-emac !! 439 - loongson,ls2k-dwmac 614 - loongson,ls2k-dwmac !! 440 - loongson,ls7a-dwmac 615 - loongson,ls7a-dwmac !! 441 - ingenic,jz4775-mac 616 - ingenic,jz4775-mac !! 442 - ingenic,x1000-mac 617 - ingenic,x1000-mac !! 443 - ingenic,x1600-mac 618 - ingenic,x1600-mac !! 444 - ingenic,x1830-mac 619 - ingenic,x1830-mac !! 445 - ingenic,x2000-mac 620 - ingenic,x2000-mac !! 446 - snps,dwmac-4.00 621 - qcom,qcs404-ethqos !! 447 - snps,dwmac-4.10a 622 - qcom,sa8775p-ethqos !! 448 - snps,dwmac-4.20a 623 - qcom,sc8280xp-ethqos !! 449 - snps,dwmac-5.10a 624 - qcom,sm8150-ethqos !! 450 - snps,dwxgmac 625 - snps,dwmac-4.00 !! 451 - snps,dwxgmac-2.10 626 - snps,dwmac-4.10a !! 452 - st,spear600-gmac 627 - snps,dwmac-4.20a << 628 - snps,dwmac-5.10a << 629 - snps,dwmac-5.20 << 630 - snps,dwxgmac << 631 - snps,dwxgmac-2.10 << 632 - st,spear600-gmac << 633 453 634 then: 454 then: 635 properties: 455 properties: 636 snps,tso: false !! 456 snps,tso: >> 457 $ref: /schemas/types.yaml#/definitions/flag >> 458 description: >> 459 Enables the TSO feature otherwise it will be managed by >> 460 MAC HW capability register. 637 461 638 additionalProperties: true 462 additionalProperties: true 639 463 640 examples: 464 examples: 641 - | 465 - | >> 466 stmmac_axi_setup: stmmac-axi-config { >> 467 snps,wr_osr_lmt = <0xf>; >> 468 snps,rd_osr_lmt = <0xf>; >> 469 snps,blen = <256 128 64 32 0 0 0>; >> 470 }; >> 471 >> 472 mtl_rx_setup: rx-queues-config { >> 473 snps,rx-queues-to-use = <1>; >> 474 snps,rx-sched-sp; >> 475 queue0 { >> 476 snps,dcb-algorithm; >> 477 snps,map-to-dma-channel = <0x0>; >> 478 snps,priority = <0x0>; >> 479 }; >> 480 }; >> 481 >> 482 mtl_tx_setup: tx-queues-config { >> 483 snps,tx-queues-to-use = <2>; >> 484 snps,tx-sched-wrr; >> 485 queue0 { >> 486 snps,weight = <0x10>; >> 487 snps,dcb-algorithm; >> 488 snps,priority = <0x0>; >> 489 }; >> 490 >> 491 queue1 { >> 492 snps,avb-algorithm; >> 493 snps,send_slope = <0x1000>; >> 494 snps,idle_slope = <0x1000>; >> 495 snps,high_credit = <0x3E800>; >> 496 snps,low_credit = <0xFFC18000>; >> 497 snps,priority = <0x1>; >> 498 }; >> 499 }; >> 500 642 gmac0: ethernet@e0800000 { 501 gmac0: ethernet@e0800000 { 643 compatible = "snps,dwxgmac-2.10", "snp 502 compatible = "snps,dwxgmac-2.10", "snps,dwxgmac"; 644 reg = <0xe0800000 0x8000>; 503 reg = <0xe0800000 0x8000>; 645 interrupt-parent = <&vic1>; 504 interrupt-parent = <&vic1>; 646 interrupts = <24 23 22>; 505 interrupts = <24 23 22>; 647 interrupt-names = "macirq", "eth_wake_ 506 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; 648 mac-address = [000000000000]; /* Fille 507 mac-address = [000000000000]; /* Filled in by U-Boot */ 649 max-frame-size = <3800>; 508 max-frame-size = <3800>; 650 phy-mode = "gmii"; 509 phy-mode = "gmii"; 651 snps,multicast-filter-bins = <256>; 510 snps,multicast-filter-bins = <256>; 652 snps,perfect-filter-entries = <128>; 511 snps,perfect-filter-entries = <128>; 653 rx-fifo-depth = <16384>; 512 rx-fifo-depth = <16384>; 654 tx-fifo-depth = <16384>; 513 tx-fifo-depth = <16384>; 655 clocks = <&clock>; 514 clocks = <&clock>; 656 clock-names = "stmmaceth"; 515 clock-names = "stmmaceth"; 657 snps,axi-config = <&stmmac_axi_setup>; 516 snps,axi-config = <&stmmac_axi_setup>; 658 snps,mtl-rx-config = <&mtl_rx_setup>; 517 snps,mtl-rx-config = <&mtl_rx_setup>; 659 snps,mtl-tx-config = <&mtl_tx_setup>; 518 snps,mtl-tx-config = <&mtl_tx_setup>; 660 << 661 stmmac_axi_setup: stmmac-axi-config { << 662 snps,wr_osr_lmt = <0xf>; << 663 snps,rd_osr_lmt = <0xf>; << 664 snps,blen = <256 128 64 32 0 0 0>; << 665 }; << 666 << 667 mtl_rx_setup: rx-queues-config { << 668 snps,rx-queues-to-use = <1>; << 669 snps,rx-sched-sp; << 670 queue0 { << 671 snps,dcb-algorithm; << 672 snps,map-to-dma-channel = <0x0 << 673 snps,priority = <0x0>; << 674 }; << 675 }; << 676 << 677 mtl_tx_setup: tx-queues-config { << 678 snps,tx-queues-to-use = <2>; << 679 snps,tx-sched-wrr; << 680 queue0 { << 681 snps,weight = <0x10>; << 682 snps,dcb-algorithm; << 683 snps,priority = <0x0>; << 684 }; << 685 << 686 queue1 { << 687 snps,avb-algorithm; << 688 snps,send_slope = <0x1000>; << 689 snps,idle_slope = <0x1000>; << 690 snps,high_credit = <0x3E800>; << 691 snps,low_credit = <0xFFC18000> << 692 snps,priority = <0x1>; << 693 }; << 694 }; << 695 << 696 mdio0 { 519 mdio0 { 697 #address-cells = <1>; 520 #address-cells = <1>; 698 #size-cells = <0>; 521 #size-cells = <0>; 699 compatible = "snps,dwmac-mdio"; 522 compatible = "snps,dwmac-mdio"; 700 phy1: ethernet-phy@0 { 523 phy1: ethernet-phy@0 { 701 reg = <0>; 524 reg = <0>; 702 }; 525 }; 703 }; 526 }; 704 }; 527 }; 705 528 706 # FIXME: We should set it, but it would report 529 # FIXME: We should set it, but it would report all the generic 707 # properties as additional properties. 530 # properties as additional properties. 708 # additionalProperties: false 531 # additionalProperties: false 709 532 710 ... 533 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.