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 189 implements the 'rx-queues-config' object 171 implements the 'rx-queues-config' object described in 190 this binding. 172 this binding. 191 173 192 rx-queues-config: 174 rx-queues-config: 193 type: object 175 type: object 194 properties: 176 properties: 195 snps,rx-queues-to-use: 177 snps,rx-queues-to-use: 196 $ref: /schemas/types.yaml#/definitions 178 $ref: /schemas/types.yaml#/definitions/uint32 197 description: number of RX queues to be 179 description: number of RX queues to be used in the driver 198 snps,rx-sched-sp: 180 snps,rx-sched-sp: 199 type: boolean 181 type: boolean 200 description: Strict priority 182 description: Strict priority 201 snps,rx-sched-wsp: 183 snps,rx-sched-wsp: 202 type: boolean 184 type: boolean 203 description: Weighted Strict priority 185 description: Weighted Strict priority 204 allOf: 186 allOf: 205 - if: 187 - if: 206 required: 188 required: 207 - snps,rx-sched-sp 189 - snps,rx-sched-sp 208 then: 190 then: 209 properties: 191 properties: 210 snps,rx-sched-wsp: false 192 snps,rx-sched-wsp: false 211 - if: 193 - if: 212 required: 194 required: 213 - snps,rx-sched-wsp 195 - snps,rx-sched-wsp 214 then: 196 then: 215 properties: 197 properties: 216 snps,rx-sched-sp: false 198 snps,rx-sched-sp: false 217 patternProperties: 199 patternProperties: 218 "^queue[0-9]$": 200 "^queue[0-9]$": 219 description: Each subnode represents a 201 description: Each subnode represents a queue. 220 type: object 202 type: object 221 properties: 203 properties: 222 snps,dcb-algorithm: 204 snps,dcb-algorithm: 223 type: boolean 205 type: boolean 224 description: Queue to be enabled a 206 description: Queue to be enabled as DCB 225 snps,avb-algorithm: 207 snps,avb-algorithm: 226 type: boolean 208 type: boolean 227 description: Queue to be enabled a 209 description: Queue to be enabled as AVB 228 snps,map-to-dma-channel: 210 snps,map-to-dma-channel: 229 $ref: /schemas/types.yaml#/definit 211 $ref: /schemas/types.yaml#/definitions/uint32 230 description: DMA channel id to map 212 description: DMA channel id to map 231 snps,route-avcp: 213 snps,route-avcp: 232 type: boolean 214 type: boolean 233 description: AV Untagged Control p 215 description: AV Untagged Control packets 234 snps,route-ptp: 216 snps,route-ptp: 235 type: boolean 217 type: boolean 236 description: PTP Packets 218 description: PTP Packets 237 snps,route-dcbcp: 219 snps,route-dcbcp: 238 type: boolean 220 type: boolean 239 description: DCB Control Packets 221 description: DCB Control Packets 240 snps,route-up: 222 snps,route-up: 241 type: boolean 223 type: boolean 242 description: Untagged Packets 224 description: Untagged Packets 243 snps,route-multi-broad: 225 snps,route-multi-broad: 244 type: boolean 226 type: boolean 245 description: Multicast & Broadcast 227 description: Multicast & Broadcast Packets 246 snps,priority: 228 snps,priority: 247 $ref: /schemas/types.yaml#/definit !! 229 $ref: /schemas/types.yaml#/definitions/uint32 248 maxItems: 1 << 249 description: Bitmask of the tagged 230 description: Bitmask of the tagged frames priorities assigned to the queue 250 allOf: 231 allOf: 251 - if: 232 - if: 252 required: 233 required: 253 - snps,dcb-algorithm 234 - snps,dcb-algorithm 254 then: 235 then: 255 properties: 236 properties: 256 snps,avb-algorithm: false 237 snps,avb-algorithm: false 257 - if: 238 - if: 258 required: 239 required: 259 - snps,avb-algorithm 240 - snps,avb-algorithm 260 then: 241 then: 261 properties: 242 properties: 262 snps,dcb-algorithm: false 243 snps,dcb-algorithm: false 263 - if: 244 - if: 264 required: 245 required: 265 - snps,route-avcp 246 - snps,route-avcp 266 then: 247 then: 267 properties: 248 properties: 268 snps,route-ptp: false 249 snps,route-ptp: false 269 snps,route-dcbcp: false 250 snps,route-dcbcp: false 270 snps,route-up: false 251 snps,route-up: false 271 snps,route-multi-broad: false 252 snps,route-multi-broad: false 272 - if: 253 - if: 273 required: 254 required: 274 - snps,route-ptp 255 - snps,route-ptp 275 then: 256 then: 276 properties: 257 properties: 277 snps,route-avcp: false 258 snps,route-avcp: false 278 snps,route-dcbcp: false 259 snps,route-dcbcp: false 279 snps,route-up: false 260 snps,route-up: false 280 snps,route-multi-broad: false 261 snps,route-multi-broad: false 281 - if: 262 - if: 282 required: 263 required: 283 - snps,route-dcbcp 264 - snps,route-dcbcp 284 then: 265 then: 285 properties: 266 properties: 286 snps,route-avcp: false 267 snps,route-avcp: false 287 snps,route-ptp: false 268 snps,route-ptp: false 288 snps,route-up: false 269 snps,route-up: false 289 snps,route-multi-broad: false 270 snps,route-multi-broad: false 290 - if: 271 - if: 291 required: 272 required: 292 - snps,route-up 273 - snps,route-up 293 then: 274 then: 294 properties: 275 properties: 295 snps,route-avcp: false 276 snps,route-avcp: false 296 snps,route-ptp: false 277 snps,route-ptp: false 297 snps,route-dcbcp: false 278 snps,route-dcbcp: false 298 snps,route-multi-broad: false 279 snps,route-multi-broad: false 299 - if: 280 - if: 300 required: 281 required: 301 - snps,route-multi-broad 282 - snps,route-multi-broad 302 then: 283 then: 303 properties: 284 properties: 304 snps,route-avcp: false 285 snps,route-avcp: false 305 snps,route-ptp: false 286 snps,route-ptp: false 306 snps,route-dcbcp: false 287 snps,route-dcbcp: false 307 snps,route-up: false 288 snps,route-up: false 308 additionalProperties: false 289 additionalProperties: false 309 additionalProperties: false 290 additionalProperties: false 310 291 311 snps,mtl-tx-config: 292 snps,mtl-tx-config: 312 $ref: /schemas/types.yaml#/definitions/pha 293 $ref: /schemas/types.yaml#/definitions/phandle 313 description: 294 description: 314 Multiple TX Queues parameters. Phandle t 295 Multiple TX Queues parameters. Phandle to a node that 315 implements the 'tx-queues-config' object 296 implements the 'tx-queues-config' object described in 316 this binding. 297 this binding. 317 298 318 tx-queues-config: 299 tx-queues-config: 319 type: object 300 type: object 320 properties: 301 properties: 321 snps,tx-queues-to-use: 302 snps,tx-queues-to-use: 322 $ref: /schemas/types.yaml#/definitions 303 $ref: /schemas/types.yaml#/definitions/uint32 323 description: number of TX queues to be 304 description: number of TX queues to be used in the driver 324 snps,tx-sched-wrr: 305 snps,tx-sched-wrr: 325 type: boolean 306 type: boolean 326 description: Weighted Round Robin 307 description: Weighted Round Robin 327 snps,tx-sched-wfq: 308 snps,tx-sched-wfq: 328 type: boolean 309 type: boolean 329 description: Weighted Fair Queuing 310 description: Weighted Fair Queuing 330 snps,tx-sched-dwrr: 311 snps,tx-sched-dwrr: 331 type: boolean 312 type: boolean 332 description: Deficit Weighted Round Ro 313 description: Deficit Weighted Round Robin >> 314 snps,tx-sched-sp: >> 315 type: boolean >> 316 description: Strict priority 333 allOf: 317 allOf: 334 - if: 318 - if: 335 required: 319 required: 336 - snps,tx-sched-wrr 320 - snps,tx-sched-wrr 337 then: 321 then: 338 properties: 322 properties: 339 snps,tx-sched-wfq: false 323 snps,tx-sched-wfq: false 340 snps,tx-sched-dwrr: false 324 snps,tx-sched-dwrr: false >> 325 snps,tx-sched-sp: false 341 - if: 326 - if: 342 required: 327 required: 343 - snps,tx-sched-wfq 328 - snps,tx-sched-wfq 344 then: 329 then: 345 properties: 330 properties: 346 snps,tx-sched-wrr: false 331 snps,tx-sched-wrr: false 347 snps,tx-sched-dwrr: false 332 snps,tx-sched-dwrr: false >> 333 snps,tx-sched-sp: false 348 - if: 334 - if: 349 required: 335 required: 350 - snps,tx-sched-dwrr 336 - snps,tx-sched-dwrr 351 then: 337 then: 352 properties: 338 properties: 353 snps,tx-sched-wrr: false 339 snps,tx-sched-wrr: false 354 snps,tx-sched-wfq: false 340 snps,tx-sched-wfq: false >> 341 snps,tx-sched-sp: false >> 342 - if: >> 343 required: >> 344 - snps,tx-sched-sp >> 345 then: >> 346 properties: >> 347 snps,tx-sched-wrr: false >> 348 snps,tx-sched-wfq: false >> 349 snps,tx-sched-dwrr: false 355 patternProperties: 350 patternProperties: 356 "^queue[0-9]$": 351 "^queue[0-9]$": 357 description: Each subnode represents a 352 description: Each subnode represents a queue. 358 type: object 353 type: object 359 properties: 354 properties: 360 snps,weight: 355 snps,weight: 361 $ref: /schemas/types.yaml#/definit 356 $ref: /schemas/types.yaml#/definitions/uint32 362 description: TX queue weight (if u 357 description: TX queue weight (if using a DCB weight algorithm) 363 snps,dcb-algorithm: 358 snps,dcb-algorithm: 364 type: boolean 359 type: boolean 365 description: TX queue will be work 360 description: TX queue will be working in DCB 366 snps,avb-algorithm: 361 snps,avb-algorithm: 367 type: boolean 362 type: boolean 368 description: 363 description: 369 TX queue will be working in AVB. 364 TX queue will be working in AVB. 370 Queue 0 is reserved for legacy t 365 Queue 0 is reserved for legacy traffic and so no AVB is 371 available in this queue. 366 available in this queue. 372 snps,send_slope: 367 snps,send_slope: 373 $ref: /schemas/types.yaml#/definit 368 $ref: /schemas/types.yaml#/definitions/uint32 374 description: enable Low Power Inte 369 description: enable Low Power Interface 375 snps,idle_slope: 370 snps,idle_slope: 376 $ref: /schemas/types.yaml#/definit 371 $ref: /schemas/types.yaml#/definitions/uint32 377 description: unlock on WoL 372 description: unlock on WoL 378 snps,high_credit: 373 snps,high_credit: 379 $ref: /schemas/types.yaml#/definit 374 $ref: /schemas/types.yaml#/definitions/uint32 380 description: max write outstanding 375 description: max write outstanding req. limit 381 snps,low_credit: 376 snps,low_credit: 382 $ref: /schemas/types.yaml#/definit 377 $ref: /schemas/types.yaml#/definitions/uint32 383 description: max read outstanding 378 description: max read outstanding req. limit 384 snps,priority: 379 snps,priority: 385 $ref: /schemas/types.yaml#/definit !! 380 $ref: /schemas/types.yaml#/definitions/uint32 386 maxItems: 1 << 387 description: 381 description: 388 Bitmask of the tagged frames pri 382 Bitmask of the tagged frames priorities assigned to the queue. 389 When a PFC frame is received wit 383 When a PFC frame is received with priorities matching the bitmask, 390 the queue is blocked from transm 384 the queue is blocked from transmitting for the pause time specified 391 in the PFC frame. 385 in the PFC frame. 392 << 393 snps,coe-unsupported: << 394 type: boolean << 395 description: TX checksum offload i << 396 << 397 allOf: 386 allOf: 398 - if: 387 - if: 399 required: 388 required: 400 - snps,dcb-algorithm 389 - snps,dcb-algorithm 401 then: 390 then: 402 properties: 391 properties: 403 snps,avb-algorithm: false 392 snps,avb-algorithm: false 404 - if: 393 - if: 405 required: 394 required: 406 - snps,avb-algorithm 395 - snps,avb-algorithm 407 then: 396 then: 408 properties: 397 properties: 409 snps,dcb-algorithm: false 398 snps,dcb-algorithm: false 410 snps,weight: false 399 snps,weight: false 411 additionalProperties: false 400 additionalProperties: false 412 additionalProperties: false 401 additionalProperties: false 413 402 414 snps,reset-gpio: 403 snps,reset-gpio: 415 deprecated: true 404 deprecated: true 416 maxItems: 1 405 maxItems: 1 417 description: 406 description: 418 PHY Reset GPIO 407 PHY Reset GPIO 419 408 420 snps,reset-active-low: 409 snps,reset-active-low: 421 deprecated: true 410 deprecated: true 422 $ref: /schemas/types.yaml#/definitions/fla 411 $ref: /schemas/types.yaml#/definitions/flag 423 description: 412 description: 424 Indicates that the PHY Reset is active l 413 Indicates that the PHY Reset is active low 425 414 426 snps,reset-delays-us: 415 snps,reset-delays-us: 427 deprecated: true 416 deprecated: true 428 description: 417 description: 429 Triplet of delays. The 1st cell is reset 418 Triplet of delays. The 1st cell is reset pre-delay in micro 430 seconds. The 2nd cell is reset pulse in 419 seconds. The 2nd cell is reset pulse in micro seconds. The 3rd 431 cell is reset post-delay in micro second 420 cell is reset post-delay in micro seconds. 432 minItems: 3 421 minItems: 3 433 maxItems: 3 422 maxItems: 3 434 423 435 snps,aal: 424 snps,aal: 436 $ref: /schemas/types.yaml#/definitions/fla 425 $ref: /schemas/types.yaml#/definitions/flag 437 description: 426 description: 438 Use Address-Aligned Beats 427 Use Address-Aligned Beats 439 428 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: 429 snps,fixed-burst: 467 $ref: /schemas/types.yaml#/definitions/fla 430 $ref: /schemas/types.yaml#/definitions/flag 468 description: 431 description: 469 Program the DMA to use the fixed burst m 432 Program the DMA to use the fixed burst mode 470 433 471 snps,mixed-burst: 434 snps,mixed-burst: 472 $ref: /schemas/types.yaml#/definitions/fla 435 $ref: /schemas/types.yaml#/definitions/flag 473 description: 436 description: 474 Program the DMA to use the mixed burst m 437 Program the DMA to use the mixed burst mode 475 438 476 snps,force_thresh_dma_mode: 439 snps,force_thresh_dma_mode: 477 $ref: /schemas/types.yaml#/definitions/fla 440 $ref: /schemas/types.yaml#/definitions/flag 478 description: 441 description: 479 Force DMA to use the threshold mode for 442 Force DMA to use the threshold mode for both tx and rx 480 443 481 snps,force_sf_dma_mode: 444 snps,force_sf_dma_mode: 482 $ref: /schemas/types.yaml#/definitions/fla 445 $ref: /schemas/types.yaml#/definitions/flag 483 description: 446 description: 484 Force DMA to use the Store and Forward m 447 Force DMA to use the Store and Forward mode for both tx and 485 rx. This flag is ignored if force_thresh 448 rx. This flag is ignored if force_thresh_dma_mode is set. 486 449 487 snps,en-tx-lpi-clockgating: 450 snps,en-tx-lpi-clockgating: 488 $ref: /schemas/types.yaml#/definitions/fla 451 $ref: /schemas/types.yaml#/definitions/flag 489 description: 452 description: 490 Enable gating of the MAC TX clock during 453 Enable gating of the MAC TX clock during TX low-power mode 491 454 492 snps,multicast-filter-bins: 455 snps,multicast-filter-bins: 493 $ref: /schemas/types.yaml#/definitions/uin 456 $ref: /schemas/types.yaml#/definitions/uint32 494 description: 457 description: 495 Number of multicast filter hash bins sup 458 Number of multicast filter hash bins supported by this device 496 instance 459 instance 497 460 498 snps,perfect-filter-entries: 461 snps,perfect-filter-entries: 499 $ref: /schemas/types.yaml#/definitions/uin 462 $ref: /schemas/types.yaml#/definitions/uint32 500 description: 463 description: 501 Number of perfect filter entries support 464 Number of perfect filter entries supported by this device 502 instance 465 instance 503 466 504 snps,ps-speed: 467 snps,ps-speed: 505 $ref: /schemas/types.yaml#/definitions/uin 468 $ref: /schemas/types.yaml#/definitions/uint32 506 description: 469 description: 507 Port selection speed that can be passed 470 Port selection speed that can be passed to the core when PCS 508 is supported. For example, this is used 471 is supported. For example, this is used in case of SGMII and 509 MAC2MAC connection. 472 MAC2MAC connection. 510 473 511 snps,clk-csr: 474 snps,clk-csr: 512 $ref: /schemas/types.yaml#/definitions/uin 475 $ref: /schemas/types.yaml#/definitions/uint32 513 description: 476 description: 514 Frequency division factor for MDC clock. 477 Frequency division factor for MDC clock. 515 478 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: 479 mdio: 523 $ref: mdio.yaml# 480 $ref: mdio.yaml# 524 unevaluatedProperties: false 481 unevaluatedProperties: false 525 description: 482 description: 526 Creates and registers an MDIO bus. 483 Creates and registers an MDIO bus. 527 484 528 properties: 485 properties: 529 compatible: 486 compatible: 530 const: snps,dwmac-mdio 487 const: snps,dwmac-mdio 531 488 532 required: 489 required: 533 - compatible 490 - compatible 534 491 535 stmmac-axi-config: 492 stmmac-axi-config: 536 type: object 493 type: object 537 unevaluatedProperties: false 494 unevaluatedProperties: false 538 description: 495 description: 539 AXI BUS Mode parameters. 496 AXI BUS Mode parameters. 540 497 541 properties: 498 properties: 542 snps,lpi_en: 499 snps,lpi_en: 543 $ref: /schemas/types.yaml#/definitions 500 $ref: /schemas/types.yaml#/definitions/flag 544 description: 501 description: 545 enable Low Power Interface 502 enable Low Power Interface 546 503 547 snps,xit_frm: 504 snps,xit_frm: 548 $ref: /schemas/types.yaml#/definitions 505 $ref: /schemas/types.yaml#/definitions/flag 549 description: 506 description: 550 unlock on WoL 507 unlock on WoL 551 508 552 snps,wr_osr_lmt: 509 snps,wr_osr_lmt: 553 $ref: /schemas/types.yaml#/definitions 510 $ref: /schemas/types.yaml#/definitions/uint32 554 description: 511 description: 555 max write outstanding req. limit 512 max write outstanding req. limit 556 513 557 snps,rd_osr_lmt: 514 snps,rd_osr_lmt: 558 $ref: /schemas/types.yaml#/definitions 515 $ref: /schemas/types.yaml#/definitions/uint32 559 description: 516 description: 560 max read outstanding req. limit 517 max read outstanding req. limit 561 518 562 snps,kbbe: 519 snps,kbbe: 563 $ref: /schemas/types.yaml#/definitions 520 $ref: /schemas/types.yaml#/definitions/uint32 564 description: 521 description: 565 do not cross 1KiB boundary. 522 do not cross 1KiB boundary. 566 523 567 snps,blen: 524 snps,blen: 568 $ref: /schemas/types.yaml#/definitions 525 $ref: /schemas/types.yaml#/definitions/uint32-array 569 description: 526 description: 570 this is a vector of supported burst 527 this is a vector of supported burst length. 571 minItems: 7 528 minItems: 7 572 maxItems: 7 529 maxItems: 7 573 530 574 snps,fb: 531 snps,fb: 575 $ref: /schemas/types.yaml#/definitions 532 $ref: /schemas/types.yaml#/definitions/flag 576 description: 533 description: 577 fixed-burst 534 fixed-burst 578 535 579 snps,mb: 536 snps,mb: 580 $ref: /schemas/types.yaml#/definitions 537 $ref: /schemas/types.yaml#/definitions/flag 581 description: 538 description: 582 mixed-burst 539 mixed-burst 583 540 584 snps,rb: 541 snps,rb: 585 $ref: /schemas/types.yaml#/definitions 542 $ref: /schemas/types.yaml#/definitions/flag 586 description: 543 description: 587 rebuild INCRx Burst 544 rebuild INCRx Burst 588 545 589 required: 546 required: 590 - compatible 547 - compatible 591 - reg 548 - reg 592 - interrupts 549 - interrupts 593 - interrupt-names 550 - interrupt-names 594 - phy-mode 551 - phy-mode 595 552 596 dependencies: 553 dependencies: 597 snps,reset-active-low: ["snps,reset-gpio"] 554 snps,reset-active-low: ["snps,reset-gpio"] 598 snps,reset-delays-us: ["snps,reset-gpio"] !! 555 snps,reset-delay-us: ["snps,reset-gpio"] 599 556 600 allOf: 557 allOf: 601 - $ref: ethernet-controller.yaml# !! 558 - $ref: "ethernet-controller.yaml#" >> 559 - if: >> 560 properties: >> 561 compatible: >> 562 contains: >> 563 enum: >> 564 - allwinner,sun7i-a20-gmac >> 565 - allwinner,sun8i-a83t-emac >> 566 - allwinner,sun8i-h3-emac >> 567 - allwinner,sun8i-r40-gmac >> 568 - allwinner,sun8i-v3s-emac >> 569 - allwinner,sun50i-a64-emac >> 570 - ingenic,jz4775-mac >> 571 - ingenic,x1000-mac >> 572 - ingenic,x1600-mac >> 573 - ingenic,x1830-mac >> 574 - ingenic,x2000-mac >> 575 - snps,dwmac-3.50a >> 576 - snps,dwmac-4.10a >> 577 - snps,dwmac-4.20a >> 578 - snps,dwxgmac >> 579 - snps,dwxgmac-2.10 >> 580 - st,spear600-gmac >> 581 >> 582 then: >> 583 properties: >> 584 snps,pbl: >> 585 description: >> 586 Programmable Burst Length (tx and rx) >> 587 $ref: /schemas/types.yaml#/definitions/uint32 >> 588 enum: [1, 2, 4, 8, 16, 32] >> 589 >> 590 snps,txpbl: >> 591 description: >> 592 Tx Programmable Burst Length. If set, DMA tx will use this >> 593 value rather than snps,pbl. >> 594 $ref: /schemas/types.yaml#/definitions/uint32 >> 595 enum: [1, 2, 4, 8, 16, 32] >> 596 >> 597 snps,rxpbl: >> 598 description: >> 599 Rx Programmable Burst Length. If set, DMA rx will use this >> 600 value rather than snps,pbl. >> 601 $ref: /schemas/types.yaml#/definitions/uint32 >> 602 enum: [1, 2, 4, 8, 16, 32] >> 603 >> 604 snps,no-pbl-x8: >> 605 $ref: /schemas/types.yaml#/definitions/flag >> 606 description: >> 607 Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core >> 608 rev < 3.50, don\'t multiply the values by 4. >> 609 602 - if: 610 - if: 603 properties: 611 properties: 604 compatible: 612 compatible: 605 not: !! 613 contains: 606 contains: !! 614 enum: 607 enum: !! 615 - allwinner,sun7i-a20-gmac 608 - allwinner,sun7i-a20-gmac !! 616 - allwinner,sun8i-a83t-emac 609 - allwinner,sun8i-a83t-emac !! 617 - allwinner,sun8i-h3-emac 610 - allwinner,sun8i-h3-emac !! 618 - allwinner,sun8i-r40-gmac 611 - allwinner,sun8i-r40-gmac !! 619 - allwinner,sun8i-v3s-emac 612 - allwinner,sun8i-v3s-emac !! 620 - allwinner,sun50i-a64-emac 613 - allwinner,sun50i-a64-emac !! 621 - loongson,ls2k-dwmac 614 - loongson,ls2k-dwmac !! 622 - loongson,ls7a-dwmac 615 - loongson,ls7a-dwmac !! 623 - ingenic,jz4775-mac 616 - ingenic,jz4775-mac !! 624 - ingenic,x1000-mac 617 - ingenic,x1000-mac !! 625 - ingenic,x1600-mac 618 - ingenic,x1600-mac !! 626 - ingenic,x1830-mac 619 - ingenic,x1830-mac !! 627 - ingenic,x2000-mac 620 - ingenic,x2000-mac !! 628 - snps,dwmac-4.00 621 - qcom,qcs404-ethqos !! 629 - snps,dwmac-4.10a 622 - qcom,sa8775p-ethqos !! 630 - snps,dwmac-4.20a 623 - qcom,sc8280xp-ethqos !! 631 - snps,dwmac-5.10a 624 - qcom,sm8150-ethqos !! 632 - snps,dwxgmac 625 - snps,dwmac-4.00 !! 633 - snps,dwxgmac-2.10 626 - snps,dwmac-4.10a !! 634 - 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 635 634 then: 636 then: 635 properties: 637 properties: 636 snps,tso: false !! 638 snps,tso: >> 639 $ref: /schemas/types.yaml#/definitions/flag >> 640 description: >> 641 Enables the TSO feature otherwise it will be managed by >> 642 MAC HW capability register. 637 643 638 additionalProperties: true 644 additionalProperties: true 639 645 640 examples: 646 examples: 641 - | 647 - | 642 gmac0: ethernet@e0800000 { 648 gmac0: ethernet@e0800000 { 643 compatible = "snps,dwxgmac-2.10", "snp 649 compatible = "snps,dwxgmac-2.10", "snps,dwxgmac"; 644 reg = <0xe0800000 0x8000>; 650 reg = <0xe0800000 0x8000>; 645 interrupt-parent = <&vic1>; 651 interrupt-parent = <&vic1>; 646 interrupts = <24 23 22>; 652 interrupts = <24 23 22>; 647 interrupt-names = "macirq", "eth_wake_ 653 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; 648 mac-address = [000000000000]; /* Fille 654 mac-address = [000000000000]; /* Filled in by U-Boot */ 649 max-frame-size = <3800>; 655 max-frame-size = <3800>; 650 phy-mode = "gmii"; 656 phy-mode = "gmii"; 651 snps,multicast-filter-bins = <256>; 657 snps,multicast-filter-bins = <256>; 652 snps,perfect-filter-entries = <128>; 658 snps,perfect-filter-entries = <128>; 653 rx-fifo-depth = <16384>; 659 rx-fifo-depth = <16384>; 654 tx-fifo-depth = <16384>; 660 tx-fifo-depth = <16384>; 655 clocks = <&clock>; 661 clocks = <&clock>; 656 clock-names = "stmmaceth"; 662 clock-names = "stmmaceth"; 657 snps,axi-config = <&stmmac_axi_setup>; 663 snps,axi-config = <&stmmac_axi_setup>; 658 snps,mtl-rx-config = <&mtl_rx_setup>; 664 snps,mtl-rx-config = <&mtl_rx_setup>; 659 snps,mtl-tx-config = <&mtl_tx_setup>; 665 snps,mtl-tx-config = <&mtl_tx_setup>; 660 666 661 stmmac_axi_setup: stmmac-axi-config { 667 stmmac_axi_setup: stmmac-axi-config { 662 snps,wr_osr_lmt = <0xf>; 668 snps,wr_osr_lmt = <0xf>; 663 snps,rd_osr_lmt = <0xf>; 669 snps,rd_osr_lmt = <0xf>; 664 snps,blen = <256 128 64 32 0 0 0>; 670 snps,blen = <256 128 64 32 0 0 0>; 665 }; 671 }; 666 672 667 mtl_rx_setup: rx-queues-config { 673 mtl_rx_setup: rx-queues-config { 668 snps,rx-queues-to-use = <1>; 674 snps,rx-queues-to-use = <1>; 669 snps,rx-sched-sp; 675 snps,rx-sched-sp; 670 queue0 { 676 queue0 { 671 snps,dcb-algorithm; 677 snps,dcb-algorithm; 672 snps,map-to-dma-channel = <0x0 678 snps,map-to-dma-channel = <0x0>; 673 snps,priority = <0x0>; 679 snps,priority = <0x0>; 674 }; 680 }; 675 }; 681 }; 676 682 677 mtl_tx_setup: tx-queues-config { 683 mtl_tx_setup: tx-queues-config { 678 snps,tx-queues-to-use = <2>; 684 snps,tx-queues-to-use = <2>; 679 snps,tx-sched-wrr; 685 snps,tx-sched-wrr; 680 queue0 { 686 queue0 { 681 snps,weight = <0x10>; 687 snps,weight = <0x10>; 682 snps,dcb-algorithm; 688 snps,dcb-algorithm; 683 snps,priority = <0x0>; 689 snps,priority = <0x0>; 684 }; 690 }; 685 691 686 queue1 { 692 queue1 { 687 snps,avb-algorithm; 693 snps,avb-algorithm; 688 snps,send_slope = <0x1000>; 694 snps,send_slope = <0x1000>; 689 snps,idle_slope = <0x1000>; 695 snps,idle_slope = <0x1000>; 690 snps,high_credit = <0x3E800>; 696 snps,high_credit = <0x3E800>; 691 snps,low_credit = <0xFFC18000> 697 snps,low_credit = <0xFFC18000>; 692 snps,priority = <0x1>; 698 snps,priority = <0x1>; 693 }; 699 }; 694 }; 700 }; 695 701 696 mdio0 { 702 mdio0 { 697 #address-cells = <1>; 703 #address-cells = <1>; 698 #size-cells = <0>; 704 #size-cells = <0>; 699 compatible = "snps,dwmac-mdio"; 705 compatible = "snps,dwmac-mdio"; 700 phy1: ethernet-phy@0 { 706 phy1: ethernet-phy@0 { 701 reg = <0>; 707 reg = <0>; 702 }; 708 }; 703 }; 709 }; 704 }; 710 }; 705 711 706 # FIXME: We should set it, but it would report 712 # FIXME: We should set it, but it would report all the generic 707 # properties as additional properties. 713 # properties as additional properties. 708 # additionalProperties: false 714 # additionalProperties: false 709 715 710 ... 716 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.