1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 BayLibre, SAS
5 $id: "http://devicetree.org/schemas/net/stm32-dwmac.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
8 title: STMicroelectronics STM32 / MCU DWMAC glue layer controller
11 - Alexandre Torgue <alexandre.torgue@st.com>
12 - Christophe Roullier <christophe.roullier@st.com>
15 This file documents platform glue layer for stmmac.
17 # We need a select here so we don't match all nodes with 'snps,dwmac'
29 - $ref: "snps,dwmac.yaml#"
37 - const: snps,dwmac-4.20a
41 - const: snps,dwmac-4.10a
45 - const: snps,dwmac-3.50a
51 - description: GMAC main clock
52 - description: MAC TX clock
53 - description: MAC RX clock
54 - description: For MPU family, used for power mode
55 - description: For MPU family, used for PHY without quartz
69 $ref: "/schemas/types.yaml#/definitions/phandle-array"
71 Should be phandle/offset pair. The phandle to the syscon node which
72 encompases the glue register, and the offset of the control register
76 set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
81 set this property in RMII mode when you have PHY without crystal 50MHz and want to
82 select RCC clock instead of ETH_REF_CLK.
93 #include <dt-bindings/interrupt-controller/arm-gic.h>
94 #include <dt-bindings/clock/stm32mp1-clks.h>
95 #include <dt-bindings/reset/stm32mp1-resets.h>
96 #include <dt-bindings/mfd/stm32h7-rcc.h>
98 ethernet0: ethernet@5800a000 {
99 compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
100 reg = <0x5800a000 0x2000>;
101 reg-names = "stmmaceth";
102 interrupts = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
103 interrupt-names = "macirq";
104 clock-names = "stmmaceth",
109 clocks = <&rcc ETHMAC>,
114 st,syscon = <&syscfg 0x4>;
116 snps,axi-config = <&stmmac_axi_config_0>;
121 //Example 2 (MCU example)
122 ethernet1: ethernet@40028000 {
123 compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
124 reg = <0x40028000 0x8000>;
125 reg-names = "stmmaceth";
126 interrupts = <0 61 0>, <0 62 0>;
127 interrupt-names = "macirq", "eth_wake_irq";
128 clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
129 clocks = <&rcc 0 25>, <&rcc 0 26>, <&rcc 0 27>;
130 st,syscon = <&syscfg 0x4>;
137 ethernet2: ethernet@40027000 {
138 compatible = "st,stm32-dwmac", "snps,dwmac-4.10a";
139 reg = <0x40028000 0x8000>;
140 reg-names = "stmmaceth";
142 interrupt-names = "macirq";
143 clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
144 clocks = <&rcc 62>, <&rcc 61>, <&rcc 60>;
145 st,syscon = <&syscfg 0x4>;