xref: /linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml (revision f4eedebdbfbf42471d2d4a5364b0b92b4c15bf1d)
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:
10*f4eedebdSPatrice Chotard  - Alexandre Torgue <alexandre.torgue@foss.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
243781b6adSHerve Codina          - snps,dwmac-3.40a
257db3545aSMaxime Ripard          - snps,dwmac-3.50a
267db3545aSMaxime Ripard          - snps,dwmac-3.610
277db3545aSMaxime Ripard          - snps,dwmac-3.70a
287db3545aSMaxime Ripard          - snps,dwmac-3.710
297db3545aSMaxime Ripard          - snps,dwmac-4.00
307db3545aSMaxime Ripard          - snps,dwmac-4.10a
31f2253143SChristophe Roullier          - snps,dwmac-4.20a
32bdad810eSJoakim Zhang          - snps,dwmac-5.10a
337db3545aSMaxime Ripard          - snps,dwxgmac
347db3545aSMaxime Ripard          - snps,dwxgmac-2.10
357db3545aSMaxime Ripard
367db3545aSMaxime Ripard          # Deprecated
377db3545aSMaxime Ripard          - st,spear600-gmac
387db3545aSMaxime Ripard
397db3545aSMaxime Ripard  required:
407db3545aSMaxime Ripard    - compatible
417db3545aSMaxime Ripard
427db3545aSMaxime Ripardproperties:
437db3545aSMaxime Ripard
447db3545aSMaxime Ripard  # We need to include all the compatibles from schemas that will
457db3545aSMaxime Ripard  # include that schemas, otherwise compatible won't validate for
467db3545aSMaxime Ripard  # those.
477db3545aSMaxime Ripard  compatible:
487db3545aSMaxime Ripard    contains:
497db3545aSMaxime Ripard      enum:
504b859450SMaxime Ripard        - allwinner,sun7i-a20-gmac
510569929dSMaxime Ripard        - allwinner,sun8i-a83t-emac
520569929dSMaxime Ripard        - allwinner,sun8i-h3-emac
53b33be51cSMaxime Ripard        - allwinner,sun8i-r40-gmac
540569929dSMaxime Ripard        - allwinner,sun8i-v3s-emac
550569929dSMaxime Ripard        - allwinner,sun50i-a64-emac
5668277749SQing Zhang        - loongson,ls2k-dwmac
5768277749SQing Zhang        - loongson,ls7a-dwmac
58d5a57e4eSNeil Armstrong        - amlogic,meson6-dwmac
59d5a57e4eSNeil Armstrong        - amlogic,meson8b-dwmac
60d5a57e4eSNeil Armstrong        - amlogic,meson8m2-dwmac
61d5a57e4eSNeil Armstrong        - amlogic,meson-gxbb-dwmac
62d5a57e4eSNeil Armstrong        - amlogic,meson-axg-dwmac
6368277749SQing Zhang        - loongson,ls2k-dwmac
6468277749SQing Zhang        - loongson,ls7a-dwmac
653b840106S周琰杰 (Zhou Yanjie)        - ingenic,jz4775-mac
663b840106S周琰杰 (Zhou Yanjie)        - ingenic,x1000-mac
673b840106S周琰杰 (Zhou Yanjie)        - ingenic,x1600-mac
683b840106S周琰杰 (Zhou Yanjie)        - ingenic,x1830-mac
693b840106S周琰杰 (Zhou Yanjie)        - ingenic,x2000-mac
70517a882aSEzequiel Garcia        - rockchip,px30-gmac
71517a882aSEzequiel Garcia        - rockchip,rk3128-gmac
72517a882aSEzequiel Garcia        - rockchip,rk3228-gmac
73517a882aSEzequiel Garcia        - rockchip,rk3288-gmac
74517a882aSEzequiel Garcia        - rockchip,rk3328-gmac
75517a882aSEzequiel Garcia        - rockchip,rk3366-gmac
76517a882aSEzequiel Garcia        - rockchip,rk3368-gmac
77517a882aSEzequiel Garcia        - rockchip,rk3399-gmac
78517a882aSEzequiel Garcia        - rockchip,rv1108-gmac
797db3545aSMaxime Ripard        - snps,dwmac
803781b6adSHerve Codina        - snps,dwmac-3.40a
817db3545aSMaxime Ripard        - snps,dwmac-3.50a
827db3545aSMaxime Ripard        - snps,dwmac-3.610
837db3545aSMaxime Ripard        - snps,dwmac-3.70a
847db3545aSMaxime Ripard        - snps,dwmac-3.710
857db3545aSMaxime Ripard        - snps,dwmac-4.00
867db3545aSMaxime Ripard        - snps,dwmac-4.10a
87f2253143SChristophe Roullier        - snps,dwmac-4.20a
88bdad810eSJoakim Zhang        - snps,dwmac-5.10a
897db3545aSMaxime Ripard        - snps,dwxgmac
907db3545aSMaxime Ripard        - snps,dwxgmac-2.10
917db3545aSMaxime Ripard
927db3545aSMaxime Ripard  reg:
9357b77df7SNeil Armstrong    minItems: 1
9457b77df7SNeil Armstrong    maxItems: 2
957db3545aSMaxime Ripard
967db3545aSMaxime Ripard  interrupts:
977db3545aSMaxime Ripard    minItems: 1
987db3545aSMaxime Ripard    items:
997db3545aSMaxime Ripard      - description: Combined signal for various interrupt events
1007db3545aSMaxime Ripard      - description: The interrupt to manage the remote wake-up packet detection
1017db3545aSMaxime Ripard      - description: The interrupt that occurs when Rx exits the LPI state
1027db3545aSMaxime Ripard
1037db3545aSMaxime Ripard  interrupt-names:
1047db3545aSMaxime Ripard    minItems: 1
1057db3545aSMaxime Ripard    items:
1067db3545aSMaxime Ripard      - const: macirq
1077db3545aSMaxime Ripard      - const: eth_wake_irq
1087db3545aSMaxime Ripard      - const: eth_lpi
1097db3545aSMaxime Ripard
1107db3545aSMaxime Ripard  clocks:
1117db3545aSMaxime Ripard    minItems: 1
112517a882aSEzequiel Garcia    maxItems: 8
113f2253143SChristophe Roullier    additionalItems: true
1147db3545aSMaxime Ripard    items:
1157db3545aSMaxime Ripard      - description: GMAC main clock
1167db3545aSMaxime Ripard      - description: Peripheral registers interface clock
1177db3545aSMaxime Ripard      - description:
1187db3545aSMaxime Ripard          PTP reference clock. This clock is used for programming the
1197db3545aSMaxime Ripard          Timestamp Addend Register. If not passed then the system
1207db3545aSMaxime Ripard          clock will be used and this is fine on some platforms.
1217db3545aSMaxime Ripard
1227db3545aSMaxime Ripard  clock-names:
123f2253143SChristophe Roullier    minItems: 1
124517a882aSEzequiel Garcia    maxItems: 8
1257db3545aSMaxime Ripard    additionalItems: true
1267db3545aSMaxime Ripard    contains:
1277db3545aSMaxime Ripard      enum:
1287db3545aSMaxime Ripard        - stmmaceth
1297db3545aSMaxime Ripard        - pclk
1307db3545aSMaxime Ripard        - ptp_ref
1317db3545aSMaxime Ripard
1327db3545aSMaxime Ripard  resets:
1337db3545aSMaxime Ripard    maxItems: 1
1347db3545aSMaxime Ripard    description:
1357db3545aSMaxime Ripard      MAC Reset signal.
1367db3545aSMaxime Ripard
1377db3545aSMaxime Ripard  reset-names:
1387db3545aSMaxime Ripard    const: stmmaceth
1397db3545aSMaxime Ripard
1409c15d359SAlexandru Ardelean  mac-mode:
1419e5c8d39SAlexandru Ardelean    $ref: ethernet-controller.yaml#/properties/phy-connection-type
1429c15d359SAlexandru Ardelean    description:
1439c15d359SAlexandru Ardelean      The property is identical to 'phy-mode', and assumes that there is mode
1449c15d359SAlexandru Ardelean      converter in-between the MAC & PHY (e.g. GMII-to-RGMII). This converter
1459c15d359SAlexandru Ardelean      can be passive (no SW requirement), and requires that the MAC operate
1469c15d359SAlexandru Ardelean      in a different mode than the PHY in order to function.
1479c15d359SAlexandru Ardelean
1487db3545aSMaxime Ripard  snps,axi-config:
149d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
1507db3545aSMaxime Ripard    description:
1517db3545aSMaxime Ripard      AXI BUS Mode parameters. Phandle to a node that can contain the
1527db3545aSMaxime Ripard      following properties
1537db3545aSMaxime Ripard        * snps,lpi_en, enable Low Power Interface
1547db3545aSMaxime Ripard        * snps,xit_frm, unlock on WoL
1557db3545aSMaxime Ripard        * snps,wr_osr_lmt, max write outstanding req. limit
1567db3545aSMaxime Ripard        * snps,rd_osr_lmt, max read outstanding req. limit
1577db3545aSMaxime Ripard        * snps,kbbe, do not cross 1KiB boundary.
1587db3545aSMaxime Ripard        * snps,blen, this is a vector of supported burst length.
1597db3545aSMaxime Ripard        * snps,fb, fixed-burst
1607db3545aSMaxime Ripard        * snps,mb, mixed-burst
1617db3545aSMaxime Ripard        * snps,rb, rebuild INCRx Burst
1627db3545aSMaxime Ripard
1637db3545aSMaxime Ripard  snps,mtl-rx-config:
164d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
1657db3545aSMaxime Ripard    description:
1667db3545aSMaxime Ripard      Multiple RX Queues parameters. Phandle to a node that can
1677db3545aSMaxime Ripard      contain the following properties
1687db3545aSMaxime Ripard        * snps,rx-queues-to-use, number of RX queues to be used in the
1697db3545aSMaxime Ripard          driver
1707db3545aSMaxime Ripard        * Choose one of these RX scheduling algorithms
1717db3545aSMaxime Ripard          * snps,rx-sched-sp, Strict priority
1727db3545aSMaxime Ripard          * snps,rx-sched-wsp, Weighted Strict priority
1737db3545aSMaxime Ripard        * For each RX queue
1747db3545aSMaxime Ripard          * Choose one of these modes
1757db3545aSMaxime Ripard            * snps,dcb-algorithm, Queue to be enabled as DCB
1767db3545aSMaxime Ripard            * snps,avb-algorithm, Queue to be enabled as AVB
1777db3545aSMaxime Ripard          * snps,map-to-dma-channel, Channel to map
1787db3545aSMaxime Ripard          * Specifiy specific packet routing
1797db3545aSMaxime Ripard            * snps,route-avcp, AV Untagged Control packets
1807db3545aSMaxime Ripard            * snps,route-ptp, PTP Packets
1817db3545aSMaxime Ripard            * snps,route-dcbcp, DCB Control Packets
1827db3545aSMaxime Ripard            * snps,route-up, Untagged Packets
1837db3545aSMaxime Ripard            * snps,route-multi-broad, Multicast & Broadcast Packets
18493828834SSeb Laveze          * snps,priority, bitmask of the tagged frames priorities assigned to
18593828834SSeb Laveze            the queue
1867db3545aSMaxime Ripard
1877db3545aSMaxime Ripard  snps,mtl-tx-config:
188d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
1897db3545aSMaxime Ripard    description:
1907db3545aSMaxime Ripard      Multiple TX Queues parameters. Phandle to a node that can
1917db3545aSMaxime Ripard      contain the following properties
1927db3545aSMaxime Ripard        * snps,tx-queues-to-use, number of TX queues to be used in the
1937db3545aSMaxime Ripard          driver
1947db3545aSMaxime Ripard        * Choose one of these TX scheduling algorithms
1957db3545aSMaxime Ripard          * snps,tx-sched-wrr, Weighted Round Robin
1967db3545aSMaxime Ripard          * snps,tx-sched-wfq, Weighted Fair Queuing
1977db3545aSMaxime Ripard          * snps,tx-sched-dwrr, Deficit Weighted Round Robin
1987db3545aSMaxime Ripard          * snps,tx-sched-sp, Strict priority
1997db3545aSMaxime Ripard        * For each TX queue
2007db3545aSMaxime Ripard          * snps,weight, TX queue weight (if using a DCB weight
2017db3545aSMaxime Ripard            algorithm)
2027db3545aSMaxime Ripard          * Choose one of these modes
2037db3545aSMaxime Ripard            * snps,dcb-algorithm, TX queue will be working in DCB
2047db3545aSMaxime Ripard            * snps,avb-algorithm, TX queue will be working in AVB
2057db3545aSMaxime Ripard              [Attention] Queue 0 is reserved for legacy traffic
2067db3545aSMaxime Ripard                          and so no AVB is available in this queue.
2077db3545aSMaxime Ripard          * Configure Credit Base Shaper (if AVB Mode selected)
2087db3545aSMaxime Ripard            * snps,send_slope, enable Low Power Interface
2097db3545aSMaxime Ripard            * snps,idle_slope, unlock on WoL
2107db3545aSMaxime Ripard            * snps,high_credit, max write outstanding req. limit
2117db3545aSMaxime Ripard            * snps,low_credit, max read outstanding req. limit
21293828834SSeb Laveze          * snps,priority, bitmask of the priorities assigned to the queue.
21393828834SSeb Laveze            When a PFC frame is received with priorities matching the bitmask,
21493828834SSeb Laveze            the queue is blocked from transmitting for the pause time specified
21593828834SSeb Laveze            in the PFC frame.
2167db3545aSMaxime Ripard
2177db3545aSMaxime Ripard  snps,reset-gpio:
218f80b1dfcSMaxime Ripard    deprecated: true
2197db3545aSMaxime Ripard    maxItems: 1
2207db3545aSMaxime Ripard    description:
2217db3545aSMaxime Ripard      PHY Reset GPIO
2227db3545aSMaxime Ripard
2237db3545aSMaxime Ripard  snps,reset-active-low:
224f80b1dfcSMaxime Ripard    deprecated: true
225d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2267db3545aSMaxime Ripard    description:
2277db3545aSMaxime Ripard      Indicates that the PHY Reset is active low
2287db3545aSMaxime Ripard
2297db3545aSMaxime Ripard  snps,reset-delays-us:
230f80b1dfcSMaxime Ripard    deprecated: true
2317db3545aSMaxime Ripard    description:
2327db3545aSMaxime Ripard      Triplet of delays. The 1st cell is reset pre-delay in micro
2337db3545aSMaxime Ripard      seconds. The 2nd cell is reset pulse in micro seconds. The 3rd
2347db3545aSMaxime Ripard      cell is reset post-delay in micro seconds.
2353d21a460SRob Herring    minItems: 3
2363d21a460SRob Herring    maxItems: 3
2377db3545aSMaxime Ripard
2387db3545aSMaxime Ripard  snps,aal:
239d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2407db3545aSMaxime Ripard    description:
2417db3545aSMaxime Ripard      Use Address-Aligned Beats
2427db3545aSMaxime Ripard
2437db3545aSMaxime Ripard  snps,fixed-burst:
244d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2457db3545aSMaxime Ripard    description:
2467db3545aSMaxime Ripard      Program the DMA to use the fixed burst mode
2477db3545aSMaxime Ripard
2487db3545aSMaxime Ripard  snps,mixed-burst:
249d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2507db3545aSMaxime Ripard    description:
2517db3545aSMaxime Ripard      Program the DMA to use the mixed burst mode
2527db3545aSMaxime Ripard
2537db3545aSMaxime Ripard  snps,force_thresh_dma_mode:
254d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2557db3545aSMaxime Ripard    description:
2567db3545aSMaxime Ripard      Force DMA to use the threshold mode for both tx and rx
2577db3545aSMaxime Ripard
2587db3545aSMaxime Ripard  snps,force_sf_dma_mode:
259d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2607db3545aSMaxime Ripard    description:
2617db3545aSMaxime Ripard      Force DMA to use the Store and Forward mode for both tx and
2627db3545aSMaxime Ripard      rx. This flag is ignored if force_thresh_dma_mode is set.
2637db3545aSMaxime Ripard
2647db3545aSMaxime Ripard  snps,en-tx-lpi-clockgating:
265d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/flag
2667db3545aSMaxime Ripard    description:
2677db3545aSMaxime Ripard      Enable gating of the MAC TX clock during TX low-power mode
2687db3545aSMaxime Ripard
2697db3545aSMaxime Ripard  snps,multicast-filter-bins:
270d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
2717db3545aSMaxime Ripard    description:
2727db3545aSMaxime Ripard      Number of multicast filter hash bins supported by this device
2737db3545aSMaxime Ripard      instance
2747db3545aSMaxime Ripard
2757db3545aSMaxime Ripard  snps,perfect-filter-entries:
276d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
2777db3545aSMaxime Ripard    description:
2787db3545aSMaxime Ripard      Number of perfect filter entries supported by this device
2797db3545aSMaxime Ripard      instance
2807db3545aSMaxime Ripard
2817db3545aSMaxime Ripard  snps,ps-speed:
282d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
2837db3545aSMaxime Ripard    description:
2847db3545aSMaxime Ripard      Port selection speed that can be passed to the core when PCS
2857db3545aSMaxime Ripard      is supported. For example, this is used in case of SGMII and
2867db3545aSMaxime Ripard      MAC2MAC connection.
2877db3545aSMaxime Ripard
2887db3545aSMaxime Ripard  mdio:
2897db3545aSMaxime Ripard    type: object
2907db3545aSMaxime Ripard    description:
2917db3545aSMaxime Ripard      Creates and registers an MDIO bus.
2927db3545aSMaxime Ripard
2937db3545aSMaxime Ripard    properties:
2947db3545aSMaxime Ripard      compatible:
2957db3545aSMaxime Ripard        const: snps,dwmac-mdio
2967db3545aSMaxime Ripard
2977db3545aSMaxime Ripard    required:
2987db3545aSMaxime Ripard      - compatible
2997db3545aSMaxime Ripard
3007db3545aSMaxime Ripardrequired:
3017db3545aSMaxime Ripard  - compatible
3027db3545aSMaxime Ripard  - reg
3037db3545aSMaxime Ripard  - interrupts
3047db3545aSMaxime Ripard  - interrupt-names
30567d0da99SMaxime Ripard  - phy-mode
3067db3545aSMaxime Ripard
3077db3545aSMaxime Riparddependencies:
3087db3545aSMaxime Ripard  snps,reset-active-low: ["snps,reset-gpio"]
3097db3545aSMaxime Ripard  snps,reset-delay-us: ["snps,reset-gpio"]
3107db3545aSMaxime Ripard
3117db3545aSMaxime RipardallOf:
3127db3545aSMaxime Ripard  - $ref: "ethernet-controller.yaml#"
3137db3545aSMaxime Ripard  - if:
3147db3545aSMaxime Ripard      properties:
3157db3545aSMaxime Ripard        compatible:
3167db3545aSMaxime Ripard          contains:
3177db3545aSMaxime Ripard            enum:
3184b859450SMaxime Ripard              - allwinner,sun7i-a20-gmac
3190569929dSMaxime Ripard              - allwinner,sun8i-a83t-emac
3200569929dSMaxime Ripard              - allwinner,sun8i-h3-emac
321b33be51cSMaxime Ripard              - allwinner,sun8i-r40-gmac
3220569929dSMaxime Ripard              - allwinner,sun8i-v3s-emac
3230569929dSMaxime Ripard              - allwinner,sun50i-a64-emac
3243b840106S周琰杰 (Zhou Yanjie)              - ingenic,jz4775-mac
3253b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1000-mac
3263b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1600-mac
3273b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1830-mac
3283b840106S周琰杰 (Zhou Yanjie)              - ingenic,x2000-mac
3297db3545aSMaxime Ripard              - snps,dwxgmac
3307db3545aSMaxime Ripard              - snps,dwxgmac-2.10
3317db3545aSMaxime Ripard              - st,spear600-gmac
3327db3545aSMaxime Ripard
3337db3545aSMaxime Ripard    then:
3347db3545aSMaxime Ripard      properties:
3357db3545aSMaxime Ripard        snps,pbl:
3367db3545aSMaxime Ripard          description:
3377db3545aSMaxime Ripard            Programmable Burst Length (tx and rx)
338d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/uint32
3393d21a460SRob Herring          enum: [2, 4, 8]
3407db3545aSMaxime Ripard
3417db3545aSMaxime Ripard        snps,txpbl:
3427db3545aSMaxime Ripard          description:
3437db3545aSMaxime Ripard            Tx Programmable Burst Length. If set, DMA tx will use this
3447db3545aSMaxime Ripard            value rather than snps,pbl.
345d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/uint32
3463d21a460SRob Herring          enum: [2, 4, 8]
3477db3545aSMaxime Ripard
3487db3545aSMaxime Ripard        snps,rxpbl:
3497db3545aSMaxime Ripard          description:
3507db3545aSMaxime Ripard            Rx Programmable Burst Length. If set, DMA rx will use this
3517db3545aSMaxime Ripard            value rather than snps,pbl.
352d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/uint32
3533d21a460SRob Herring          enum: [2, 4, 8]
3547db3545aSMaxime Ripard
3557db3545aSMaxime Ripard        snps,no-pbl-x8:
356d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/flag
3577db3545aSMaxime Ripard          description:
3587db3545aSMaxime Ripard            Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core
3597db3545aSMaxime Ripard            rev < 3.50, don\'t multiply the values by 4.
3607db3545aSMaxime Ripard
3617db3545aSMaxime Ripard  - if:
3627db3545aSMaxime Ripard      properties:
3637db3545aSMaxime Ripard        compatible:
3647db3545aSMaxime Ripard          contains:
3657db3545aSMaxime Ripard            enum:
3664b859450SMaxime Ripard              - allwinner,sun7i-a20-gmac
3670569929dSMaxime Ripard              - allwinner,sun8i-a83t-emac
3680569929dSMaxime Ripard              - allwinner,sun8i-h3-emac
369b33be51cSMaxime Ripard              - allwinner,sun8i-r40-gmac
3700569929dSMaxime Ripard              - allwinner,sun8i-v3s-emac
3710569929dSMaxime Ripard              - allwinner,sun50i-a64-emac
37268277749SQing Zhang              - loongson,ls2k-dwmac
37368277749SQing Zhang              - loongson,ls7a-dwmac
3743b840106S周琰杰 (Zhou Yanjie)              - ingenic,jz4775-mac
3753b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1000-mac
3763b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1600-mac
3773b840106S周琰杰 (Zhou Yanjie)              - ingenic,x1830-mac
3783b840106S周琰杰 (Zhou Yanjie)              - ingenic,x2000-mac
3797db3545aSMaxime Ripard              - snps,dwmac-4.00
3807db3545aSMaxime Ripard              - snps,dwmac-4.10a
381f2253143SChristophe Roullier              - snps,dwmac-4.20a
382bdad810eSJoakim Zhang              - snps,dwmac-5.10a
3837db3545aSMaxime Ripard              - snps,dwxgmac
3847db3545aSMaxime Ripard              - snps,dwxgmac-2.10
3857db3545aSMaxime Ripard              - st,spear600-gmac
3867db3545aSMaxime Ripard
3877db3545aSMaxime Ripard    then:
388dbce0b65SRob Herring      properties:
3897db3545aSMaxime Ripard        snps,tso:
390d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/flag
3917db3545aSMaxime Ripard          description:
3927db3545aSMaxime Ripard            Enables the TSO feature otherwise it will be managed by
3937db3545aSMaxime Ripard            MAC HW capability register.
3947db3545aSMaxime Ripard
3956a0e321eSRob HerringadditionalProperties: true
3966a0e321eSRob Herring
3977db3545aSMaxime Ripardexamples:
3987db3545aSMaxime Ripard  - |
3997db3545aSMaxime Ripard    stmmac_axi_setup: stmmac-axi-config {
4007db3545aSMaxime Ripard        snps,wr_osr_lmt = <0xf>;
4017db3545aSMaxime Ripard        snps,rd_osr_lmt = <0xf>;
4027db3545aSMaxime Ripard        snps,blen = <256 128 64 32 0 0 0>;
4037db3545aSMaxime Ripard    };
4047db3545aSMaxime Ripard
4057db3545aSMaxime Ripard    mtl_rx_setup: rx-queues-config {
4067db3545aSMaxime Ripard        snps,rx-queues-to-use = <1>;
4077db3545aSMaxime Ripard        snps,rx-sched-sp;
4087db3545aSMaxime Ripard        queue0 {
4097db3545aSMaxime Ripard            snps,dcb-algorithm;
4107db3545aSMaxime Ripard            snps,map-to-dma-channel = <0x0>;
4117db3545aSMaxime Ripard            snps,priority = <0x0>;
4127db3545aSMaxime Ripard        };
4137db3545aSMaxime Ripard    };
4147db3545aSMaxime Ripard
4157db3545aSMaxime Ripard    mtl_tx_setup: tx-queues-config {
4167db3545aSMaxime Ripard        snps,tx-queues-to-use = <2>;
4177db3545aSMaxime Ripard        snps,tx-sched-wrr;
4187db3545aSMaxime Ripard        queue0 {
4197db3545aSMaxime Ripard            snps,weight = <0x10>;
4207db3545aSMaxime Ripard            snps,dcb-algorithm;
4217db3545aSMaxime Ripard            snps,priority = <0x0>;
4227db3545aSMaxime Ripard        };
4237db3545aSMaxime Ripard
4247db3545aSMaxime Ripard        queue1 {
4257db3545aSMaxime Ripard            snps,avb-algorithm;
4267db3545aSMaxime Ripard            snps,send_slope = <0x1000>;
4277db3545aSMaxime Ripard            snps,idle_slope = <0x1000>;
4287db3545aSMaxime Ripard            snps,high_credit = <0x3E800>;
4297db3545aSMaxime Ripard            snps,low_credit = <0xFFC18000>;
4307db3545aSMaxime Ripard            snps,priority = <0x1>;
4317db3545aSMaxime Ripard        };
4327db3545aSMaxime Ripard    };
4337db3545aSMaxime Ripard
4347db3545aSMaxime Ripard    gmac0: ethernet@e0800000 {
4357db3545aSMaxime Ripard        compatible = "snps,dwxgmac-2.10", "snps,dwxgmac";
4367db3545aSMaxime Ripard        reg = <0xe0800000 0x8000>;
4377db3545aSMaxime Ripard        interrupt-parent = <&vic1>;
4387db3545aSMaxime Ripard        interrupts = <24 23 22>;
4397db3545aSMaxime Ripard        interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
4407db3545aSMaxime Ripard        mac-address = [000000000000]; /* Filled in by U-Boot */
4417db3545aSMaxime Ripard        max-frame-size = <3800>;
44267d0da99SMaxime Ripard        phy-mode = "gmii";
4437db3545aSMaxime Ripard        snps,multicast-filter-bins = <256>;
4447db3545aSMaxime Ripard        snps,perfect-filter-entries = <128>;
4457db3545aSMaxime Ripard        rx-fifo-depth = <16384>;
4467db3545aSMaxime Ripard        tx-fifo-depth = <16384>;
4477db3545aSMaxime Ripard        clocks = <&clock>;
4487db3545aSMaxime Ripard        clock-names = "stmmaceth";
4497db3545aSMaxime Ripard        snps,axi-config = <&stmmac_axi_setup>;
4507db3545aSMaxime Ripard        snps,mtl-rx-config = <&mtl_rx_setup>;
4517db3545aSMaxime Ripard        snps,mtl-tx-config = <&mtl_tx_setup>;
4527db3545aSMaxime Ripard        mdio0 {
4537db3545aSMaxime Ripard            #address-cells = <1>;
4547db3545aSMaxime Ripard            #size-cells = <0>;
4557db3545aSMaxime Ripard            compatible = "snps,dwmac-mdio";
4567db3545aSMaxime Ripard            phy1: ethernet-phy@0 {
4577db3545aSMaxime Ripard                reg = <0>;
4587db3545aSMaxime Ripard            };
4597db3545aSMaxime Ripard        };
4607db3545aSMaxime Ripard    };
4617db3545aSMaxime Ripard
4627db3545aSMaxime Ripard# FIXME: We should set it, but it would report all the generic
4637db3545aSMaxime Ripard# properties as additional properties.
4647db3545aSMaxime Ripard# additionalProperties: false
4657db3545aSMaxime Ripard
4667db3545aSMaxime Ripard...
467