xref: /freebsd-src/sys/contrib/device-tree/src/arm/st/stm32f429.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot/*
2f126890aSEmmanuel Vadot * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
3f126890aSEmmanuel Vadot *
4f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
5f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
6f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
7f126890aSEmmanuel Vadot * whole.
8f126890aSEmmanuel Vadot *
9f126890aSEmmanuel Vadot *  a) This file is free software; you can redistribute it and/or
10f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License as
11f126890aSEmmanuel Vadot *     published by the Free Software Foundation; either version 2 of the
12f126890aSEmmanuel Vadot *     License, or (at your option) any later version.
13f126890aSEmmanuel Vadot *
14f126890aSEmmanuel Vadot *     This file is distributed in the hope that it will be useful,
15f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17f126890aSEmmanuel Vadot *     GNU General Public License for more details.
18f126890aSEmmanuel Vadot *
19f126890aSEmmanuel Vadot *     You should have received a copy of the GNU General Public
20f126890aSEmmanuel Vadot *     License along with this file; if not, write to the Free
21f126890aSEmmanuel Vadot *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
22f126890aSEmmanuel Vadot *     MA 02110-1301 USA
23f126890aSEmmanuel Vadot *
24f126890aSEmmanuel Vadot * Or, alternatively,
25f126890aSEmmanuel Vadot *
26f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
27f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
28f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
29f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
30f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
31f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
32f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
33f126890aSEmmanuel Vadot *     conditions:
34f126890aSEmmanuel Vadot *
35f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
36f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
37f126890aSEmmanuel Vadot *
38f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
46f126890aSEmmanuel Vadot */
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot#include "../armv7-m.dtsi"
49f126890aSEmmanuel Vadot#include <dt-bindings/clock/stm32fx-clock.h>
50f126890aSEmmanuel Vadot#include <dt-bindings/mfd/stm32f4-rcc.h>
51f126890aSEmmanuel Vadot
52f126890aSEmmanuel Vadot/ {
53f126890aSEmmanuel Vadot	#address-cells = <1>;
54f126890aSEmmanuel Vadot	#size-cells = <1>;
55f126890aSEmmanuel Vadot
56f126890aSEmmanuel Vadot	clocks {
57f126890aSEmmanuel Vadot		clk_hse: clk-hse {
58f126890aSEmmanuel Vadot			#clock-cells = <0>;
59f126890aSEmmanuel Vadot			compatible = "fixed-clock";
60f126890aSEmmanuel Vadot			clock-frequency = <0>;
61f126890aSEmmanuel Vadot		};
62f126890aSEmmanuel Vadot
63f126890aSEmmanuel Vadot		clk_lse: clk-lse {
64f126890aSEmmanuel Vadot			#clock-cells = <0>;
65f126890aSEmmanuel Vadot			compatible = "fixed-clock";
66f126890aSEmmanuel Vadot			clock-frequency = <32768>;
67f126890aSEmmanuel Vadot		};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot		clk_lsi: clk-lsi {
70f126890aSEmmanuel Vadot			#clock-cells = <0>;
71f126890aSEmmanuel Vadot			compatible = "fixed-clock";
72f126890aSEmmanuel Vadot			clock-frequency = <32000>;
73f126890aSEmmanuel Vadot		};
74f126890aSEmmanuel Vadot
75f126890aSEmmanuel Vadot		clk_i2s_ckin: i2s-ckin {
76f126890aSEmmanuel Vadot			#clock-cells = <0>;
77f126890aSEmmanuel Vadot			compatible = "fixed-clock";
78f126890aSEmmanuel Vadot			clock-frequency = <0>;
79f126890aSEmmanuel Vadot		};
80f126890aSEmmanuel Vadot	};
81f126890aSEmmanuel Vadot
82f126890aSEmmanuel Vadot	soc {
83f126890aSEmmanuel Vadot		romem: efuse@1fff7800 {
84f126890aSEmmanuel Vadot			compatible = "st,stm32f4-otp";
85f126890aSEmmanuel Vadot			reg = <0x1fff7800 0x400>;
86f126890aSEmmanuel Vadot			#address-cells = <1>;
87f126890aSEmmanuel Vadot			#size-cells = <1>;
88f126890aSEmmanuel Vadot			ts_cal1: calib@22c {
89f126890aSEmmanuel Vadot				reg = <0x22c 0x2>;
90f126890aSEmmanuel Vadot			};
91f126890aSEmmanuel Vadot			ts_cal2: calib@22e {
92f126890aSEmmanuel Vadot				reg = <0x22e 0x2>;
93f126890aSEmmanuel Vadot			};
94f126890aSEmmanuel Vadot		};
95f126890aSEmmanuel Vadot
96f126890aSEmmanuel Vadot		timers2: timers@40000000 {
97f126890aSEmmanuel Vadot			#address-cells = <1>;
98f126890aSEmmanuel Vadot			#size-cells = <0>;
99f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
100f126890aSEmmanuel Vadot			reg = <0x40000000 0x400>;
101f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM2)>;
102f126890aSEmmanuel Vadot			clock-names = "int";
103f126890aSEmmanuel Vadot			status = "disabled";
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot			pwm {
106f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
107f126890aSEmmanuel Vadot				#pwm-cells = <3>;
108f126890aSEmmanuel Vadot				status = "disabled";
109f126890aSEmmanuel Vadot			};
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot			timer@1 {
112f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
113f126890aSEmmanuel Vadot				reg = <1>;
114f126890aSEmmanuel Vadot				status = "disabled";
115f126890aSEmmanuel Vadot			};
116f126890aSEmmanuel Vadot		};
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot		timers3: timers@40000400 {
119f126890aSEmmanuel Vadot			#address-cells = <1>;
120f126890aSEmmanuel Vadot			#size-cells = <0>;
121f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
122f126890aSEmmanuel Vadot			reg = <0x40000400 0x400>;
123f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM3)>;
124f126890aSEmmanuel Vadot			clock-names = "int";
125f126890aSEmmanuel Vadot			status = "disabled";
126f126890aSEmmanuel Vadot
127f126890aSEmmanuel Vadot			pwm {
128f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
129f126890aSEmmanuel Vadot				#pwm-cells = <3>;
130f126890aSEmmanuel Vadot				status = "disabled";
131f126890aSEmmanuel Vadot			};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot			timer@2 {
134f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
135f126890aSEmmanuel Vadot				reg = <2>;
136f126890aSEmmanuel Vadot				status = "disabled";
137f126890aSEmmanuel Vadot			};
138f126890aSEmmanuel Vadot		};
139f126890aSEmmanuel Vadot
140f126890aSEmmanuel Vadot		timers4: timers@40000800 {
141f126890aSEmmanuel Vadot			#address-cells = <1>;
142f126890aSEmmanuel Vadot			#size-cells = <0>;
143f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
144f126890aSEmmanuel Vadot			reg = <0x40000800 0x400>;
145f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM4)>;
146f126890aSEmmanuel Vadot			clock-names = "int";
147f126890aSEmmanuel Vadot			status = "disabled";
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot			pwm {
150f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
151f126890aSEmmanuel Vadot				#pwm-cells = <3>;
152f126890aSEmmanuel Vadot				status = "disabled";
153f126890aSEmmanuel Vadot			};
154f126890aSEmmanuel Vadot
155f126890aSEmmanuel Vadot			timer@3 {
156f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
157f126890aSEmmanuel Vadot				reg = <3>;
158f126890aSEmmanuel Vadot				status = "disabled";
159f126890aSEmmanuel Vadot			};
160f126890aSEmmanuel Vadot		};
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot		timers5: timers@40000c00 {
163f126890aSEmmanuel Vadot			#address-cells = <1>;
164f126890aSEmmanuel Vadot			#size-cells = <0>;
165f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
166f126890aSEmmanuel Vadot			reg = <0x40000C00 0x400>;
167f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM5)>;
168f126890aSEmmanuel Vadot			clock-names = "int";
169f126890aSEmmanuel Vadot			status = "disabled";
170f126890aSEmmanuel Vadot
171f126890aSEmmanuel Vadot			pwm {
172f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
173f126890aSEmmanuel Vadot				#pwm-cells = <3>;
174f126890aSEmmanuel Vadot				status = "disabled";
175f126890aSEmmanuel Vadot			};
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot			timer@4 {
178f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
179f126890aSEmmanuel Vadot				reg = <4>;
180f126890aSEmmanuel Vadot				status = "disabled";
181f126890aSEmmanuel Vadot			};
182f126890aSEmmanuel Vadot		};
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot		timers6: timers@40001000 {
185f126890aSEmmanuel Vadot			#address-cells = <1>;
186f126890aSEmmanuel Vadot			#size-cells = <0>;
187f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
188f126890aSEmmanuel Vadot			reg = <0x40001000 0x400>;
189f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM6)>;
190f126890aSEmmanuel Vadot			clock-names = "int";
191f126890aSEmmanuel Vadot			status = "disabled";
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot			timer@5 {
194f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
195f126890aSEmmanuel Vadot				reg = <5>;
196f126890aSEmmanuel Vadot				status = "disabled";
197f126890aSEmmanuel Vadot			};
198f126890aSEmmanuel Vadot		};
199f126890aSEmmanuel Vadot
200f126890aSEmmanuel Vadot		timers7: timers@40001400 {
201f126890aSEmmanuel Vadot			#address-cells = <1>;
202f126890aSEmmanuel Vadot			#size-cells = <0>;
203f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
204f126890aSEmmanuel Vadot			reg = <0x40001400 0x400>;
205f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM7)>;
206f126890aSEmmanuel Vadot			clock-names = "int";
207f126890aSEmmanuel Vadot			status = "disabled";
208f126890aSEmmanuel Vadot
209f126890aSEmmanuel Vadot			timer@6 {
210f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
211f126890aSEmmanuel Vadot				reg = <6>;
212f126890aSEmmanuel Vadot				status = "disabled";
213f126890aSEmmanuel Vadot			};
214f126890aSEmmanuel Vadot		};
215f126890aSEmmanuel Vadot
216f126890aSEmmanuel Vadot		timers12: timers@40001800 {
217f126890aSEmmanuel Vadot			#address-cells = <1>;
218f126890aSEmmanuel Vadot			#size-cells = <0>;
219f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
220f126890aSEmmanuel Vadot			reg = <0x40001800 0x400>;
221f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM12)>;
222f126890aSEmmanuel Vadot			clock-names = "int";
223f126890aSEmmanuel Vadot			status = "disabled";
224f126890aSEmmanuel Vadot
225f126890aSEmmanuel Vadot			pwm {
226f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
227f126890aSEmmanuel Vadot				#pwm-cells = <3>;
228f126890aSEmmanuel Vadot				status = "disabled";
229f126890aSEmmanuel Vadot			};
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot			timer@11 {
232f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
233f126890aSEmmanuel Vadot				reg = <11>;
234f126890aSEmmanuel Vadot				status = "disabled";
235f126890aSEmmanuel Vadot			};
236f126890aSEmmanuel Vadot		};
237f126890aSEmmanuel Vadot
238f126890aSEmmanuel Vadot		timers13: timers@40001c00 {
239f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
240f126890aSEmmanuel Vadot			reg = <0x40001C00 0x400>;
241f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM13)>;
242f126890aSEmmanuel Vadot			clock-names = "int";
243f126890aSEmmanuel Vadot			status = "disabled";
244f126890aSEmmanuel Vadot
245f126890aSEmmanuel Vadot			pwm {
246f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
247f126890aSEmmanuel Vadot				#pwm-cells = <3>;
248f126890aSEmmanuel Vadot				status = "disabled";
249f126890aSEmmanuel Vadot			};
250f126890aSEmmanuel Vadot		};
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot		timers14: timers@40002000 {
253f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
254f126890aSEmmanuel Vadot			reg = <0x40002000 0x400>;
255f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM14)>;
256f126890aSEmmanuel Vadot			clock-names = "int";
257f126890aSEmmanuel Vadot			status = "disabled";
258f126890aSEmmanuel Vadot
259f126890aSEmmanuel Vadot			pwm {
260f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
261f126890aSEmmanuel Vadot				#pwm-cells = <3>;
262f126890aSEmmanuel Vadot				status = "disabled";
263f126890aSEmmanuel Vadot			};
264f126890aSEmmanuel Vadot		};
265f126890aSEmmanuel Vadot
266f126890aSEmmanuel Vadot		rtc: rtc@40002800 {
267f126890aSEmmanuel Vadot			compatible = "st,stm32-rtc";
268f126890aSEmmanuel Vadot			reg = <0x40002800 0x400>;
269f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_RTC>;
270f126890aSEmmanuel Vadot			assigned-clocks = <&rcc 1 CLK_RTC>;
271f126890aSEmmanuel Vadot			assigned-clock-parents = <&rcc 1 CLK_LSE>;
272f126890aSEmmanuel Vadot			interrupt-parent = <&exti>;
273f126890aSEmmanuel Vadot			interrupts = <17 1>;
274f126890aSEmmanuel Vadot			st,syscfg = <&pwrcfg 0x00 0x100>;
275f126890aSEmmanuel Vadot			status = "disabled";
276f126890aSEmmanuel Vadot		};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot		iwdg: watchdog@40003000 {
279f126890aSEmmanuel Vadot			compatible = "st,stm32-iwdg";
280f126890aSEmmanuel Vadot			reg = <0x40003000 0x400>;
281f126890aSEmmanuel Vadot			clocks = <&clk_lsi>;
282f126890aSEmmanuel Vadot			clock-names = "lsi";
283f126890aSEmmanuel Vadot			status = "disabled";
284f126890aSEmmanuel Vadot		};
285f126890aSEmmanuel Vadot
286f126890aSEmmanuel Vadot		spi2: spi@40003800 {
287f126890aSEmmanuel Vadot			#address-cells = <1>;
288f126890aSEmmanuel Vadot			#size-cells = <0>;
289f126890aSEmmanuel Vadot			compatible = "st,stm32f4-spi";
290f126890aSEmmanuel Vadot			reg = <0x40003800 0x400>;
291f126890aSEmmanuel Vadot			interrupts = <36>;
292f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(SPI2)>;
293f126890aSEmmanuel Vadot			status = "disabled";
294f126890aSEmmanuel Vadot		};
295f126890aSEmmanuel Vadot
296f126890aSEmmanuel Vadot		spi3: spi@40003c00 {
297f126890aSEmmanuel Vadot			#address-cells = <1>;
298f126890aSEmmanuel Vadot			#size-cells = <0>;
299f126890aSEmmanuel Vadot			compatible = "st,stm32f4-spi";
300f126890aSEmmanuel Vadot			reg = <0x40003c00 0x400>;
301f126890aSEmmanuel Vadot			interrupts = <51>;
302f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(SPI3)>;
303f126890aSEmmanuel Vadot			status = "disabled";
304f126890aSEmmanuel Vadot		};
305f126890aSEmmanuel Vadot
306f126890aSEmmanuel Vadot		usart2: serial@40004400 {
307f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
308f126890aSEmmanuel Vadot			reg = <0x40004400 0x400>;
309f126890aSEmmanuel Vadot			interrupts = <38>;
310f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART2)>;
311f126890aSEmmanuel Vadot			status = "disabled";
312f126890aSEmmanuel Vadot		};
313f126890aSEmmanuel Vadot
314f126890aSEmmanuel Vadot		usart3: serial@40004800 {
315f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
316f126890aSEmmanuel Vadot			reg = <0x40004800 0x400>;
317f126890aSEmmanuel Vadot			interrupts = <39>;
318f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART3)>;
319f126890aSEmmanuel Vadot			status = "disabled";
320f126890aSEmmanuel Vadot			dmas = <&dma1 1 4 0x400 0x0>,
321f126890aSEmmanuel Vadot			       <&dma1 3 4 0x400 0x0>;
322f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
323f126890aSEmmanuel Vadot		};
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot		usart4: serial@40004c00 {
326f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
327f126890aSEmmanuel Vadot			reg = <0x40004c00 0x400>;
328f126890aSEmmanuel Vadot			interrupts = <52>;
329f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART4)>;
330f126890aSEmmanuel Vadot			status = "disabled";
331f126890aSEmmanuel Vadot		};
332f126890aSEmmanuel Vadot
333f126890aSEmmanuel Vadot		usart5: serial@40005000 {
334f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
335f126890aSEmmanuel Vadot			reg = <0x40005000 0x400>;
336f126890aSEmmanuel Vadot			interrupts = <53>;
337f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART5)>;
338f126890aSEmmanuel Vadot			status = "disabled";
339f126890aSEmmanuel Vadot		};
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot		i2c1: i2c@40005400 {
342f126890aSEmmanuel Vadot			compatible = "st,stm32f4-i2c";
343f126890aSEmmanuel Vadot			reg = <0x40005400 0x400>;
344f126890aSEmmanuel Vadot			interrupts = <31>,
345f126890aSEmmanuel Vadot				     <32>;
346f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_APB1_RESET(I2C1)>;
347f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(I2C1)>;
348f126890aSEmmanuel Vadot			#address-cells = <1>;
349f126890aSEmmanuel Vadot			#size-cells = <0>;
350f126890aSEmmanuel Vadot			status = "disabled";
351f126890aSEmmanuel Vadot		};
352f126890aSEmmanuel Vadot
353f126890aSEmmanuel Vadot		i2c3: i2c@40005c00 {
354f126890aSEmmanuel Vadot			compatible = "st,stm32f4-i2c";
355f126890aSEmmanuel Vadot			reg = <0x40005c00 0x400>;
356f126890aSEmmanuel Vadot			interrupts = <72>,
357f126890aSEmmanuel Vadot				     <73>;
358f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_APB1_RESET(I2C3)>;
359f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(I2C3)>;
360f126890aSEmmanuel Vadot			#address-cells = <1>;
361f126890aSEmmanuel Vadot			#size-cells = <0>;
362f126890aSEmmanuel Vadot			status = "disabled";
363f126890aSEmmanuel Vadot		};
364f126890aSEmmanuel Vadot
365f126890aSEmmanuel Vadot		can1: can@40006400 {
366f126890aSEmmanuel Vadot			compatible = "st,stm32f4-bxcan";
367f126890aSEmmanuel Vadot			reg = <0x40006400 0x200>;
368f126890aSEmmanuel Vadot			interrupts = <19>, <20>, <21>, <22>;
369f126890aSEmmanuel Vadot			interrupt-names = "tx", "rx0", "rx1", "sce";
370f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_APB1_RESET(CAN1)>;
371f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(CAN1)>;
372f126890aSEmmanuel Vadot			st,can-primary;
373f126890aSEmmanuel Vadot			st,gcan = <&gcan>;
374f126890aSEmmanuel Vadot			status = "disabled";
375f126890aSEmmanuel Vadot		};
376f126890aSEmmanuel Vadot
377f126890aSEmmanuel Vadot		gcan: gcan@40006600 {
378f126890aSEmmanuel Vadot			compatible = "st,stm32f4-gcan", "syscon";
379f126890aSEmmanuel Vadot			reg = <0x40006600 0x200>;
380f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(CAN1)>;
381f126890aSEmmanuel Vadot		};
382f126890aSEmmanuel Vadot
383f126890aSEmmanuel Vadot		can2: can@40006800 {
384f126890aSEmmanuel Vadot			compatible = "st,stm32f4-bxcan";
385f126890aSEmmanuel Vadot			reg = <0x40006800 0x200>;
386f126890aSEmmanuel Vadot			interrupts = <63>, <64>, <65>, <66>;
387f126890aSEmmanuel Vadot			interrupt-names = "tx", "rx0", "rx1", "sce";
388f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_APB1_RESET(CAN2)>;
389f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(CAN2)>;
390f126890aSEmmanuel Vadot			st,can-secondary;
391f126890aSEmmanuel Vadot			st,gcan = <&gcan>;
392f126890aSEmmanuel Vadot			status = "disabled";
393f126890aSEmmanuel Vadot		};
394f126890aSEmmanuel Vadot
395f126890aSEmmanuel Vadot		dac: dac@40007400 {
396f126890aSEmmanuel Vadot			compatible = "st,stm32f4-dac-core";
397f126890aSEmmanuel Vadot			reg = <0x40007400 0x400>;
398f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_APB1_RESET(DAC)>;
399f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(DAC)>;
400f126890aSEmmanuel Vadot			clock-names = "pclk";
401f126890aSEmmanuel Vadot			#address-cells = <1>;
402f126890aSEmmanuel Vadot			#size-cells = <0>;
403f126890aSEmmanuel Vadot			status = "disabled";
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot			dac1: dac@1 {
406f126890aSEmmanuel Vadot				compatible = "st,stm32-dac";
407f126890aSEmmanuel Vadot				#io-channel-cells = <1>;
408f126890aSEmmanuel Vadot				reg = <1>;
409f126890aSEmmanuel Vadot				status = "disabled";
410f126890aSEmmanuel Vadot			};
411f126890aSEmmanuel Vadot
412f126890aSEmmanuel Vadot			dac2: dac@2 {
413f126890aSEmmanuel Vadot				compatible = "st,stm32-dac";
414f126890aSEmmanuel Vadot				#io-channel-cells = <1>;
415f126890aSEmmanuel Vadot				reg = <2>;
416f126890aSEmmanuel Vadot				status = "disabled";
417f126890aSEmmanuel Vadot			};
418f126890aSEmmanuel Vadot		};
419f126890aSEmmanuel Vadot
420f126890aSEmmanuel Vadot		usart7: serial@40007800 {
421f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
422f126890aSEmmanuel Vadot			reg = <0x40007800 0x400>;
423f126890aSEmmanuel Vadot			interrupts = <82>;
424f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART7)>;
425f126890aSEmmanuel Vadot			status = "disabled";
426f126890aSEmmanuel Vadot		};
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot		usart8: serial@40007c00 {
429f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
430f126890aSEmmanuel Vadot			reg = <0x40007c00 0x400>;
431f126890aSEmmanuel Vadot			interrupts = <83>;
432f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART8)>;
433f126890aSEmmanuel Vadot			status = "disabled";
434f126890aSEmmanuel Vadot		};
435f126890aSEmmanuel Vadot
436f126890aSEmmanuel Vadot		timers1: timers@40010000 {
437f126890aSEmmanuel Vadot			#address-cells = <1>;
438f126890aSEmmanuel Vadot			#size-cells = <0>;
439f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
440f126890aSEmmanuel Vadot			reg = <0x40010000 0x400>;
441f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM1)>;
442f126890aSEmmanuel Vadot			clock-names = "int";
443f126890aSEmmanuel Vadot			status = "disabled";
444f126890aSEmmanuel Vadot
445f126890aSEmmanuel Vadot			pwm {
446f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
447f126890aSEmmanuel Vadot				#pwm-cells = <3>;
448f126890aSEmmanuel Vadot				status = "disabled";
449f126890aSEmmanuel Vadot			};
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot			timer@0 {
452f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
453f126890aSEmmanuel Vadot				reg = <0>;
454f126890aSEmmanuel Vadot				status = "disabled";
455f126890aSEmmanuel Vadot			};
456f126890aSEmmanuel Vadot		};
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot		timers8: timers@40010400 {
459f126890aSEmmanuel Vadot			#address-cells = <1>;
460f126890aSEmmanuel Vadot			#size-cells = <0>;
461f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
462f126890aSEmmanuel Vadot			reg = <0x40010400 0x400>;
463f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM8)>;
464f126890aSEmmanuel Vadot			clock-names = "int";
465f126890aSEmmanuel Vadot			status = "disabled";
466f126890aSEmmanuel Vadot
467f126890aSEmmanuel Vadot			pwm {
468f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
469f126890aSEmmanuel Vadot				#pwm-cells = <3>;
470f126890aSEmmanuel Vadot				status = "disabled";
471f126890aSEmmanuel Vadot			};
472f126890aSEmmanuel Vadot
473f126890aSEmmanuel Vadot			timer@7 {
474f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
475f126890aSEmmanuel Vadot				reg = <7>;
476f126890aSEmmanuel Vadot				status = "disabled";
477f126890aSEmmanuel Vadot			};
478f126890aSEmmanuel Vadot		};
479f126890aSEmmanuel Vadot
480f126890aSEmmanuel Vadot		usart1: serial@40011000 {
481f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
482f126890aSEmmanuel Vadot			reg = <0x40011000 0x400>;
483f126890aSEmmanuel Vadot			interrupts = <37>;
484f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(USART1)>;
485f126890aSEmmanuel Vadot			status = "disabled";
486f126890aSEmmanuel Vadot			dmas = <&dma2 2 4 0x400 0x0>,
487f126890aSEmmanuel Vadot			       <&dma2 7 4 0x400 0x0>;
488f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
489f126890aSEmmanuel Vadot		};
490f126890aSEmmanuel Vadot
491f126890aSEmmanuel Vadot		usart6: serial@40011400 {
492f126890aSEmmanuel Vadot			compatible = "st,stm32-uart";
493f126890aSEmmanuel Vadot			reg = <0x40011400 0x400>;
494f126890aSEmmanuel Vadot			interrupts = <71>;
495f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(USART6)>;
496f126890aSEmmanuel Vadot			status = "disabled";
497f126890aSEmmanuel Vadot		};
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot		adc: adc@40012000 {
500f126890aSEmmanuel Vadot			compatible = "st,stm32f4-adc-core";
501f126890aSEmmanuel Vadot			reg = <0x40012000 0x400>;
502f126890aSEmmanuel Vadot			interrupts = <18>;
503f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC1)>;
504f126890aSEmmanuel Vadot			clock-names = "adc";
505f126890aSEmmanuel Vadot			interrupt-controller;
506f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
507f126890aSEmmanuel Vadot			#address-cells = <1>;
508f126890aSEmmanuel Vadot			#size-cells = <0>;
509f126890aSEmmanuel Vadot			status = "disabled";
510f126890aSEmmanuel Vadot
511f126890aSEmmanuel Vadot			adc1: adc@0 {
512f126890aSEmmanuel Vadot				compatible = "st,stm32f4-adc";
513f126890aSEmmanuel Vadot				#io-channel-cells = <1>;
514f126890aSEmmanuel Vadot				reg = <0x0>;
515f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC1)>;
516f126890aSEmmanuel Vadot				interrupt-parent = <&adc>;
517f126890aSEmmanuel Vadot				interrupts = <0>;
518f126890aSEmmanuel Vadot				dmas = <&dma2 0 0 0x400 0x0>;
519f126890aSEmmanuel Vadot				dma-names = "rx";
520f126890aSEmmanuel Vadot				status = "disabled";
521f126890aSEmmanuel Vadot			};
522f126890aSEmmanuel Vadot
523f126890aSEmmanuel Vadot			adc2: adc@100 {
524f126890aSEmmanuel Vadot				compatible = "st,stm32f4-adc";
525f126890aSEmmanuel Vadot				#io-channel-cells = <1>;
526f126890aSEmmanuel Vadot				reg = <0x100>;
527f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC2)>;
528f126890aSEmmanuel Vadot				interrupt-parent = <&adc>;
529f126890aSEmmanuel Vadot				interrupts = <1>;
530f126890aSEmmanuel Vadot				dmas = <&dma2 3 1 0x400 0x0>;
531f126890aSEmmanuel Vadot				dma-names = "rx";
532f126890aSEmmanuel Vadot				status = "disabled";
533f126890aSEmmanuel Vadot			};
534f126890aSEmmanuel Vadot
535f126890aSEmmanuel Vadot			adc3: adc@200 {
536f126890aSEmmanuel Vadot				compatible = "st,stm32f4-adc";
537f126890aSEmmanuel Vadot				#io-channel-cells = <1>;
538f126890aSEmmanuel Vadot				reg = <0x200>;
539f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC3)>;
540f126890aSEmmanuel Vadot				interrupt-parent = <&adc>;
541f126890aSEmmanuel Vadot				interrupts = <2>;
542f126890aSEmmanuel Vadot				dmas = <&dma2 1 2 0x400 0x0>;
543f126890aSEmmanuel Vadot				dma-names = "rx";
544f126890aSEmmanuel Vadot				status = "disabled";
545f126890aSEmmanuel Vadot			};
546f126890aSEmmanuel Vadot		};
547f126890aSEmmanuel Vadot
548f126890aSEmmanuel Vadot		sdio: mmc@40012c00 {
549f126890aSEmmanuel Vadot			compatible = "arm,pl180", "arm,primecell";
550f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00880180>;
551f126890aSEmmanuel Vadot			reg = <0x40012c00 0x400>;
552f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SDIO)>;
553f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
554f126890aSEmmanuel Vadot			interrupts = <49>;
555f126890aSEmmanuel Vadot			max-frequency = <48000000>;
556f126890aSEmmanuel Vadot			status = "disabled";
557f126890aSEmmanuel Vadot		};
558f126890aSEmmanuel Vadot
559f126890aSEmmanuel Vadot		spi1: spi@40013000 {
560f126890aSEmmanuel Vadot			#address-cells = <1>;
561f126890aSEmmanuel Vadot			#size-cells = <0>;
562f126890aSEmmanuel Vadot			compatible = "st,stm32f4-spi";
563f126890aSEmmanuel Vadot			reg = <0x40013000 0x400>;
564f126890aSEmmanuel Vadot			interrupts = <35>;
565f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI1)>;
566f126890aSEmmanuel Vadot			status = "disabled";
567f126890aSEmmanuel Vadot		};
568f126890aSEmmanuel Vadot
569f126890aSEmmanuel Vadot		spi4: spi@40013400 {
570f126890aSEmmanuel Vadot			#address-cells = <1>;
571f126890aSEmmanuel Vadot			#size-cells = <0>;
572f126890aSEmmanuel Vadot			compatible = "st,stm32f4-spi";
573f126890aSEmmanuel Vadot			reg = <0x40013400 0x400>;
574f126890aSEmmanuel Vadot			interrupts = <84>;
575f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI4)>;
576f126890aSEmmanuel Vadot			status = "disabled";
577f126890aSEmmanuel Vadot		};
578f126890aSEmmanuel Vadot
579f126890aSEmmanuel Vadot		syscfg: syscon@40013800 {
580f126890aSEmmanuel Vadot			compatible = "st,stm32-syscfg", "syscon";
581f126890aSEmmanuel Vadot			reg = <0x40013800 0x400>;
582*0e8011faSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SYSCFG)>;
583f126890aSEmmanuel Vadot		};
584f126890aSEmmanuel Vadot
585f126890aSEmmanuel Vadot		exti: interrupt-controller@40013c00 {
586f126890aSEmmanuel Vadot			compatible = "st,stm32-exti";
587f126890aSEmmanuel Vadot			interrupt-controller;
588f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
589f126890aSEmmanuel Vadot			reg = <0x40013C00 0x400>;
590f126890aSEmmanuel Vadot			interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
591f126890aSEmmanuel Vadot		};
592f126890aSEmmanuel Vadot
593f126890aSEmmanuel Vadot		timers9: timers@40014000 {
594f126890aSEmmanuel Vadot			#address-cells = <1>;
595f126890aSEmmanuel Vadot			#size-cells = <0>;
596f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
597f126890aSEmmanuel Vadot			reg = <0x40014000 0x400>;
598f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM9)>;
599f126890aSEmmanuel Vadot			clock-names = "int";
600f126890aSEmmanuel Vadot			status = "disabled";
601f126890aSEmmanuel Vadot
602f126890aSEmmanuel Vadot			pwm {
603f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
604f126890aSEmmanuel Vadot				#pwm-cells = <3>;
605f126890aSEmmanuel Vadot				status = "disabled";
606f126890aSEmmanuel Vadot			};
607f126890aSEmmanuel Vadot
608f126890aSEmmanuel Vadot			timer@8 {
609f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
610f126890aSEmmanuel Vadot				reg = <8>;
611f126890aSEmmanuel Vadot				status = "disabled";
612f126890aSEmmanuel Vadot			};
613f126890aSEmmanuel Vadot		};
614f126890aSEmmanuel Vadot
615f126890aSEmmanuel Vadot		timers10: timers@40014400 {
616f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
617f126890aSEmmanuel Vadot			reg = <0x40014400 0x400>;
618f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM10)>;
619f126890aSEmmanuel Vadot			clock-names = "int";
620f126890aSEmmanuel Vadot			status = "disabled";
621f126890aSEmmanuel Vadot
622f126890aSEmmanuel Vadot			pwm {
623f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
624f126890aSEmmanuel Vadot				#pwm-cells = <3>;
625f126890aSEmmanuel Vadot				status = "disabled";
626f126890aSEmmanuel Vadot			};
627f126890aSEmmanuel Vadot		};
628f126890aSEmmanuel Vadot
629f126890aSEmmanuel Vadot		timers11: timers@40014800 {
630f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
631f126890aSEmmanuel Vadot			reg = <0x40014800 0x400>;
632f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM11)>;
633f126890aSEmmanuel Vadot			clock-names = "int";
634f126890aSEmmanuel Vadot			status = "disabled";
635f126890aSEmmanuel Vadot
636f126890aSEmmanuel Vadot			pwm {
637f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
638f126890aSEmmanuel Vadot				#pwm-cells = <3>;
639f126890aSEmmanuel Vadot				status = "disabled";
640f126890aSEmmanuel Vadot			};
641f126890aSEmmanuel Vadot		};
642f126890aSEmmanuel Vadot
643f126890aSEmmanuel Vadot		spi5: spi@40015000 {
644f126890aSEmmanuel Vadot			#address-cells = <1>;
645f126890aSEmmanuel Vadot			#size-cells = <0>;
646f126890aSEmmanuel Vadot			compatible = "st,stm32f4-spi";
647f126890aSEmmanuel Vadot			reg = <0x40015000 0x400>;
648f126890aSEmmanuel Vadot			interrupts = <85>;
649f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI5)>;
650f126890aSEmmanuel Vadot			dmas = <&dma2 3 2 0x400 0x0>,
651f126890aSEmmanuel Vadot				<&dma2 4 2 0x400 0x0>;
652f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
653f126890aSEmmanuel Vadot			status = "disabled";
654f126890aSEmmanuel Vadot		};
655f126890aSEmmanuel Vadot
656f126890aSEmmanuel Vadot		spi6: spi@40015400 {
657f126890aSEmmanuel Vadot			#address-cells = <1>;
658f126890aSEmmanuel Vadot			#size-cells = <0>;
659f126890aSEmmanuel Vadot			compatible = "st,stm32f4-spi";
660f126890aSEmmanuel Vadot			reg = <0x40015400 0x400>;
661f126890aSEmmanuel Vadot			interrupts = <86>;
662f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI6)>;
663f126890aSEmmanuel Vadot			status = "disabled";
664f126890aSEmmanuel Vadot		};
665f126890aSEmmanuel Vadot
666f126890aSEmmanuel Vadot		pwrcfg: power-config@40007000 {
667f126890aSEmmanuel Vadot			compatible = "st,stm32-power-config", "syscon";
668f126890aSEmmanuel Vadot			reg = <0x40007000 0x400>;
669f126890aSEmmanuel Vadot		};
670f126890aSEmmanuel Vadot
671f126890aSEmmanuel Vadot		ltdc: display-controller@40016800 {
672f126890aSEmmanuel Vadot			compatible = "st,stm32-ltdc";
673f126890aSEmmanuel Vadot			reg = <0x40016800 0x200>;
674f126890aSEmmanuel Vadot			interrupts = <88>, <89>;
675f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_APB2_RESET(LTDC)>;
676f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_LCD>;
677f126890aSEmmanuel Vadot			clock-names = "lcd";
678f126890aSEmmanuel Vadot			status = "disabled";
679f126890aSEmmanuel Vadot		};
680f126890aSEmmanuel Vadot
681f126890aSEmmanuel Vadot		crc: crc@40023000 {
682f126890aSEmmanuel Vadot			compatible = "st,stm32f4-crc";
683f126890aSEmmanuel Vadot			reg = <0x40023000 0x400>;
684f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(CRC)>;
685f126890aSEmmanuel Vadot			status = "disabled";
686f126890aSEmmanuel Vadot		};
687f126890aSEmmanuel Vadot
688f126890aSEmmanuel Vadot		rcc: rcc@40023800 {
689f126890aSEmmanuel Vadot			#reset-cells = <1>;
690f126890aSEmmanuel Vadot			#clock-cells = <2>;
691f126890aSEmmanuel Vadot			compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
692f126890aSEmmanuel Vadot			reg = <0x40023800 0x400>;
693f126890aSEmmanuel Vadot			clocks = <&clk_hse>, <&clk_i2s_ckin>;
694f126890aSEmmanuel Vadot			st,syscfg = <&pwrcfg>;
695f126890aSEmmanuel Vadot			assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
696f126890aSEmmanuel Vadot			assigned-clock-rates = <1000000>;
697f126890aSEmmanuel Vadot		};
698f126890aSEmmanuel Vadot
699f126890aSEmmanuel Vadot		dma1: dma-controller@40026000 {
700f126890aSEmmanuel Vadot			compatible = "st,stm32-dma";
701f126890aSEmmanuel Vadot			reg = <0x40026000 0x400>;
702f126890aSEmmanuel Vadot			interrupts = <11>,
703f126890aSEmmanuel Vadot				     <12>,
704f126890aSEmmanuel Vadot				     <13>,
705f126890aSEmmanuel Vadot				     <14>,
706f126890aSEmmanuel Vadot				     <15>,
707f126890aSEmmanuel Vadot				     <16>,
708f126890aSEmmanuel Vadot				     <17>,
709f126890aSEmmanuel Vadot				     <47>;
710f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA1)>;
711f126890aSEmmanuel Vadot			#dma-cells = <4>;
712f126890aSEmmanuel Vadot		};
713f126890aSEmmanuel Vadot
714f126890aSEmmanuel Vadot		dma2: dma-controller@40026400 {
715f126890aSEmmanuel Vadot			compatible = "st,stm32-dma";
716f126890aSEmmanuel Vadot			reg = <0x40026400 0x400>;
717f126890aSEmmanuel Vadot			interrupts = <56>,
718f126890aSEmmanuel Vadot				     <57>,
719f126890aSEmmanuel Vadot				     <58>,
720f126890aSEmmanuel Vadot				     <59>,
721f126890aSEmmanuel Vadot				     <60>,
722f126890aSEmmanuel Vadot				     <68>,
723f126890aSEmmanuel Vadot				     <69>,
724f126890aSEmmanuel Vadot				     <70>;
725f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA2)>;
726f126890aSEmmanuel Vadot			#dma-cells = <4>;
727f126890aSEmmanuel Vadot			st,mem2mem;
728f126890aSEmmanuel Vadot		};
729f126890aSEmmanuel Vadot
730f126890aSEmmanuel Vadot		mac: ethernet@40028000 {
731f126890aSEmmanuel Vadot			compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
732f126890aSEmmanuel Vadot			reg = <0x40028000 0x8000>;
733f126890aSEmmanuel Vadot			reg-names = "stmmaceth";
734f126890aSEmmanuel Vadot			interrupts = <61>;
735f126890aSEmmanuel Vadot			interrupt-names = "macirq";
736f126890aSEmmanuel Vadot			clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
737f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(ETHMAC)>,
738f126890aSEmmanuel Vadot					<&rcc 0 STM32F4_AHB1_CLOCK(ETHMACTX)>,
739f126890aSEmmanuel Vadot					<&rcc 0 STM32F4_AHB1_CLOCK(ETHMACRX)>;
740f126890aSEmmanuel Vadot			st,syscon = <&syscfg 0x4>;
741f126890aSEmmanuel Vadot			snps,pbl = <8>;
742f126890aSEmmanuel Vadot			snps,mixed-burst;
743f126890aSEmmanuel Vadot			status = "disabled";
744f126890aSEmmanuel Vadot		};
745f126890aSEmmanuel Vadot
746f126890aSEmmanuel Vadot		dma2d: dma2d@4002b000 {
747f126890aSEmmanuel Vadot			compatible = "st,stm32-dma2d";
748f126890aSEmmanuel Vadot			reg = <0x4002b000 0xc00>;
749f126890aSEmmanuel Vadot			interrupts = <90>;
750f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_AHB1_RESET(DMA2D)>;
751f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA2D)>;
752f126890aSEmmanuel Vadot			clock-names = "dma2d";
753f126890aSEmmanuel Vadot			status = "disabled";
754f126890aSEmmanuel Vadot		};
755f126890aSEmmanuel Vadot
756f126890aSEmmanuel Vadot		usbotg_hs: usb@40040000 {
757f126890aSEmmanuel Vadot			compatible = "snps,dwc2";
758f126890aSEmmanuel Vadot			reg = <0x40040000 0x40000>;
759f126890aSEmmanuel Vadot			interrupts = <77>;
760f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHS)>;
761f126890aSEmmanuel Vadot			clock-names = "otg";
762f126890aSEmmanuel Vadot			status = "disabled";
763f126890aSEmmanuel Vadot		};
764f126890aSEmmanuel Vadot
765f126890aSEmmanuel Vadot		usbotg_fs: usb@50000000 {
766f126890aSEmmanuel Vadot			compatible = "st,stm32f4x9-fsotg";
767f126890aSEmmanuel Vadot			reg = <0x50000000 0x40000>;
768f126890aSEmmanuel Vadot			interrupts = <67>;
769f126890aSEmmanuel Vadot			clocks = <&rcc 0 39>;
770f126890aSEmmanuel Vadot			clock-names = "otg";
771f126890aSEmmanuel Vadot			status = "disabled";
772f126890aSEmmanuel Vadot		};
773f126890aSEmmanuel Vadot
774f126890aSEmmanuel Vadot		dcmi: dcmi@50050000 {
775f126890aSEmmanuel Vadot			compatible = "st,stm32-dcmi";
776f126890aSEmmanuel Vadot			reg = <0x50050000 0x400>;
777f126890aSEmmanuel Vadot			interrupts = <78>;
778f126890aSEmmanuel Vadot			resets = <&rcc STM32F4_AHB2_RESET(DCMI)>;
779f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB2_CLOCK(DCMI)>;
780f126890aSEmmanuel Vadot			clock-names = "mclk";
781f126890aSEmmanuel Vadot			pinctrl-names = "default";
782f126890aSEmmanuel Vadot			pinctrl-0 = <&dcmi_pins>;
783f126890aSEmmanuel Vadot			dmas = <&dma2 1 1 0x414 0x3>;
784f126890aSEmmanuel Vadot			dma-names = "tx";
785f126890aSEmmanuel Vadot			status = "disabled";
786f126890aSEmmanuel Vadot		};
787f126890aSEmmanuel Vadot
788f126890aSEmmanuel Vadot		rng: rng@50060800 {
789f126890aSEmmanuel Vadot			compatible = "st,stm32-rng";
790f126890aSEmmanuel Vadot			reg = <0x50060800 0x400>;
791f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F4_AHB2_CLOCK(RNG)>;
792f126890aSEmmanuel Vadot
793f126890aSEmmanuel Vadot		};
794f126890aSEmmanuel Vadot	};
795f126890aSEmmanuel Vadot};
796f126890aSEmmanuel Vadot
797f126890aSEmmanuel Vadot&systick {
798f126890aSEmmanuel Vadot	clocks = <&rcc 1 SYSTICK>;
799f126890aSEmmanuel Vadot	status = "okay";
800f126890aSEmmanuel Vadot};
801