1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/snps,dwmac.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Synopsys DesignWare MAC 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 108cc087a1SEmmanuel Vadot - Alexandre Torgue <alexandre.torgue@foss.st.com> 11c66ec88fSEmmanuel Vadot - Giuseppe Cavallaro <peppe.cavallaro@st.com> 12c66ec88fSEmmanuel Vadot - Jose Abreu <joabreu@synopsys.com> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot# Select every compatible, including the deprecated ones. This way, we 15c66ec88fSEmmanuel Vadot# will be able to report a warning when we have that compatible, since 16c66ec88fSEmmanuel Vadot# we will validate the node thanks to the select, but won't report it 17c66ec88fSEmmanuel Vadot# as a valid value in the compatible property description 18c66ec88fSEmmanuel Vadotselect: 19c66ec88fSEmmanuel Vadot properties: 20c66ec88fSEmmanuel Vadot compatible: 21c66ec88fSEmmanuel Vadot contains: 22c66ec88fSEmmanuel Vadot enum: 23c66ec88fSEmmanuel Vadot - snps,dwmac 24354d7675SEmmanuel Vadot - snps,dwmac-3.40a 25c66ec88fSEmmanuel Vadot - snps,dwmac-3.50a 26c66ec88fSEmmanuel Vadot - snps,dwmac-3.610 27c66ec88fSEmmanuel Vadot - snps,dwmac-3.70a 28c66ec88fSEmmanuel Vadot - snps,dwmac-3.710 29c66ec88fSEmmanuel Vadot - snps,dwmac-4.00 30c66ec88fSEmmanuel Vadot - snps,dwmac-4.10a 31c66ec88fSEmmanuel Vadot - snps,dwmac-4.20a 325956d97fSEmmanuel Vadot - snps,dwmac-5.10a 33fac71e4eSEmmanuel Vadot - snps,dwmac-5.20 34c66ec88fSEmmanuel Vadot - snps,dwxgmac 35c66ec88fSEmmanuel Vadot - snps,dwxgmac-2.10 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot # Deprecated 38c66ec88fSEmmanuel Vadot - st,spear600-gmac 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot required: 41c66ec88fSEmmanuel Vadot - compatible 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadotproperties: 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot # We need to include all the compatibles from schemas that will 46c66ec88fSEmmanuel Vadot # include that schemas, otherwise compatible won't validate for 47c66ec88fSEmmanuel Vadot # those. 48c66ec88fSEmmanuel Vadot compatible: 49c66ec88fSEmmanuel Vadot contains: 50c66ec88fSEmmanuel Vadot enum: 51c66ec88fSEmmanuel Vadot - allwinner,sun7i-a20-gmac 52c66ec88fSEmmanuel Vadot - allwinner,sun8i-a83t-emac 53c66ec88fSEmmanuel Vadot - allwinner,sun8i-h3-emac 548cc087a1SEmmanuel Vadot - allwinner,sun8i-r40-gmac 55c66ec88fSEmmanuel Vadot - allwinner,sun8i-v3s-emac 56c66ec88fSEmmanuel Vadot - allwinner,sun50i-a64-emac 57c66ec88fSEmmanuel Vadot - amlogic,meson6-dwmac 58c66ec88fSEmmanuel Vadot - amlogic,meson8b-dwmac 59c66ec88fSEmmanuel Vadot - amlogic,meson8m2-dwmac 60c66ec88fSEmmanuel Vadot - amlogic,meson-gxbb-dwmac 61c66ec88fSEmmanuel Vadot - amlogic,meson-axg-dwmac 625956d97fSEmmanuel Vadot - ingenic,jz4775-mac 635956d97fSEmmanuel Vadot - ingenic,x1000-mac 645956d97fSEmmanuel Vadot - ingenic,x1600-mac 655956d97fSEmmanuel Vadot - ingenic,x1830-mac 665956d97fSEmmanuel Vadot - ingenic,x2000-mac 67c9ccf3a3SEmmanuel Vadot - loongson,ls2k-dwmac 68c9ccf3a3SEmmanuel Vadot - loongson,ls7a-dwmac 69fac71e4eSEmmanuel Vadot - qcom,qcs404-ethqos 70f126890aSEmmanuel Vadot - qcom,sa8775p-ethqos 71fac71e4eSEmmanuel Vadot - qcom,sc8280xp-ethqos 72fac71e4eSEmmanuel Vadot - qcom,sm8150-ethqos 73b97ee269SEmmanuel Vadot - renesas,r9a06g032-gmac 74b97ee269SEmmanuel Vadot - renesas,rzn1-gmac 752eb4d8dcSEmmanuel Vadot - rockchip,px30-gmac 762eb4d8dcSEmmanuel Vadot - rockchip,rk3128-gmac 772eb4d8dcSEmmanuel Vadot - rockchip,rk3228-gmac 782eb4d8dcSEmmanuel Vadot - rockchip,rk3288-gmac 790e8011faSEmmanuel Vadot - rockchip,rk3308-gmac 802eb4d8dcSEmmanuel Vadot - rockchip,rk3328-gmac 812eb4d8dcSEmmanuel Vadot - rockchip,rk3366-gmac 822eb4d8dcSEmmanuel Vadot - rockchip,rk3368-gmac 83*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-gmac 847ef62cebSEmmanuel Vadot - rockchip,rk3588-gmac 852eb4d8dcSEmmanuel Vadot - rockchip,rk3399-gmac 862eb4d8dcSEmmanuel Vadot - rockchip,rv1108-gmac 87c66ec88fSEmmanuel Vadot - snps,dwmac 88354d7675SEmmanuel Vadot - snps,dwmac-3.40a 89c66ec88fSEmmanuel Vadot - snps,dwmac-3.50a 90c66ec88fSEmmanuel Vadot - snps,dwmac-3.610 91c66ec88fSEmmanuel Vadot - snps,dwmac-3.70a 92c66ec88fSEmmanuel Vadot - snps,dwmac-3.710 93c66ec88fSEmmanuel Vadot - snps,dwmac-4.00 94c66ec88fSEmmanuel Vadot - snps,dwmac-4.10a 95c66ec88fSEmmanuel Vadot - snps,dwmac-4.20a 965956d97fSEmmanuel Vadot - snps,dwmac-5.10a 97fac71e4eSEmmanuel Vadot - snps,dwmac-5.20 98c66ec88fSEmmanuel Vadot - snps,dwxgmac 99c66ec88fSEmmanuel Vadot - snps,dwxgmac-2.10 10001950c46SEmmanuel Vadot - starfive,jh7100-dwmac 101fac71e4eSEmmanuel Vadot - starfive,jh7110-dwmac 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot reg: 104c66ec88fSEmmanuel Vadot minItems: 1 105c66ec88fSEmmanuel Vadot maxItems: 2 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot interrupts: 108c66ec88fSEmmanuel Vadot minItems: 1 109c66ec88fSEmmanuel Vadot items: 110c66ec88fSEmmanuel Vadot - description: Combined signal for various interrupt events 111c66ec88fSEmmanuel Vadot - description: The interrupt to manage the remote wake-up packet detection 112c66ec88fSEmmanuel Vadot - description: The interrupt that occurs when Rx exits the LPI state 11301950c46SEmmanuel Vadot - description: The interrupt that occurs when HW safety error triggered 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot interrupt-names: 116c66ec88fSEmmanuel Vadot minItems: 1 117c66ec88fSEmmanuel Vadot items: 118c66ec88fSEmmanuel Vadot - const: macirq 11901950c46SEmmanuel Vadot - enum: [eth_wake_irq, eth_lpi, sfty] 12001950c46SEmmanuel Vadot - enum: [eth_wake_irq, eth_lpi, sfty] 12101950c46SEmmanuel Vadot - enum: [eth_wake_irq, eth_lpi, sfty] 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot clocks: 124c66ec88fSEmmanuel Vadot minItems: 1 1252eb4d8dcSEmmanuel Vadot maxItems: 8 126c66ec88fSEmmanuel Vadot additionalItems: true 127c66ec88fSEmmanuel Vadot items: 128c66ec88fSEmmanuel Vadot - description: GMAC main clock 129c66ec88fSEmmanuel Vadot - description: Peripheral registers interface clock 130c66ec88fSEmmanuel Vadot - description: 131c66ec88fSEmmanuel Vadot PTP reference clock. This clock is used for programming the 132c66ec88fSEmmanuel Vadot Timestamp Addend Register. If not passed then the system 133c66ec88fSEmmanuel Vadot clock will be used and this is fine on some platforms. 134c66ec88fSEmmanuel Vadot 135c66ec88fSEmmanuel Vadot clock-names: 136c66ec88fSEmmanuel Vadot minItems: 1 1372eb4d8dcSEmmanuel Vadot maxItems: 8 138c66ec88fSEmmanuel Vadot additionalItems: true 139c66ec88fSEmmanuel Vadot contains: 140c66ec88fSEmmanuel Vadot enum: 141c66ec88fSEmmanuel Vadot - stmmaceth 142c66ec88fSEmmanuel Vadot - pclk 143c66ec88fSEmmanuel Vadot - ptp_ref 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot resets: 146fac71e4eSEmmanuel Vadot minItems: 1 147fac71e4eSEmmanuel Vadot items: 148fac71e4eSEmmanuel Vadot - description: GMAC stmmaceth reset 149fac71e4eSEmmanuel Vadot - description: AHB reset 150c66ec88fSEmmanuel Vadot 151c66ec88fSEmmanuel Vadot reset-names: 15201950c46SEmmanuel Vadot oneOf: 15301950c46SEmmanuel Vadot - items: 15401950c46SEmmanuel Vadot - enum: [stmmaceth, ahb] 15501950c46SEmmanuel Vadot - items: 156fac71e4eSEmmanuel Vadot - const: stmmaceth 157fac71e4eSEmmanuel Vadot - const: ahb 158c66ec88fSEmmanuel Vadot 159b97ee269SEmmanuel Vadot power-domains: 160b97ee269SEmmanuel Vadot maxItems: 1 161b97ee269SEmmanuel Vadot 162c66ec88fSEmmanuel Vadot mac-mode: 163c66ec88fSEmmanuel Vadot $ref: ethernet-controller.yaml#/properties/phy-connection-type 164c66ec88fSEmmanuel Vadot description: 165c66ec88fSEmmanuel Vadot The property is identical to 'phy-mode', and assumes that there is mode 166c66ec88fSEmmanuel Vadot converter in-between the MAC & PHY (e.g. GMII-to-RGMII). This converter 167c66ec88fSEmmanuel Vadot can be passive (no SW requirement), and requires that the MAC operate 168c66ec88fSEmmanuel Vadot in a different mode than the PHY in order to function. 169c66ec88fSEmmanuel Vadot 170c66ec88fSEmmanuel Vadot snps,axi-config: 1715def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 172c66ec88fSEmmanuel Vadot description: 173c66ec88fSEmmanuel Vadot AXI BUS Mode parameters. Phandle to a node that can contain the 174c66ec88fSEmmanuel Vadot following properties 175c66ec88fSEmmanuel Vadot * snps,lpi_en, enable Low Power Interface 176c66ec88fSEmmanuel Vadot * snps,xit_frm, unlock on WoL 177c66ec88fSEmmanuel Vadot * snps,wr_osr_lmt, max write outstanding req. limit 178c66ec88fSEmmanuel Vadot * snps,rd_osr_lmt, max read outstanding req. limit 179c66ec88fSEmmanuel Vadot * snps,kbbe, do not cross 1KiB boundary. 180c66ec88fSEmmanuel Vadot * snps,blen, this is a vector of supported burst length. 181c66ec88fSEmmanuel Vadot * snps,fb, fixed-burst 182c66ec88fSEmmanuel Vadot * snps,mb, mixed-burst 183c66ec88fSEmmanuel Vadot * snps,rb, rebuild INCRx Burst 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot snps,mtl-rx-config: 1865def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 187c66ec88fSEmmanuel Vadot description: 1888bab661aSEmmanuel Vadot Multiple RX Queues parameters. Phandle to a node that 1898bab661aSEmmanuel Vadot implements the 'rx-queues-config' object described in 1908bab661aSEmmanuel Vadot this binding. 1918bab661aSEmmanuel Vadot 1928bab661aSEmmanuel Vadot rx-queues-config: 1938bab661aSEmmanuel Vadot type: object 1948bab661aSEmmanuel Vadot properties: 1958bab661aSEmmanuel Vadot snps,rx-queues-to-use: 1968bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 1978bab661aSEmmanuel Vadot description: number of RX queues to be used in the driver 1988bab661aSEmmanuel Vadot snps,rx-sched-sp: 1998bab661aSEmmanuel Vadot type: boolean 2008bab661aSEmmanuel Vadot description: Strict priority 2018bab661aSEmmanuel Vadot snps,rx-sched-wsp: 2028bab661aSEmmanuel Vadot type: boolean 2038bab661aSEmmanuel Vadot description: Weighted Strict priority 2048bab661aSEmmanuel Vadot allOf: 2058bab661aSEmmanuel Vadot - if: 2068bab661aSEmmanuel Vadot required: 2078bab661aSEmmanuel Vadot - snps,rx-sched-sp 2088bab661aSEmmanuel Vadot then: 2098bab661aSEmmanuel Vadot properties: 2108bab661aSEmmanuel Vadot snps,rx-sched-wsp: false 2118bab661aSEmmanuel Vadot - if: 2128bab661aSEmmanuel Vadot required: 2138bab661aSEmmanuel Vadot - snps,rx-sched-wsp 2148bab661aSEmmanuel Vadot then: 2158bab661aSEmmanuel Vadot properties: 2168bab661aSEmmanuel Vadot snps,rx-sched-sp: false 2178bab661aSEmmanuel Vadot patternProperties: 2188bab661aSEmmanuel Vadot "^queue[0-9]$": 2198bab661aSEmmanuel Vadot description: Each subnode represents a queue. 2208bab661aSEmmanuel Vadot type: object 2218bab661aSEmmanuel Vadot properties: 2228bab661aSEmmanuel Vadot snps,dcb-algorithm: 2238bab661aSEmmanuel Vadot type: boolean 2248bab661aSEmmanuel Vadot description: Queue to be enabled as DCB 2258bab661aSEmmanuel Vadot snps,avb-algorithm: 2268bab661aSEmmanuel Vadot type: boolean 2278bab661aSEmmanuel Vadot description: Queue to be enabled as AVB 2288bab661aSEmmanuel Vadot snps,map-to-dma-channel: 2298bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 2308bab661aSEmmanuel Vadot description: DMA channel id to map 2318bab661aSEmmanuel Vadot snps,route-avcp: 2328bab661aSEmmanuel Vadot type: boolean 2338bab661aSEmmanuel Vadot description: AV Untagged Control packets 2348bab661aSEmmanuel Vadot snps,route-ptp: 2358bab661aSEmmanuel Vadot type: boolean 2368bab661aSEmmanuel Vadot description: PTP Packets 2378bab661aSEmmanuel Vadot snps,route-dcbcp: 2388bab661aSEmmanuel Vadot type: boolean 2398bab661aSEmmanuel Vadot description: DCB Control Packets 2408bab661aSEmmanuel Vadot snps,route-up: 2418bab661aSEmmanuel Vadot type: boolean 2428bab661aSEmmanuel Vadot description: Untagged Packets 2438bab661aSEmmanuel Vadot snps,route-multi-broad: 2448bab661aSEmmanuel Vadot type: boolean 2458bab661aSEmmanuel Vadot description: Multicast & Broadcast Packets 2468bab661aSEmmanuel Vadot snps,priority: 2477d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 2487d0873ebSEmmanuel Vadot maxItems: 1 2498bab661aSEmmanuel Vadot description: Bitmask of the tagged frames priorities assigned to the queue 2508bab661aSEmmanuel Vadot allOf: 2518bab661aSEmmanuel Vadot - if: 2528bab661aSEmmanuel Vadot required: 2538bab661aSEmmanuel Vadot - snps,dcb-algorithm 2548bab661aSEmmanuel Vadot then: 2558bab661aSEmmanuel Vadot properties: 2568bab661aSEmmanuel Vadot snps,avb-algorithm: false 2578bab661aSEmmanuel Vadot - if: 2588bab661aSEmmanuel Vadot required: 2598bab661aSEmmanuel Vadot - snps,avb-algorithm 2608bab661aSEmmanuel Vadot then: 2618bab661aSEmmanuel Vadot properties: 2628bab661aSEmmanuel Vadot snps,dcb-algorithm: false 2638bab661aSEmmanuel Vadot - if: 2648bab661aSEmmanuel Vadot required: 2658bab661aSEmmanuel Vadot - snps,route-avcp 2668bab661aSEmmanuel Vadot then: 2678bab661aSEmmanuel Vadot properties: 2688bab661aSEmmanuel Vadot snps,route-ptp: false 2698bab661aSEmmanuel Vadot snps,route-dcbcp: false 2708bab661aSEmmanuel Vadot snps,route-up: false 2718bab661aSEmmanuel Vadot snps,route-multi-broad: false 2728bab661aSEmmanuel Vadot - if: 2738bab661aSEmmanuel Vadot required: 2748bab661aSEmmanuel Vadot - snps,route-ptp 2758bab661aSEmmanuel Vadot then: 2768bab661aSEmmanuel Vadot properties: 2778bab661aSEmmanuel Vadot snps,route-avcp: false 2788bab661aSEmmanuel Vadot snps,route-dcbcp: false 2798bab661aSEmmanuel Vadot snps,route-up: false 2808bab661aSEmmanuel Vadot snps,route-multi-broad: false 2818bab661aSEmmanuel Vadot - if: 2828bab661aSEmmanuel Vadot required: 2838bab661aSEmmanuel Vadot - snps,route-dcbcp 2848bab661aSEmmanuel Vadot then: 2858bab661aSEmmanuel Vadot properties: 2868bab661aSEmmanuel Vadot snps,route-avcp: false 2878bab661aSEmmanuel Vadot snps,route-ptp: false 2888bab661aSEmmanuel Vadot snps,route-up: false 2898bab661aSEmmanuel Vadot snps,route-multi-broad: false 2908bab661aSEmmanuel Vadot - if: 2918bab661aSEmmanuel Vadot required: 2928bab661aSEmmanuel Vadot - snps,route-up 2938bab661aSEmmanuel Vadot then: 2948bab661aSEmmanuel Vadot properties: 2958bab661aSEmmanuel Vadot snps,route-avcp: false 2968bab661aSEmmanuel Vadot snps,route-ptp: false 2978bab661aSEmmanuel Vadot snps,route-dcbcp: false 2988bab661aSEmmanuel Vadot snps,route-multi-broad: false 2998bab661aSEmmanuel Vadot - if: 3008bab661aSEmmanuel Vadot required: 3018bab661aSEmmanuel Vadot - snps,route-multi-broad 3028bab661aSEmmanuel Vadot then: 3038bab661aSEmmanuel Vadot properties: 3048bab661aSEmmanuel Vadot snps,route-avcp: false 3058bab661aSEmmanuel Vadot snps,route-ptp: false 3068bab661aSEmmanuel Vadot snps,route-dcbcp: false 3078bab661aSEmmanuel Vadot snps,route-up: false 3088bab661aSEmmanuel Vadot additionalProperties: false 3098bab661aSEmmanuel Vadot additionalProperties: false 310c66ec88fSEmmanuel Vadot 311c66ec88fSEmmanuel Vadot snps,mtl-tx-config: 3125def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 313c66ec88fSEmmanuel Vadot description: 3148bab661aSEmmanuel Vadot Multiple TX Queues parameters. Phandle to a node that 3158bab661aSEmmanuel Vadot implements the 'tx-queues-config' object described in 3168bab661aSEmmanuel Vadot this binding. 3178bab661aSEmmanuel Vadot 3188bab661aSEmmanuel Vadot tx-queues-config: 3198bab661aSEmmanuel Vadot type: object 3208bab661aSEmmanuel Vadot properties: 3218bab661aSEmmanuel Vadot snps,tx-queues-to-use: 3228bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3238bab661aSEmmanuel Vadot description: number of TX queues to be used in the driver 3248bab661aSEmmanuel Vadot snps,tx-sched-wrr: 3258bab661aSEmmanuel Vadot type: boolean 3268bab661aSEmmanuel Vadot description: Weighted Round Robin 3278bab661aSEmmanuel Vadot snps,tx-sched-wfq: 3288bab661aSEmmanuel Vadot type: boolean 3298bab661aSEmmanuel Vadot description: Weighted Fair Queuing 3308bab661aSEmmanuel Vadot snps,tx-sched-dwrr: 3318bab661aSEmmanuel Vadot type: boolean 3328bab661aSEmmanuel Vadot description: Deficit Weighted Round Robin 3338bab661aSEmmanuel Vadot allOf: 3348bab661aSEmmanuel Vadot - if: 3358bab661aSEmmanuel Vadot required: 3368bab661aSEmmanuel Vadot - snps,tx-sched-wrr 3378bab661aSEmmanuel Vadot then: 3388bab661aSEmmanuel Vadot properties: 3398bab661aSEmmanuel Vadot snps,tx-sched-wfq: false 3408bab661aSEmmanuel Vadot snps,tx-sched-dwrr: false 3418bab661aSEmmanuel Vadot - if: 3428bab661aSEmmanuel Vadot required: 3438bab661aSEmmanuel Vadot - snps,tx-sched-wfq 3448bab661aSEmmanuel Vadot then: 3458bab661aSEmmanuel Vadot properties: 3468bab661aSEmmanuel Vadot snps,tx-sched-wrr: false 3478bab661aSEmmanuel Vadot snps,tx-sched-dwrr: false 3488bab661aSEmmanuel Vadot - if: 3498bab661aSEmmanuel Vadot required: 3508bab661aSEmmanuel Vadot - snps,tx-sched-dwrr 3518bab661aSEmmanuel Vadot then: 3528bab661aSEmmanuel Vadot properties: 3538bab661aSEmmanuel Vadot snps,tx-sched-wrr: false 3548bab661aSEmmanuel Vadot snps,tx-sched-wfq: false 3558bab661aSEmmanuel Vadot patternProperties: 3568bab661aSEmmanuel Vadot "^queue[0-9]$": 3578bab661aSEmmanuel Vadot description: Each subnode represents a queue. 3588bab661aSEmmanuel Vadot type: object 3598bab661aSEmmanuel Vadot properties: 3608bab661aSEmmanuel Vadot snps,weight: 3618bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3628bab661aSEmmanuel Vadot description: TX queue weight (if using a DCB weight algorithm) 3638bab661aSEmmanuel Vadot snps,dcb-algorithm: 3648bab661aSEmmanuel Vadot type: boolean 3658bab661aSEmmanuel Vadot description: TX queue will be working in DCB 3668bab661aSEmmanuel Vadot snps,avb-algorithm: 3678bab661aSEmmanuel Vadot type: boolean 3688bab661aSEmmanuel Vadot description: 3698bab661aSEmmanuel Vadot TX queue will be working in AVB. 3708bab661aSEmmanuel Vadot Queue 0 is reserved for legacy traffic and so no AVB is 3718bab661aSEmmanuel Vadot available in this queue. 3728bab661aSEmmanuel Vadot snps,send_slope: 3738bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3748bab661aSEmmanuel Vadot description: enable Low Power Interface 3758bab661aSEmmanuel Vadot snps,idle_slope: 3768bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3778bab661aSEmmanuel Vadot description: unlock on WoL 3788bab661aSEmmanuel Vadot snps,high_credit: 3798bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3808bab661aSEmmanuel Vadot description: max write outstanding req. limit 3818bab661aSEmmanuel Vadot snps,low_credit: 3828bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 3838bab661aSEmmanuel Vadot description: max read outstanding req. limit 3848bab661aSEmmanuel Vadot snps,priority: 3857d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 3867d0873ebSEmmanuel Vadot maxItems: 1 3878bab661aSEmmanuel Vadot description: 3888bab661aSEmmanuel Vadot Bitmask of the tagged frames priorities assigned to the queue. 3895def4c47SEmmanuel Vadot When a PFC frame is received with priorities matching the bitmask, 3905def4c47SEmmanuel Vadot the queue is blocked from transmitting for the pause time specified 3915def4c47SEmmanuel Vadot in the PFC frame. 39284943d6fSEmmanuel Vadot 39384943d6fSEmmanuel Vadot snps,coe-unsupported: 39484943d6fSEmmanuel Vadot type: boolean 39584943d6fSEmmanuel Vadot description: TX checksum offload is unsupported by the TX queue. 39684943d6fSEmmanuel Vadot 3978bab661aSEmmanuel Vadot allOf: 3988bab661aSEmmanuel Vadot - if: 3998bab661aSEmmanuel Vadot required: 4008bab661aSEmmanuel Vadot - snps,dcb-algorithm 4018bab661aSEmmanuel Vadot then: 4028bab661aSEmmanuel Vadot properties: 4038bab661aSEmmanuel Vadot snps,avb-algorithm: false 4048bab661aSEmmanuel Vadot - if: 4058bab661aSEmmanuel Vadot required: 4068bab661aSEmmanuel Vadot - snps,avb-algorithm 4078bab661aSEmmanuel Vadot then: 4088bab661aSEmmanuel Vadot properties: 4098bab661aSEmmanuel Vadot snps,dcb-algorithm: false 4108bab661aSEmmanuel Vadot snps,weight: false 4118bab661aSEmmanuel Vadot additionalProperties: false 4128bab661aSEmmanuel Vadot additionalProperties: false 413c66ec88fSEmmanuel Vadot 414c66ec88fSEmmanuel Vadot snps,reset-gpio: 415c66ec88fSEmmanuel Vadot deprecated: true 416c66ec88fSEmmanuel Vadot maxItems: 1 417c66ec88fSEmmanuel Vadot description: 418c66ec88fSEmmanuel Vadot PHY Reset GPIO 419c66ec88fSEmmanuel Vadot 420c66ec88fSEmmanuel Vadot snps,reset-active-low: 421c66ec88fSEmmanuel Vadot deprecated: true 4225def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 423c66ec88fSEmmanuel Vadot description: 424c66ec88fSEmmanuel Vadot Indicates that the PHY Reset is active low 425c66ec88fSEmmanuel Vadot 426c66ec88fSEmmanuel Vadot snps,reset-delays-us: 427c66ec88fSEmmanuel Vadot deprecated: true 428c66ec88fSEmmanuel Vadot description: 429c66ec88fSEmmanuel Vadot Triplet of delays. The 1st cell is reset pre-delay in micro 430c66ec88fSEmmanuel Vadot seconds. The 2nd cell is reset pulse in micro seconds. The 3rd 431c66ec88fSEmmanuel Vadot cell is reset post-delay in micro seconds. 432c66ec88fSEmmanuel Vadot minItems: 3 433c66ec88fSEmmanuel Vadot maxItems: 3 434c66ec88fSEmmanuel Vadot 435c66ec88fSEmmanuel Vadot snps,aal: 4365def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 437c66ec88fSEmmanuel Vadot description: 438c66ec88fSEmmanuel Vadot Use Address-Aligned Beats 439c66ec88fSEmmanuel Vadot 4400e8011faSEmmanuel Vadot snps,pbl: 4410e8011faSEmmanuel Vadot description: 4420e8011faSEmmanuel Vadot Programmable Burst Length (tx and rx) 4430e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 4440e8011faSEmmanuel Vadot enum: [1, 2, 4, 8, 16, 32] 4450e8011faSEmmanuel Vadot 4460e8011faSEmmanuel Vadot snps,txpbl: 4470e8011faSEmmanuel Vadot description: 4480e8011faSEmmanuel Vadot Tx Programmable Burst Length. If set, DMA tx will use this 4490e8011faSEmmanuel Vadot value rather than snps,pbl. 4500e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 4510e8011faSEmmanuel Vadot enum: [1, 2, 4, 8, 16, 32] 4520e8011faSEmmanuel Vadot 4530e8011faSEmmanuel Vadot snps,rxpbl: 4540e8011faSEmmanuel Vadot description: 4550e8011faSEmmanuel Vadot Rx Programmable Burst Length. If set, DMA rx will use this 4560e8011faSEmmanuel Vadot value rather than snps,pbl. 4570e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 4580e8011faSEmmanuel Vadot enum: [1, 2, 4, 8, 16, 32] 4590e8011faSEmmanuel Vadot 4600e8011faSEmmanuel Vadot snps,no-pbl-x8: 4610e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 4620e8011faSEmmanuel Vadot description: 4630e8011faSEmmanuel Vadot Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core 4640e8011faSEmmanuel Vadot rev < 3.50, don\'t multiply the values by 4. 4650e8011faSEmmanuel Vadot 466c66ec88fSEmmanuel Vadot snps,fixed-burst: 4675def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 468c66ec88fSEmmanuel Vadot description: 469c66ec88fSEmmanuel Vadot Program the DMA to use the fixed burst mode 470c66ec88fSEmmanuel Vadot 471c66ec88fSEmmanuel Vadot snps,mixed-burst: 4725def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 473c66ec88fSEmmanuel Vadot description: 474c66ec88fSEmmanuel Vadot Program the DMA to use the mixed burst mode 475c66ec88fSEmmanuel Vadot 476c66ec88fSEmmanuel Vadot snps,force_thresh_dma_mode: 4775def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 478c66ec88fSEmmanuel Vadot description: 479c66ec88fSEmmanuel Vadot Force DMA to use the threshold mode for both tx and rx 480c66ec88fSEmmanuel Vadot 481c66ec88fSEmmanuel Vadot snps,force_sf_dma_mode: 4825def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 483c66ec88fSEmmanuel Vadot description: 484c66ec88fSEmmanuel Vadot Force DMA to use the Store and Forward mode for both tx and 485c66ec88fSEmmanuel Vadot rx. This flag is ignored if force_thresh_dma_mode is set. 486c66ec88fSEmmanuel Vadot 487c66ec88fSEmmanuel Vadot snps,en-tx-lpi-clockgating: 4885def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 489c66ec88fSEmmanuel Vadot description: 490c66ec88fSEmmanuel Vadot Enable gating of the MAC TX clock during TX low-power mode 491c66ec88fSEmmanuel Vadot 492c66ec88fSEmmanuel Vadot snps,multicast-filter-bins: 4935def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 494c66ec88fSEmmanuel Vadot description: 495c66ec88fSEmmanuel Vadot Number of multicast filter hash bins supported by this device 496c66ec88fSEmmanuel Vadot instance 497c66ec88fSEmmanuel Vadot 498c66ec88fSEmmanuel Vadot snps,perfect-filter-entries: 4995def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 500c66ec88fSEmmanuel Vadot description: 501c66ec88fSEmmanuel Vadot Number of perfect filter entries supported by this device 502c66ec88fSEmmanuel Vadot instance 503c66ec88fSEmmanuel Vadot 504c66ec88fSEmmanuel Vadot snps,ps-speed: 5055def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 506c66ec88fSEmmanuel Vadot description: 507c66ec88fSEmmanuel Vadot Port selection speed that can be passed to the core when PCS 508c66ec88fSEmmanuel Vadot is supported. For example, this is used in case of SGMII and 509c66ec88fSEmmanuel Vadot MAC2MAC connection. 510c66ec88fSEmmanuel Vadot 5117ef62cebSEmmanuel Vadot snps,clk-csr: 5127ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 5137ef62cebSEmmanuel Vadot description: 5147ef62cebSEmmanuel Vadot Frequency division factor for MDC clock. 5157ef62cebSEmmanuel Vadot 5160e8011faSEmmanuel Vadot snps,tso: 5170e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5180e8011faSEmmanuel Vadot description: 5190e8011faSEmmanuel Vadot Enables the TSO feature otherwise it will be managed by MAC HW capability 5200e8011faSEmmanuel Vadot register. 5210e8011faSEmmanuel Vadot 522c66ec88fSEmmanuel Vadot mdio: 523e67e8565SEmmanuel Vadot $ref: mdio.yaml# 524e67e8565SEmmanuel Vadot unevaluatedProperties: false 525c66ec88fSEmmanuel Vadot description: 526c66ec88fSEmmanuel Vadot Creates and registers an MDIO bus. 527c66ec88fSEmmanuel Vadot 528c66ec88fSEmmanuel Vadot properties: 529c66ec88fSEmmanuel Vadot compatible: 530c66ec88fSEmmanuel Vadot const: snps,dwmac-mdio 531c66ec88fSEmmanuel Vadot 532c66ec88fSEmmanuel Vadot required: 533c66ec88fSEmmanuel Vadot - compatible 534c66ec88fSEmmanuel Vadot 5357ef62cebSEmmanuel Vadot stmmac-axi-config: 5367ef62cebSEmmanuel Vadot type: object 5377ef62cebSEmmanuel Vadot unevaluatedProperties: false 5387ef62cebSEmmanuel Vadot description: 5397ef62cebSEmmanuel Vadot AXI BUS Mode parameters. 5407ef62cebSEmmanuel Vadot 5417ef62cebSEmmanuel Vadot properties: 5427ef62cebSEmmanuel Vadot snps,lpi_en: 5437ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5447ef62cebSEmmanuel Vadot description: 5457ef62cebSEmmanuel Vadot enable Low Power Interface 5467ef62cebSEmmanuel Vadot 5477ef62cebSEmmanuel Vadot snps,xit_frm: 5487ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5497ef62cebSEmmanuel Vadot description: 5507ef62cebSEmmanuel Vadot unlock on WoL 5517ef62cebSEmmanuel Vadot 5527ef62cebSEmmanuel Vadot snps,wr_osr_lmt: 5537ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 5547ef62cebSEmmanuel Vadot description: 5557ef62cebSEmmanuel Vadot max write outstanding req. limit 5567ef62cebSEmmanuel Vadot 5577ef62cebSEmmanuel Vadot snps,rd_osr_lmt: 5587ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 5597ef62cebSEmmanuel Vadot description: 5607ef62cebSEmmanuel Vadot max read outstanding req. limit 5617ef62cebSEmmanuel Vadot 5627ef62cebSEmmanuel Vadot snps,kbbe: 5637ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 5647ef62cebSEmmanuel Vadot description: 5657ef62cebSEmmanuel Vadot do not cross 1KiB boundary. 5667ef62cebSEmmanuel Vadot 5677ef62cebSEmmanuel Vadot snps,blen: 5687ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 5697ef62cebSEmmanuel Vadot description: 5707ef62cebSEmmanuel Vadot this is a vector of supported burst length. 5717ef62cebSEmmanuel Vadot minItems: 7 5727ef62cebSEmmanuel Vadot maxItems: 7 5737ef62cebSEmmanuel Vadot 5747ef62cebSEmmanuel Vadot snps,fb: 5757ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5767ef62cebSEmmanuel Vadot description: 5777ef62cebSEmmanuel Vadot fixed-burst 5787ef62cebSEmmanuel Vadot 5797ef62cebSEmmanuel Vadot snps,mb: 5807ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5817ef62cebSEmmanuel Vadot description: 5827ef62cebSEmmanuel Vadot mixed-burst 5837ef62cebSEmmanuel Vadot 5847ef62cebSEmmanuel Vadot snps,rb: 5857ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5867ef62cebSEmmanuel Vadot description: 5877ef62cebSEmmanuel Vadot rebuild INCRx Burst 5887ef62cebSEmmanuel Vadot 589c66ec88fSEmmanuel Vadotrequired: 590c66ec88fSEmmanuel Vadot - compatible 591c66ec88fSEmmanuel Vadot - reg 592c66ec88fSEmmanuel Vadot - interrupts 593c66ec88fSEmmanuel Vadot - interrupt-names 594c66ec88fSEmmanuel Vadot - phy-mode 595c66ec88fSEmmanuel Vadot 596c66ec88fSEmmanuel Vadotdependencies: 597c66ec88fSEmmanuel Vadot snps,reset-active-low: ["snps,reset-gpio"] 598cb7aa33aSEmmanuel Vadot snps,reset-delays-us: ["snps,reset-gpio"] 599c66ec88fSEmmanuel Vadot 600c66ec88fSEmmanuel VadotallOf: 601fac71e4eSEmmanuel Vadot - $ref: ethernet-controller.yaml# 602c66ec88fSEmmanuel Vadot - if: 603c66ec88fSEmmanuel Vadot properties: 604c66ec88fSEmmanuel Vadot compatible: 6050e8011faSEmmanuel Vadot not: 606c66ec88fSEmmanuel Vadot contains: 607c66ec88fSEmmanuel Vadot enum: 608c66ec88fSEmmanuel Vadot - allwinner,sun7i-a20-gmac 609c66ec88fSEmmanuel Vadot - allwinner,sun8i-a83t-emac 610c66ec88fSEmmanuel Vadot - allwinner,sun8i-h3-emac 6118cc087a1SEmmanuel Vadot - allwinner,sun8i-r40-gmac 612c66ec88fSEmmanuel Vadot - allwinner,sun8i-v3s-emac 613c66ec88fSEmmanuel Vadot - allwinner,sun50i-a64-emac 6145956d97fSEmmanuel Vadot - loongson,ls2k-dwmac 6155956d97fSEmmanuel Vadot - loongson,ls7a-dwmac 6165956d97fSEmmanuel Vadot - ingenic,jz4775-mac 6175956d97fSEmmanuel Vadot - ingenic,x1000-mac 6185956d97fSEmmanuel Vadot - ingenic,x1600-mac 6195956d97fSEmmanuel Vadot - ingenic,x1830-mac 6205956d97fSEmmanuel Vadot - ingenic,x2000-mac 621fac71e4eSEmmanuel Vadot - qcom,qcs404-ethqos 622f126890aSEmmanuel Vadot - qcom,sa8775p-ethqos 623fac71e4eSEmmanuel Vadot - qcom,sc8280xp-ethqos 624fac71e4eSEmmanuel Vadot - qcom,sm8150-ethqos 625c66ec88fSEmmanuel Vadot - snps,dwmac-4.00 626c66ec88fSEmmanuel Vadot - snps,dwmac-4.10a 627c66ec88fSEmmanuel Vadot - snps,dwmac-4.20a 6285956d97fSEmmanuel Vadot - snps,dwmac-5.10a 629fac71e4eSEmmanuel Vadot - snps,dwmac-5.20 630c66ec88fSEmmanuel Vadot - snps,dwxgmac 631c66ec88fSEmmanuel Vadot - snps,dwxgmac-2.10 632c66ec88fSEmmanuel Vadot - st,spear600-gmac 633c66ec88fSEmmanuel Vadot 634c66ec88fSEmmanuel Vadot then: 635c66ec88fSEmmanuel Vadot properties: 6360e8011faSEmmanuel Vadot snps,tso: false 637c66ec88fSEmmanuel Vadot 6386be33864SEmmanuel VadotadditionalProperties: true 6396be33864SEmmanuel Vadot 640c66ec88fSEmmanuel Vadotexamples: 641c66ec88fSEmmanuel Vadot - | 6428bab661aSEmmanuel Vadot gmac0: ethernet@e0800000 { 6438bab661aSEmmanuel Vadot compatible = "snps,dwxgmac-2.10", "snps,dwxgmac"; 6448bab661aSEmmanuel Vadot reg = <0xe0800000 0x8000>; 6458bab661aSEmmanuel Vadot interrupt-parent = <&vic1>; 6468bab661aSEmmanuel Vadot interrupts = <24 23 22>; 6478bab661aSEmmanuel Vadot interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; 6488bab661aSEmmanuel Vadot mac-address = [000000000000]; /* Filled in by U-Boot */ 6498bab661aSEmmanuel Vadot max-frame-size = <3800>; 6508bab661aSEmmanuel Vadot phy-mode = "gmii"; 6518bab661aSEmmanuel Vadot snps,multicast-filter-bins = <256>; 6528bab661aSEmmanuel Vadot snps,perfect-filter-entries = <128>; 6538bab661aSEmmanuel Vadot rx-fifo-depth = <16384>; 6548bab661aSEmmanuel Vadot tx-fifo-depth = <16384>; 6558bab661aSEmmanuel Vadot clocks = <&clock>; 6568bab661aSEmmanuel Vadot clock-names = "stmmaceth"; 6578bab661aSEmmanuel Vadot snps,axi-config = <&stmmac_axi_setup>; 6588bab661aSEmmanuel Vadot snps,mtl-rx-config = <&mtl_rx_setup>; 6598bab661aSEmmanuel Vadot snps,mtl-tx-config = <&mtl_tx_setup>; 6608bab661aSEmmanuel Vadot 661c66ec88fSEmmanuel Vadot stmmac_axi_setup: stmmac-axi-config { 662c66ec88fSEmmanuel Vadot snps,wr_osr_lmt = <0xf>; 663c66ec88fSEmmanuel Vadot snps,rd_osr_lmt = <0xf>; 664c66ec88fSEmmanuel Vadot snps,blen = <256 128 64 32 0 0 0>; 665c66ec88fSEmmanuel Vadot }; 666c66ec88fSEmmanuel Vadot 667c66ec88fSEmmanuel Vadot mtl_rx_setup: rx-queues-config { 668c66ec88fSEmmanuel Vadot snps,rx-queues-to-use = <1>; 669c66ec88fSEmmanuel Vadot snps,rx-sched-sp; 670c66ec88fSEmmanuel Vadot queue0 { 671c66ec88fSEmmanuel Vadot snps,dcb-algorithm; 672c66ec88fSEmmanuel Vadot snps,map-to-dma-channel = <0x0>; 673c66ec88fSEmmanuel Vadot snps,priority = <0x0>; 674c66ec88fSEmmanuel Vadot }; 675c66ec88fSEmmanuel Vadot }; 676c66ec88fSEmmanuel Vadot 677c66ec88fSEmmanuel Vadot mtl_tx_setup: tx-queues-config { 678c66ec88fSEmmanuel Vadot snps,tx-queues-to-use = <2>; 679c66ec88fSEmmanuel Vadot snps,tx-sched-wrr; 680c66ec88fSEmmanuel Vadot queue0 { 681c66ec88fSEmmanuel Vadot snps,weight = <0x10>; 682c66ec88fSEmmanuel Vadot snps,dcb-algorithm; 683c66ec88fSEmmanuel Vadot snps,priority = <0x0>; 684c66ec88fSEmmanuel Vadot }; 685c66ec88fSEmmanuel Vadot 686c66ec88fSEmmanuel Vadot queue1 { 687c66ec88fSEmmanuel Vadot snps,avb-algorithm; 688c66ec88fSEmmanuel Vadot snps,send_slope = <0x1000>; 689c66ec88fSEmmanuel Vadot snps,idle_slope = <0x1000>; 690c66ec88fSEmmanuel Vadot snps,high_credit = <0x3E800>; 691c66ec88fSEmmanuel Vadot snps,low_credit = <0xFFC18000>; 692c66ec88fSEmmanuel Vadot snps,priority = <0x1>; 693c66ec88fSEmmanuel Vadot }; 694c66ec88fSEmmanuel Vadot }; 695c66ec88fSEmmanuel Vadot 696c66ec88fSEmmanuel Vadot mdio0 { 697c66ec88fSEmmanuel Vadot #address-cells = <1>; 698c66ec88fSEmmanuel Vadot #size-cells = <0>; 699c66ec88fSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 700c66ec88fSEmmanuel Vadot phy1: ethernet-phy@0 { 701c66ec88fSEmmanuel Vadot reg = <0>; 702c66ec88fSEmmanuel Vadot }; 703c66ec88fSEmmanuel Vadot }; 704c66ec88fSEmmanuel Vadot }; 705c66ec88fSEmmanuel Vadot 706c66ec88fSEmmanuel Vadot# FIXME: We should set it, but it would report all the generic 707c66ec88fSEmmanuel Vadot# properties as additional properties. 708c66ec88fSEmmanuel Vadot# additionalProperties: false 709c66ec88fSEmmanuel Vadot 710c66ec88fSEmmanuel Vadot... 711