xref: /freebsd/sys/contrib/device-tree/Bindings/net/nxp,dwmac-imx.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/nxp,dwmac-imx.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: NXP i.MX8/9 DWMAC glue layer
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Clark Wang <xiaoning.wang@nxp.com>
118bab661aSEmmanuel Vadot  - Shawn Guo <shawnguo@kernel.org>
128bab661aSEmmanuel Vadot  - NXP Linux Team <linux-imx@nxp.com>
135956d97fSEmmanuel Vadot
145956d97fSEmmanuel Vadot# We need a select here so we don't match all nodes with 'snps,dwmac'
155956d97fSEmmanuel Vadotselect:
165956d97fSEmmanuel Vadot  properties:
175956d97fSEmmanuel Vadot    compatible:
185956d97fSEmmanuel Vadot      contains:
195956d97fSEmmanuel Vadot        enum:
205956d97fSEmmanuel Vadot          - nxp,imx8mp-dwmac-eqos
215956d97fSEmmanuel Vadot          - nxp,imx8dxl-dwmac-eqos
22cb7aa33aSEmmanuel Vadot          - nxp,imx93-dwmac-eqos
235956d97fSEmmanuel Vadot  required:
245956d97fSEmmanuel Vadot    - compatible
255956d97fSEmmanuel Vadot
265956d97fSEmmanuel VadotallOf:
27f126890aSEmmanuel Vadot  - $ref: snps,dwmac.yaml#
285956d97fSEmmanuel Vadot
295956d97fSEmmanuel Vadotproperties:
305956d97fSEmmanuel Vadot  compatible:
315956d97fSEmmanuel Vadot    oneOf:
325956d97fSEmmanuel Vadot      - items:
335956d97fSEmmanuel Vadot          - enum:
345956d97fSEmmanuel Vadot              - nxp,imx8mp-dwmac-eqos
355956d97fSEmmanuel Vadot              - nxp,imx8dxl-dwmac-eqos
36cb7aa33aSEmmanuel Vadot              - nxp,imx93-dwmac-eqos
375956d97fSEmmanuel Vadot          - const: snps,dwmac-5.10a
385956d97fSEmmanuel Vadot
395956d97fSEmmanuel Vadot  clocks:
405956d97fSEmmanuel Vadot    minItems: 3
415956d97fSEmmanuel Vadot    items:
425956d97fSEmmanuel Vadot      - description: MAC host clock
435956d97fSEmmanuel Vadot      - description: MAC apb clock
445956d97fSEmmanuel Vadot      - description: MAC timer clock
455956d97fSEmmanuel Vadot      - description: MAC RGMII TX clock
465956d97fSEmmanuel Vadot      - description: EQOS MEM clock
475956d97fSEmmanuel Vadot
485956d97fSEmmanuel Vadot  clock-names:
495956d97fSEmmanuel Vadot    minItems: 3
505956d97fSEmmanuel Vadot    maxItems: 5
515956d97fSEmmanuel Vadot    contains:
525956d97fSEmmanuel Vadot      enum:
535956d97fSEmmanuel Vadot        - stmmaceth
545956d97fSEmmanuel Vadot        - pclk
555956d97fSEmmanuel Vadot        - ptp_ref
565956d97fSEmmanuel Vadot        - tx
575956d97fSEmmanuel Vadot        - mem
585956d97fSEmmanuel Vadot
595956d97fSEmmanuel Vadot  intf_mode:
605956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
61c9ccf3a3SEmmanuel Vadot    items:
62c9ccf3a3SEmmanuel Vadot      - items:
63c9ccf3a3SEmmanuel Vadot          - description: phandle to the GPR syscon
64c9ccf3a3SEmmanuel Vadot          - description: the offset of the GPR register
655956d97fSEmmanuel Vadot    description:
665956d97fSEmmanuel Vadot      Should be phandle/offset pair. The phandle to the syscon node which
675956d97fSEmmanuel Vadot      encompases the GPR register, and the offset of the GPR register.
685956d97fSEmmanuel Vadot
69*7d0873ebSEmmanuel Vadot  nvmem-cells: true
70*7d0873ebSEmmanuel Vadot
71*7d0873ebSEmmanuel Vadot  nvmem-cell-names: true
72*7d0873ebSEmmanuel Vadot
735956d97fSEmmanuel Vadot  snps,rmii_refclk_ext:
745956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
755956d97fSEmmanuel Vadot    description:
765956d97fSEmmanuel Vadot      To select RMII reference clock from external.
775956d97fSEmmanuel Vadot
785956d97fSEmmanuel Vadotrequired:
795956d97fSEmmanuel Vadot  - compatible
805956d97fSEmmanuel Vadot  - clocks
815956d97fSEmmanuel Vadot  - clock-names
825956d97fSEmmanuel Vadot
835956d97fSEmmanuel VadotunevaluatedProperties: false
845956d97fSEmmanuel Vadot
855956d97fSEmmanuel Vadotexamples:
865956d97fSEmmanuel Vadot  - |
875956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
885956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
895956d97fSEmmanuel Vadot    #include <dt-bindings/clock/imx8mp-clock.h>
905956d97fSEmmanuel Vadot
915956d97fSEmmanuel Vadot    eqos: ethernet@30bf0000 {
925956d97fSEmmanuel Vadot            compatible = "nxp,imx8mp-dwmac-eqos","snps,dwmac-5.10a";
935956d97fSEmmanuel Vadot            reg = <0x30bf0000 0x10000>;
945956d97fSEmmanuel Vadot            interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
955956d97fSEmmanuel Vadot                         <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
965956d97fSEmmanuel Vadot            interrupt-names = "macirq", "eth_wake_irq";
975956d97fSEmmanuel Vadot            clocks = <&clk IMX8MP_CLK_ENET_QOS_ROOT>,
985956d97fSEmmanuel Vadot                     <&clk IMX8MP_CLK_QOS_ENET_ROOT>,
995956d97fSEmmanuel Vadot                     <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
1005956d97fSEmmanuel Vadot                     <&clk IMX8MP_CLK_ENET_QOS>;
1015956d97fSEmmanuel Vadot            clock-names = "stmmaceth", "pclk", "ptp_ref", "tx";
1025956d97fSEmmanuel Vadot            phy-mode = "rgmii";
1035956d97fSEmmanuel Vadot    };
104