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