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