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