xref: /linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml (revision b33be51c2bad170c65b46025010aaf86b38bc7f9)
17db3545aSMaxime Ripard# SPDX-License-Identifier: GPL-2.0
27db3545aSMaxime Ripard%YAML 1.2
37db3545aSMaxime Ripard---
47db3545aSMaxime Ripard$id: http://devicetree.org/schemas/net/snps,dwmac.yaml#
57db3545aSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
67db3545aSMaxime Ripard
77db3545aSMaxime Ripardtitle: Synopsys DesignWare MAC Device Tree Bindings
87db3545aSMaxime Ripard
97db3545aSMaxime Ripardmaintainers:
107db3545aSMaxime Ripard  - Alexandre Torgue <alexandre.torgue@st.com>
117db3545aSMaxime Ripard  - Giuseppe Cavallaro <peppe.cavallaro@st.com>
127db3545aSMaxime Ripard  - Jose Abreu <joabreu@synopsys.com>
137db3545aSMaxime Ripard
147db3545aSMaxime Ripard# Select every compatible, including the deprecated ones. This way, we
157db3545aSMaxime Ripard# will be able to report a warning when we have that compatible, since
167db3545aSMaxime Ripard# we will validate the node thanks to the select, but won't report it
177db3545aSMaxime Ripard# as a valid value in the compatible property description
187db3545aSMaxime Ripardselect:
197db3545aSMaxime Ripard  properties:
207db3545aSMaxime Ripard    compatible:
217db3545aSMaxime Ripard      contains:
227db3545aSMaxime Ripard        enum:
237db3545aSMaxime Ripard          - snps,dwmac
247db3545aSMaxime Ripard          - snps,dwmac-3.50a
257db3545aSMaxime Ripard          - snps,dwmac-3.610
267db3545aSMaxime Ripard          - snps,dwmac-3.70a
277db3545aSMaxime Ripard          - snps,dwmac-3.710
287db3545aSMaxime Ripard          - snps,dwmac-4.00
297db3545aSMaxime Ripard          - snps,dwmac-4.10a
30f2253143SChristophe Roullier          - snps,dwmac-4.20a
31bdad810eSJoakim Zhang          - snps,dwmac-5.10a
327db3545aSMaxime Ripard          - snps,dwxgmac
337db3545aSMaxime Ripard          - snps,dwxgmac-2.10
347db3545aSMaxime Ripard
357db3545aSMaxime Ripard          # Deprecated
367db3545aSMaxime Ripard          - st,spear600-gmac
377db3545aSMaxime Ripard
387db3545aSMaxime Ripard  required:
397db3545aSMaxime Ripard    - compatible
407db3545aSMaxime Ripard
417db3545aSMaxime Ripardproperties:
427db3545aSMaxime Ripard
437db3545aSMaxime Ripard  # We need to include all the compatibles from schemas that will
447db3545aSMaxime Ripard  # include that schemas, otherwise compatible won't validate for
457db3545aSMaxime Ripard  # those.
467db3545aSMaxime Ripard  compatible:
477db3545aSMaxime Ripard    contains:
487db3545aSMaxime Ripard      enum:
494b859450SMaxime Ripard        - allwinner,sun7i-a20-gmac
500569929dSMaxime Ripard        - allwinner,sun8i-a83t-emac
510569929dSMaxime Ripard        - allwinner,sun8i-h3-emac
52*b33be51cSMaxime Ripard        - allwinner,sun8i-r40-gmac
530569929dSMaxime Ripard        - allwinner,sun8i-v3s-emac
540569929dSMaxime Ripard        - allwinner,sun50i-a64-emac
5568277749SQing Zhang        - loongson,ls2k-dwmac
5668277749SQing Zhang        - loongson,ls7a-dwmac
57d5a57e4eSNeil Armstrong        - amlogic,meson6-dwmac
58d5a57e4eSNeil Armstrong        - amlogic,meson8b-dwmac
59d5a57e4eSNeil Armstrong        - amlogic,meson8m2-dwmac
60d5a57e4eSNeil Armstrong        - amlogic,meson-gxbb-dwmac
61d5a57e4eSNeil Armstrong        - amlogic,meson-axg-dwmac
6268277749SQing Zhang        - loongson,ls2k-dwmac
6368277749SQing Zhang        - loongson,ls7a-dwmac
643b840106S周琰杰 (Zhou Yanjie)        - ingenic,jz4775-mac
653b840106S周琰杰 (Zhou Yanjie)        - ingenic,x1000-mac
663b840106S周琰杰 (Zhou Yanjie)        - ingenic,x1600-mac
673b840106S周琰杰 (Zhou Yanjie)        - ingenic,x1830-mac
683b840106S周琰杰 (Zhou Yanjie)        - ingenic,x2000-mac
69517a882aSEzequiel Garcia        - rockchip,px30-gmac
70517a882aSEzequiel Garcia        - rockchip,rk3128-gmac
71517a882aSEzequiel Garcia        - rockchip,rk3228-gmac
72517a882aSEzequiel Garcia        - rockchip,rk3288-gmac
73517a882aSEzequiel Garcia        - rockchip,rk3328-gmac
74517a882aSEzequiel Garcia        - rockchip,rk3366-gmac
75517a882aSEzequiel Garcia        - rockchip,rk3368-gmac
76517a882aSEzequiel Garcia        - rockchip,rk3399-gmac
77517a882aSEzequiel Garcia        - rockchip,rv1108-gmac
787db3545aSMaxime Ripard        - snps,dwmac
797db3545aSMaxime Ripard        - snps,dwmac-3.50a
807db3545aSMaxime Ripard        - snps,dwmac-3.610
817db3545aSMaxime Ripard        - snps,dwmac-3.70a
827db3545aSMaxime Ripard        - snps,dwmac-3.710
837db3545aSMaxime Ripard        - snps,dwmac-4.00
847db3545aSMaxime Ripard        - snps,dwmac-4.10a
85f2253143SChristophe Roullier        - snps,dwmac-4.20a
86bdad810eSJoakim Zhang        - snps,dwmac-5.10a
877db3545aSMaxime Ripard        - snps,dwxgmac
887db3545aSMaxime Ripard        - snps,dwxgmac-2.10
897db3545aSMaxime Ripard
907db3545aSMaxime Ripard  reg:
9157b77df7SNeil Armstrong    minItems: 1
9257b77df7SNeil Armstrong    maxItems: 2
937db3545aSMaxime Ripard
947db3545aSMaxime Ripard  interrupts:
957db3545aSMaxime Ripard    minItems: 1
967db3545aSMaxime Ripard    items:
977db3545aSMaxime Ripard      - description: Combined signal for various interrupt events
987db3545aSMaxime Ripard      - description: The interrupt to manage the remote wake-up packet detection
997db3545aSMaxime Ripard      - description: The interrupt that occurs when Rx exits the LPI state
1007db3545aSMaxime Ripard
1017db3545aSMaxime Ripard  interrupt-names:
1027db3545aSMaxime Ripard    minItems: 1
1037db3545aSMaxime Ripard    items:
1047db3545aSMaxime Ripard      - const: macirq
1057db3545aSMaxime Ripard      - const: eth_wake_irq
1067db3545aSMaxime Ripard      - const: eth_lpi
1077db3545aSMaxime Ripard
1087db3545aSMaxime Ripard  clocks:
1097db3545aSMaxime Ripard    minItems: 1
110517a882aSEzequiel Garcia    maxItems: 8
111f2253143SChristophe Roullier    additionalItems: true
1127db3545aSMaxime Ripard    items:
1137db3545aSMaxime Ripard      - description: GMAC main clock
1147db3545aSMaxime Ripard      - description: Peripheral registers interface clock
1157db3545aSMaxime Ripard      - description:
1167db3545aSMaxime Ripard          PTP reference clock. This clock is used for programming the
1177db3545aSMaxime Ripard          Timestamp Addend Register. If not passed then the system
1187db3545aSMaxime Ripard          clock will be used and this is fine on some platforms.
1197db3545aSMaxime Ripard
1207db3545aSMaxime Ripard  clock-names:
121f2253143SChristophe Roullier    minItems: 1
122517a882aSEzequiel Garcia    maxItems: 8
1237db3545aSMaxime Ripard    additionalItems: true
1247db3545aSMaxime Ripard    contains:
1257db3545aSMaxime Ripard      enum:
1267db3545aSMaxime Ripard        - stmmaceth
1277db3545aSMaxime Ripard        - pclk
1287db3545aSMaxime Ripard        - ptp_ref
1297db3545aSMaxime Ripard
1307db3545aSMaxime Ripard  resets:
1317db3545aSMaxime Ripard    maxItems: 1
1327db3545aSMaxime Ripard    description:
1337db3545aSMaxime Ripard      MAC Reset signal.
1347db3545aSMaxime Ripard
1357db3545aSMaxime Ripard  reset-names:
1367db3545aSMaxime Ripard    const: stmmaceth
1377db3545aSMaxime Ripard
1389c15d359SAlexandru Ardelean  mac-mode:
1399e5c8d39SAlexandru Ardelean    $ref: ethernet-controller.yaml#/properties/phy-connection-type
1409c15d359SAlexandru Ardelean    description:
1419c15d359SAlexandru Ardelean      The property is identical to 'phy-mode', and assumes that there is mode
1429c15d359SAlexandru Ardelean      converter in-between the MAC & PHY (e.g. GMII-to-RGMII). This converter
1439c15d359SAlexandru Ardelean      can be passive (no SW requirement), and requires that the MAC operate
1449c15d359SAlexandru Ardelean      in a different mode than the PHY in order to function.
1459c15d359SAlexandru Ardelean
1467db3545aSMaxime Ripard  snps,axi-config:
147d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
1487db3545aSMaxime Ripard    description:
1497db3545aSMaxime Ripard      AXI BUS Mode parameters. Phandle to a node that can contain the
1507db3545aSMaxime Ripard      following properties
1517db3545aSMaxime Ripard        * snps,lpi_en, enable Low Power Interface
1527db3545aSMaxime Ripard        * snps,xit_frm, unlock on WoL
1537db3545aSMaxime Ripard        * snps,wr_osr_lmt, max write outstanding req. limit
1547db3545aSMaxime Ripard        * snps,rd_osr_lmt, max read outstanding req. limit
1557db3545aSMaxime Ripard        * snps,kbbe, do not cross 1KiB boundary.
1567db3545aSMaxime Ripard        * snps,blen, this is a vector of supported burst length.
1577db3545aSMaxime Ripard        * snps,fb, fixed-burst
1587db3545aSMaxime Ripard        * snps,mb, mixed-burst
1597db3545aSMaxime Ripard        * snps,rb, rebuild INCRx Burst
1607db3545aSMaxime Ripard
1617db3545aSMaxime Ripard  snps,mtl-rx-config:
162d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
1637db3545aSMaxime Ripard    description:
1647db3545aSMaxime Ripard      Multiple RX Queues parameters. Phandle to a node that can
1657db3545aSMaxime Ripard      contain the following properties
1667db3545aSMaxime Ripard        * snps,rx-queues-to-use, number of RX queues to be used in the
1677db3545aSMaxime Ripard          driver
1687db3545aSMaxime Ripard        * Choose one of these RX scheduling algorithms
1697db3545aSMaxime Ripard          * snps,rx-sched-sp, Strict priority
1707db3545aSMaxime Ripard          * snps,rx-sched-wsp, Weighted Strict priority
1717db3545aSMaxime Ripard        * For each RX queue
1727db3545aSMaxime Ripard          * Choose one of these modes
1737db3545aSMaxime Ripard            * snps,dcb-algorithm, Queue to be enabled as DCB
1747db3545aSMaxime Ripard            * snps,avb-algorithm, Queue to be enabled as AVB
1757db3545aSMaxime Ripard          * snps,map-to-dma-channel, Channel to map
1767db3545aSMaxime Ripard          * Specifiy specific packet routing
1777db3545aSMaxime Ripard            * snps,route-avcp, AV Untagged Control packets
1787db3545aSMaxime Ripard            * snps,route-ptp, PTP Packets
1797db3545aSMaxime Ripard            * snps,route-dcbcp, DCB Control Packets
1807db3545aSMaxime Ripard            * snps,route-up, Untagged Packets
1817db3545aSMaxime Ripard            * snps,route-multi-broad, Multicast & Broadcast Packets
18293828834SSeb Laveze          * snps,priority, bitmask of the tagged frames priorities assigned to
18393828834SSeb Laveze            the queue
1847db3545aSMaxime Ripard
1857db3545aSMaxime Ripard  snps,mtl-tx-config:
186d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
1877db3545aSMaxime Ripard    description:
1887db3545aSMaxime Ripard      Multiple TX Queues parameters. Phandle to a node that can
1897db3545aSMaxime Ripard      contain the following properties
1907db3545aSMaxime Ripard        * snps,tx-queues-to-use, number of TX queues to be used in the
1917db3545aSMaxime Ripard          driver
1927db3545aSMaxime Ripard        * Choose one of these TX scheduling algorithms
1937db3545aSMaxime Ripard          * snps,tx-sched-wrr, Weighted Round Robin
1947db3545aSMaxime Ripard          * snps,tx-sched-wfq, Weighted Fair Queuing
1957db3545aSMaxime Ripard          * snps,tx-sched-dwrr, Deficit Weighted Round Robin
1967db3545aSMaxime Ripard          * snps,tx-sched-sp, Strict priority
1977db3545aSMaxime Ripard        * For each TX queue
1987db3545aSMaxime Ripard          * snps,weight, TX queue weight (if using a DCB weight
1997db3545aSMaxime Ripard            algorithm)
2007db3545aSMaxime Ripard          * Choose one of these modes
2017db3545aSMaxime Ripard            * snps,dcb-algorithm, TX queue will be working in DCB
2027db3545aSMaxime Ripard            * snps,avb-algorithm, TX queue will be working in AVB
2037db3545aSMaxime Ripard              [Attention] Queue 0 is reserved for legacy traffic
2047db3545aSMaxime Ripard                          and so no AVB is available in this queue.
2057db3545aSMaxime Ripard          * Configure Credit Base Shaper (if AVB Mode selected)
2067db3545aSMaxime Ripard            * snps,send_slope, enable Low Power Interface
2077db3545aSMaxime Ripard            * snps,idle_slope, unlock on WoL
2087db3545aSMaxime Ripard            * snps,high_credit, max write outstanding req. limit
2097db3545aSMaxime Ripard            * snps,low_credit, max read outstanding req. limit
21093828834SSeb Laveze          * snps,priority, bitmask of the priorities assigned to the queue.
21193828834SSeb Laveze            When a PFC frame is received with priorities matching the bitmask,
21293828834SSeb Laveze            the queue is blocked from transmitting for the pause time specified
21393828834SSeb Laveze            in the PFC frame.
2147db3545aSMaxime Ripard
2157db3545aSMaxime Ripard  snps,reset-gpio:
216f80b1dfcSMaxime Ripard    deprecated: true
2177db3545aSMaxime Ripard    maxItems: 1
2187db3545aSMaxime Ripard    description:
2197db3545aSMaxime Ripard      PHY Reset GPIO
2207db3545aSMaxime Ripard
2217db3545aSMaxime Ripard  snps,reset-active-low:
222f80b1dfcSMaxime Ripard    deprecated: true
223d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2247db3545aSMaxime Ripard    description:
2257db3545aSMaxime Ripard      Indicates that the PHY Reset is active low
2267db3545aSMaxime Ripard
2277db3545aSMaxime Ripard  snps,reset-delays-us:
228f80b1dfcSMaxime Ripard    deprecated: true
2297db3545aSMaxime Ripard    description:
2307db3545aSMaxime Ripard      Triplet of delays. The 1st cell is reset pre-delay in micro
2317db3545aSMaxime Ripard      seconds. The 2nd cell is reset pulse in micro seconds. The 3rd
2327db3545aSMaxime Ripard      cell is reset post-delay in micro seconds.
2333d21a460SRob Herring    minItems: 3
2343d21a460SRob Herring    maxItems: 3
2357db3545aSMaxime Ripard
2367db3545aSMaxime Ripard  snps,aal:
237d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2387db3545aSMaxime Ripard    description:
2397db3545aSMaxime Ripard      Use Address-Aligned Beats
2407db3545aSMaxime Ripard
2417db3545aSMaxime Ripard  snps,fixed-burst:
242d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2437db3545aSMaxime Ripard    description:
2447db3545aSMaxime Ripard      Program the DMA to use the fixed burst mode
2457db3545aSMaxime Ripard
2467db3545aSMaxime Ripard  snps,mixed-burst:
247d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2487db3545aSMaxime Ripard    description:
2497db3545aSMaxime Ripard      Program the DMA to use the mixed burst mode
2507db3545aSMaxime Ripard
2517db3545aSMaxime Ripard  snps,force_thresh_dma_mode:
252d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2537db3545aSMaxime Ripard    description:
2547db3545aSMaxime Ripard      Force DMA to use the threshold mode for both tx and rx
2557db3545aSMaxime Ripard
2567db3545aSMaxime Ripard  snps,force_sf_dma_mode:
257d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2587db3545aSMaxime Ripard    description:
2597db3545aSMaxime Ripard      Force DMA to use the Store and Forward mode for both tx and
2607db3545aSMaxime Ripard      rx. This flag is ignored if force_thresh_dma_mode is set.
2617db3545aSMaxime Ripard
2627db3545aSMaxime Ripard  snps,en-tx-lpi-clockgating:
263d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2647db3545aSMaxime Ripard    description:
2657db3545aSMaxime Ripard      Enable gating of the MAC TX clock during TX low-power mode
2667db3545aSMaxime Ripard
2677db3545aSMaxime Ripard  snps,multicast-filter-bins:
268d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
2697db3545aSMaxime Ripard    description:
2707db3545aSMaxime Ripard      Number of multicast filter hash bins supported by this device
2717db3545aSMaxime Ripard      instance
2727db3545aSMaxime Ripard
2737db3545aSMaxime Ripard  snps,perfect-filter-entries:
274d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
2757db3545aSMaxime Ripard    description:
2767db3545aSMaxime Ripard      Number of perfect filter entries supported by this device
2777db3545aSMaxime Ripard      instance
2787db3545aSMaxime Ripard
2797db3545aSMaxime Ripard  snps,ps-speed:
280d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
2817db3545aSMaxime Ripard    description:
2827db3545aSMaxime Ripard      Port selection speed that can be passed to the core when PCS
2837db3545aSMaxime Ripard      is supported. For example, this is used in case of SGMII and
2847db3545aSMaxime Ripard      MAC2MAC connection.
2857db3545aSMaxime Ripard
2867db3545aSMaxime Ripard  mdio:
2877db3545aSMaxime Ripard    type: object
2887db3545aSMaxime Ripard    description:
2897db3545aSMaxime Ripard      Creates and registers an MDIO bus.
2907db3545aSMaxime Ripard
2917db3545aSMaxime Ripard    properties:
2927db3545aSMaxime Ripard      compatible:
2937db3545aSMaxime Ripard        const: snps,dwmac-mdio
2947db3545aSMaxime Ripard
2957db3545aSMaxime Ripard    required:
2967db3545aSMaxime Ripard      - compatible
2977db3545aSMaxime Ripard
2987db3545aSMaxime Ripardrequired:
2997db3545aSMaxime Ripard  - compatible
3007db3545aSMaxime Ripard  - reg
3017db3545aSMaxime Ripard  - interrupts
3027db3545aSMaxime Ripard  - interrupt-names
30367d0da99SMaxime Ripard  - phy-mode
3047db3545aSMaxime Ripard
3057db3545aSMaxime Riparddependencies:
3067db3545aSMaxime Ripard  snps,reset-active-low: ["snps,reset-gpio"]
3077db3545aSMaxime Ripard  snps,reset-delay-us: ["snps,reset-gpio"]
3087db3545aSMaxime Ripard
3097db3545aSMaxime RipardallOf:
3107db3545aSMaxime Ripard  - $ref: "ethernet-controller.yaml#"
3117db3545aSMaxime Ripard  - if:
3127db3545aSMaxime Ripard      properties:
3137db3545aSMaxime Ripard        compatible:
3147db3545aSMaxime Ripard          contains:
3157db3545aSMaxime Ripard            enum:
3164b859450SMaxime Ripard              - allwinner,sun7i-a20-gmac
3170569929dSMaxime Ripard              - allwinner,sun8i-a83t-emac
3180569929dSMaxime Ripard              - allwinner,sun8i-h3-emac
319*b33be51cSMaxime Ripard              - allwinner,sun8i-r40-gmac
3200569929dSMaxime Ripard              - allwinner,sun8i-v3s-emac
3210569929dSMaxime Ripard              - allwinner,sun50i-a64-emac
3223b840106S周琰杰 (Zhou Yanjie)              - ingenic,jz4775-mac
3233b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1000-mac
3243b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1600-mac
3253b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1830-mac
3263b840106S周琰杰 (Zhou Yanjie)              - ingenic,x2000-mac
3277db3545aSMaxime Ripard              - snps,dwxgmac
3287db3545aSMaxime Ripard              - snps,dwxgmac-2.10
3297db3545aSMaxime Ripard              - st,spear600-gmac
3307db3545aSMaxime Ripard
3317db3545aSMaxime Ripard    then:
3327db3545aSMaxime Ripard      properties:
3337db3545aSMaxime Ripard        snps,pbl:
3347db3545aSMaxime Ripard          description:
3357db3545aSMaxime Ripard            Programmable Burst Length (tx and rx)
336d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/uint32
3373d21a460SRob Herring          enum: [2, 4, 8]
3387db3545aSMaxime Ripard
3397db3545aSMaxime Ripard        snps,txpbl:
3407db3545aSMaxime Ripard          description:
3417db3545aSMaxime Ripard            Tx Programmable Burst Length. If set, DMA tx will use this
3427db3545aSMaxime Ripard            value rather than snps,pbl.
343d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/uint32
3443d21a460SRob Herring          enum: [2, 4, 8]
3457db3545aSMaxime Ripard
3467db3545aSMaxime Ripard        snps,rxpbl:
3477db3545aSMaxime Ripard          description:
3487db3545aSMaxime Ripard            Rx Programmable Burst Length. If set, DMA rx will use this
3497db3545aSMaxime Ripard            value rather than snps,pbl.
350d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/uint32
3513d21a460SRob Herring          enum: [2, 4, 8]
3527db3545aSMaxime Ripard
3537db3545aSMaxime Ripard        snps,no-pbl-x8:
354d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/flag
3557db3545aSMaxime Ripard          description:
3567db3545aSMaxime Ripard            Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core
3577db3545aSMaxime Ripard            rev < 3.50, don\'t multiply the values by 4.
3587db3545aSMaxime Ripard
3597db3545aSMaxime Ripard  - if:
3607db3545aSMaxime Ripard      properties:
3617db3545aSMaxime Ripard        compatible:
3627db3545aSMaxime Ripard          contains:
3637db3545aSMaxime Ripard            enum:
3644b859450SMaxime Ripard              - allwinner,sun7i-a20-gmac
3650569929dSMaxime Ripard              - allwinner,sun8i-a83t-emac
3660569929dSMaxime Ripard              - allwinner,sun8i-h3-emac
367*b33be51cSMaxime Ripard              - allwinner,sun8i-r40-gmac
3680569929dSMaxime Ripard              - allwinner,sun8i-v3s-emac
3690569929dSMaxime Ripard              - allwinner,sun50i-a64-emac
37068277749SQing Zhang              - loongson,ls2k-dwmac
37168277749SQing Zhang              - loongson,ls7a-dwmac
3723b840106S周琰杰 (Zhou Yanjie)              - ingenic,jz4775-mac
3733b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1000-mac
3743b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1600-mac
3753b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1830-mac
3763b840106S周琰杰 (Zhou Yanjie)              - ingenic,x2000-mac
3777db3545aSMaxime Ripard              - snps,dwmac-4.00
3787db3545aSMaxime Ripard              - snps,dwmac-4.10a
379f2253143SChristophe Roullier              - snps,dwmac-4.20a
380bdad810eSJoakim Zhang              - snps,dwmac-5.10a
3817db3545aSMaxime Ripard              - snps,dwxgmac
3827db3545aSMaxime Ripard              - snps,dwxgmac-2.10
3837db3545aSMaxime Ripard              - st,spear600-gmac
3847db3545aSMaxime Ripard
3857db3545aSMaxime Ripard    then:
386dbce0b65SRob Herring      properties:
3877db3545aSMaxime Ripard        snps,tso:
388d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/flag
3897db3545aSMaxime Ripard          description:
3907db3545aSMaxime Ripard            Enables the TSO feature otherwise it will be managed by
3917db3545aSMaxime Ripard            MAC HW capability register.
3927db3545aSMaxime Ripard
3936a0e321eSRob HerringadditionalProperties: true
3946a0e321eSRob Herring
3957db3545aSMaxime Ripardexamples:
3967db3545aSMaxime Ripard  - |
3977db3545aSMaxime Ripard    stmmac_axi_setup: stmmac-axi-config {
3987db3545aSMaxime Ripard        snps,wr_osr_lmt = <0xf>;
3997db3545aSMaxime Ripard        snps,rd_osr_lmt = <0xf>;
4007db3545aSMaxime Ripard        snps,blen = <256 128 64 32 0 0 0>;
4017db3545aSMaxime Ripard    };
4027db3545aSMaxime Ripard
4037db3545aSMaxime Ripard    mtl_rx_setup: rx-queues-config {
4047db3545aSMaxime Ripard        snps,rx-queues-to-use = <1>;
4057db3545aSMaxime Ripard        snps,rx-sched-sp;
4067db3545aSMaxime Ripard        queue0 {
4077db3545aSMaxime Ripard            snps,dcb-algorithm;
4087db3545aSMaxime Ripard            snps,map-to-dma-channel = <0x0>;
4097db3545aSMaxime Ripard            snps,priority = <0x0>;
4107db3545aSMaxime Ripard        };
4117db3545aSMaxime Ripard    };
4127db3545aSMaxime Ripard
4137db3545aSMaxime Ripard    mtl_tx_setup: tx-queues-config {
4147db3545aSMaxime Ripard        snps,tx-queues-to-use = <2>;
4157db3545aSMaxime Ripard        snps,tx-sched-wrr;
4167db3545aSMaxime Ripard        queue0 {
4177db3545aSMaxime Ripard            snps,weight = <0x10>;
4187db3545aSMaxime Ripard            snps,dcb-algorithm;
4197db3545aSMaxime Ripard            snps,priority = <0x0>;
4207db3545aSMaxime Ripard        };
4217db3545aSMaxime Ripard
4227db3545aSMaxime Ripard        queue1 {
4237db3545aSMaxime Ripard            snps,avb-algorithm;
4247db3545aSMaxime Ripard            snps,send_slope = <0x1000>;
4257db3545aSMaxime Ripard            snps,idle_slope = <0x1000>;
4267db3545aSMaxime Ripard            snps,high_credit = <0x3E800>;
4277db3545aSMaxime Ripard            snps,low_credit = <0xFFC18000>;
4287db3545aSMaxime Ripard            snps,priority = <0x1>;
4297db3545aSMaxime Ripard        };
4307db3545aSMaxime Ripard    };
4317db3545aSMaxime Ripard
4327db3545aSMaxime Ripard    gmac0: ethernet@e0800000 {
4337db3545aSMaxime Ripard        compatible = "snps,dwxgmac-2.10", "snps,dwxgmac";
4347db3545aSMaxime Ripard        reg = <0xe0800000 0x8000>;
4357db3545aSMaxime Ripard        interrupt-parent = <&vic1>;
4367db3545aSMaxime Ripard        interrupts = <24 23 22>;
4377db3545aSMaxime Ripard        interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
4387db3545aSMaxime Ripard        mac-address = [000000000000]; /* Filled in by U-Boot */
4397db3545aSMaxime Ripard        max-frame-size = <3800>;
44067d0da99SMaxime Ripard        phy-mode = "gmii";
4417db3545aSMaxime Ripard        snps,multicast-filter-bins = <256>;
4427db3545aSMaxime Ripard        snps,perfect-filter-entries = <128>;
4437db3545aSMaxime Ripard        rx-fifo-depth = <16384>;
4447db3545aSMaxime Ripard        tx-fifo-depth = <16384>;
4457db3545aSMaxime Ripard        clocks = <&clock>;
4467db3545aSMaxime Ripard        clock-names = "stmmaceth";
4477db3545aSMaxime Ripard        snps,axi-config = <&stmmac_axi_setup>;
4487db3545aSMaxime Ripard        snps,mtl-rx-config = <&mtl_rx_setup>;
4497db3545aSMaxime Ripard        snps,mtl-tx-config = <&mtl_tx_setup>;
4507db3545aSMaxime Ripard        mdio0 {
4517db3545aSMaxime Ripard            #address-cells = <1>;
4527db3545aSMaxime Ripard            #size-cells = <0>;
4537db3545aSMaxime Ripard            compatible = "snps,dwmac-mdio";
4547db3545aSMaxime Ripard            phy1: ethernet-phy@0 {
4557db3545aSMaxime Ripard                reg = <0>;
4567db3545aSMaxime Ripard            };
4577db3545aSMaxime Ripard        };
4587db3545aSMaxime Ripard    };
4597db3545aSMaxime Ripard
4607db3545aSMaxime Ripard# FIXME: We should set it, but it would report all the generic
4617db3545aSMaxime Ripard# properties as additional properties.
4627db3545aSMaxime Ripard# additionalProperties: false
4637db3545aSMaxime Ripard
4647db3545aSMaxime Ripard...
465