xref: /freebsd/sys/contrib/device-tree/src/arm/st/stm32f746.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot/*
2*f126890aSEmmanuel Vadot * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
3*f126890aSEmmanuel Vadot *
4*f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
5*f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
6*f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
7*f126890aSEmmanuel Vadot * whole.
8*f126890aSEmmanuel Vadot *
9*f126890aSEmmanuel Vadot *  a) This file is free software; you can redistribute it and/or
10*f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License as
11*f126890aSEmmanuel Vadot *     published by the Free Software Foundation; either version 2 of the
12*f126890aSEmmanuel Vadot *     License, or (at your option) any later version.
13*f126890aSEmmanuel Vadot *
14*f126890aSEmmanuel Vadot *     This file is distributed in the hope that it will be useful,
15*f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16*f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*f126890aSEmmanuel Vadot *     GNU General Public License for more details.
18*f126890aSEmmanuel Vadot *
19*f126890aSEmmanuel Vadot * Or, alternatively,
20*f126890aSEmmanuel Vadot *
21*f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
22*f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
23*f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
24*f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
25*f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
26*f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
27*f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
28*f126890aSEmmanuel Vadot *     conditions:
29*f126890aSEmmanuel Vadot *
30*f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
31*f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
32*f126890aSEmmanuel Vadot *
33*f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34*f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35*f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36*f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37*f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38*f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39*f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40*f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
41*f126890aSEmmanuel Vadot */
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot#include "../armv7-m.dtsi"
44*f126890aSEmmanuel Vadot#include <dt-bindings/clock/stm32fx-clock.h>
45*f126890aSEmmanuel Vadot#include <dt-bindings/mfd/stm32f7-rcc.h>
46*f126890aSEmmanuel Vadot
47*f126890aSEmmanuel Vadot/ {
48*f126890aSEmmanuel Vadot	#address-cells = <1>;
49*f126890aSEmmanuel Vadot	#size-cells = <1>;
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot	clocks {
52*f126890aSEmmanuel Vadot		clk_hse: clk-hse {
53*f126890aSEmmanuel Vadot			#clock-cells = <0>;
54*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
55*f126890aSEmmanuel Vadot			clock-frequency = <0>;
56*f126890aSEmmanuel Vadot		};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot		clk-lse {
59*f126890aSEmmanuel Vadot			#clock-cells = <0>;
60*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
61*f126890aSEmmanuel Vadot			clock-frequency = <32768>;
62*f126890aSEmmanuel Vadot		};
63*f126890aSEmmanuel Vadot
64*f126890aSEmmanuel Vadot		clk-lsi {
65*f126890aSEmmanuel Vadot			#clock-cells = <0>;
66*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
67*f126890aSEmmanuel Vadot			clock-frequency = <32000>;
68*f126890aSEmmanuel Vadot		};
69*f126890aSEmmanuel Vadot
70*f126890aSEmmanuel Vadot		clk_i2s_ckin: clk-i2s-ckin {
71*f126890aSEmmanuel Vadot			#clock-cells = <0>;
72*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
73*f126890aSEmmanuel Vadot			clock-frequency = <48000000>;
74*f126890aSEmmanuel Vadot		};
75*f126890aSEmmanuel Vadot	};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot	soc {
78*f126890aSEmmanuel Vadot		timers2: timers@40000000 {
79*f126890aSEmmanuel Vadot			#address-cells = <1>;
80*f126890aSEmmanuel Vadot			#size-cells = <0>;
81*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
82*f126890aSEmmanuel Vadot			reg = <0x40000000 0x400>;
83*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>;
84*f126890aSEmmanuel Vadot			clock-names = "int";
85*f126890aSEmmanuel Vadot			status = "disabled";
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot			pwm {
88*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
89*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
90*f126890aSEmmanuel Vadot				status = "disabled";
91*f126890aSEmmanuel Vadot			};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot			timer@1 {
94*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
95*f126890aSEmmanuel Vadot				reg = <1>;
96*f126890aSEmmanuel Vadot				status = "disabled";
97*f126890aSEmmanuel Vadot			};
98*f126890aSEmmanuel Vadot		};
99*f126890aSEmmanuel Vadot
100*f126890aSEmmanuel Vadot		timers3: timers@40000400 {
101*f126890aSEmmanuel Vadot			#address-cells = <1>;
102*f126890aSEmmanuel Vadot			#size-cells = <0>;
103*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
104*f126890aSEmmanuel Vadot			reg = <0x40000400 0x400>;
105*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>;
106*f126890aSEmmanuel Vadot			clock-names = "int";
107*f126890aSEmmanuel Vadot			status = "disabled";
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot			pwm {
110*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
111*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
112*f126890aSEmmanuel Vadot				status = "disabled";
113*f126890aSEmmanuel Vadot			};
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot			timer@2 {
116*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
117*f126890aSEmmanuel Vadot				reg = <2>;
118*f126890aSEmmanuel Vadot				status = "disabled";
119*f126890aSEmmanuel Vadot			};
120*f126890aSEmmanuel Vadot		};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot		timers4: timers@40000800 {
123*f126890aSEmmanuel Vadot			#address-cells = <1>;
124*f126890aSEmmanuel Vadot			#size-cells = <0>;
125*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
126*f126890aSEmmanuel Vadot			reg = <0x40000800 0x400>;
127*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>;
128*f126890aSEmmanuel Vadot			clock-names = "int";
129*f126890aSEmmanuel Vadot			status = "disabled";
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot			pwm {
132*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
133*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
134*f126890aSEmmanuel Vadot				status = "disabled";
135*f126890aSEmmanuel Vadot			};
136*f126890aSEmmanuel Vadot
137*f126890aSEmmanuel Vadot			timer@3 {
138*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
139*f126890aSEmmanuel Vadot				reg = <3>;
140*f126890aSEmmanuel Vadot				status = "disabled";
141*f126890aSEmmanuel Vadot			};
142*f126890aSEmmanuel Vadot		};
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot		timers5: timers@40000c00 {
145*f126890aSEmmanuel Vadot			#address-cells = <1>;
146*f126890aSEmmanuel Vadot			#size-cells = <0>;
147*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
148*f126890aSEmmanuel Vadot			reg = <0x40000C00 0x400>;
149*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>;
150*f126890aSEmmanuel Vadot			clock-names = "int";
151*f126890aSEmmanuel Vadot			status = "disabled";
152*f126890aSEmmanuel Vadot
153*f126890aSEmmanuel Vadot			pwm {
154*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
155*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
156*f126890aSEmmanuel Vadot				status = "disabled";
157*f126890aSEmmanuel Vadot			};
158*f126890aSEmmanuel Vadot
159*f126890aSEmmanuel Vadot			timer@4 {
160*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
161*f126890aSEmmanuel Vadot				reg = <4>;
162*f126890aSEmmanuel Vadot				status = "disabled";
163*f126890aSEmmanuel Vadot			};
164*f126890aSEmmanuel Vadot		};
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot		timers6: timers@40001000 {
167*f126890aSEmmanuel Vadot			#address-cells = <1>;
168*f126890aSEmmanuel Vadot			#size-cells = <0>;
169*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
170*f126890aSEmmanuel Vadot			reg = <0x40001000 0x400>;
171*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>;
172*f126890aSEmmanuel Vadot			clock-names = "int";
173*f126890aSEmmanuel Vadot			status = "disabled";
174*f126890aSEmmanuel Vadot
175*f126890aSEmmanuel Vadot			timer@5 {
176*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
177*f126890aSEmmanuel Vadot				reg = <5>;
178*f126890aSEmmanuel Vadot				status = "disabled";
179*f126890aSEmmanuel Vadot			};
180*f126890aSEmmanuel Vadot		};
181*f126890aSEmmanuel Vadot
182*f126890aSEmmanuel Vadot		timers7: timers@40001400 {
183*f126890aSEmmanuel Vadot			#address-cells = <1>;
184*f126890aSEmmanuel Vadot			#size-cells = <0>;
185*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
186*f126890aSEmmanuel Vadot			reg = <0x40001400 0x400>;
187*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>;
188*f126890aSEmmanuel Vadot			clock-names = "int";
189*f126890aSEmmanuel Vadot			status = "disabled";
190*f126890aSEmmanuel Vadot
191*f126890aSEmmanuel Vadot			timer@6 {
192*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
193*f126890aSEmmanuel Vadot				reg = <6>;
194*f126890aSEmmanuel Vadot				status = "disabled";
195*f126890aSEmmanuel Vadot			};
196*f126890aSEmmanuel Vadot		};
197*f126890aSEmmanuel Vadot
198*f126890aSEmmanuel Vadot		timers12: timers@40001800 {
199*f126890aSEmmanuel Vadot			#address-cells = <1>;
200*f126890aSEmmanuel Vadot			#size-cells = <0>;
201*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
202*f126890aSEmmanuel Vadot			reg = <0x40001800 0x400>;
203*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM12)>;
204*f126890aSEmmanuel Vadot			clock-names = "int";
205*f126890aSEmmanuel Vadot			status = "disabled";
206*f126890aSEmmanuel Vadot
207*f126890aSEmmanuel Vadot			pwm {
208*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
209*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
210*f126890aSEmmanuel Vadot				status = "disabled";
211*f126890aSEmmanuel Vadot			};
212*f126890aSEmmanuel Vadot
213*f126890aSEmmanuel Vadot			timer@11 {
214*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
215*f126890aSEmmanuel Vadot				reg = <11>;
216*f126890aSEmmanuel Vadot				status = "disabled";
217*f126890aSEmmanuel Vadot			};
218*f126890aSEmmanuel Vadot		};
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot		timers13: timers@40001c00 {
221*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
222*f126890aSEmmanuel Vadot			reg = <0x40001C00 0x400>;
223*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM13)>;
224*f126890aSEmmanuel Vadot			clock-names = "int";
225*f126890aSEmmanuel Vadot			status = "disabled";
226*f126890aSEmmanuel Vadot
227*f126890aSEmmanuel Vadot			pwm {
228*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
229*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
230*f126890aSEmmanuel Vadot				status = "disabled";
231*f126890aSEmmanuel Vadot			};
232*f126890aSEmmanuel Vadot		};
233*f126890aSEmmanuel Vadot
234*f126890aSEmmanuel Vadot		timers14: timers@40002000 {
235*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
236*f126890aSEmmanuel Vadot			reg = <0x40002000 0x400>;
237*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM14)>;
238*f126890aSEmmanuel Vadot			clock-names = "int";
239*f126890aSEmmanuel Vadot			status = "disabled";
240*f126890aSEmmanuel Vadot
241*f126890aSEmmanuel Vadot			pwm {
242*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
243*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
244*f126890aSEmmanuel Vadot				status = "disabled";
245*f126890aSEmmanuel Vadot			};
246*f126890aSEmmanuel Vadot		};
247*f126890aSEmmanuel Vadot
248*f126890aSEmmanuel Vadot		rtc: rtc@40002800 {
249*f126890aSEmmanuel Vadot			compatible = "st,stm32-rtc";
250*f126890aSEmmanuel Vadot			reg = <0x40002800 0x400>;
251*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_RTC>;
252*f126890aSEmmanuel Vadot			assigned-clocks = <&rcc 1 CLK_RTC>;
253*f126890aSEmmanuel Vadot			assigned-clock-parents = <&rcc 1 CLK_LSE>;
254*f126890aSEmmanuel Vadot			interrupt-parent = <&exti>;
255*f126890aSEmmanuel Vadot			interrupts = <17 1>;
256*f126890aSEmmanuel Vadot			st,syscfg = <&pwrcfg 0x00 0x100>;
257*f126890aSEmmanuel Vadot			status = "disabled";
258*f126890aSEmmanuel Vadot		};
259*f126890aSEmmanuel Vadot
260*f126890aSEmmanuel Vadot		usart2: serial@40004400 {
261*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
262*f126890aSEmmanuel Vadot			reg = <0x40004400 0x400>;
263*f126890aSEmmanuel Vadot			interrupts = <38>;
264*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_USART2>;
265*f126890aSEmmanuel Vadot			status = "disabled";
266*f126890aSEmmanuel Vadot		};
267*f126890aSEmmanuel Vadot
268*f126890aSEmmanuel Vadot		usart3: serial@40004800 {
269*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
270*f126890aSEmmanuel Vadot			reg = <0x40004800 0x400>;
271*f126890aSEmmanuel Vadot			interrupts = <39>;
272*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_USART3>;
273*f126890aSEmmanuel Vadot			status = "disabled";
274*f126890aSEmmanuel Vadot		};
275*f126890aSEmmanuel Vadot
276*f126890aSEmmanuel Vadot		usart4: serial@40004c00 {
277*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
278*f126890aSEmmanuel Vadot			reg = <0x40004c00 0x400>;
279*f126890aSEmmanuel Vadot			interrupts = <52>;
280*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_UART4>;
281*f126890aSEmmanuel Vadot			status = "disabled";
282*f126890aSEmmanuel Vadot		};
283*f126890aSEmmanuel Vadot
284*f126890aSEmmanuel Vadot		usart5: serial@40005000 {
285*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
286*f126890aSEmmanuel Vadot			reg = <0x40005000 0x400>;
287*f126890aSEmmanuel Vadot			interrupts = <53>;
288*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_UART5>;
289*f126890aSEmmanuel Vadot			status = "disabled";
290*f126890aSEmmanuel Vadot		};
291*f126890aSEmmanuel Vadot
292*f126890aSEmmanuel Vadot		i2c1: i2c@40005400 {
293*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-i2c";
294*f126890aSEmmanuel Vadot			reg = <0x40005400 0x400>;
295*f126890aSEmmanuel Vadot			interrupts = <31>,
296*f126890aSEmmanuel Vadot				     <32>;
297*f126890aSEmmanuel Vadot			resets = <&rcc STM32F7_APB1_RESET(I2C1)>;
298*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_I2C1>;
299*f126890aSEmmanuel Vadot			#address-cells = <1>;
300*f126890aSEmmanuel Vadot			#size-cells = <0>;
301*f126890aSEmmanuel Vadot			status = "disabled";
302*f126890aSEmmanuel Vadot		};
303*f126890aSEmmanuel Vadot
304*f126890aSEmmanuel Vadot		i2c2: i2c@40005800 {
305*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-i2c";
306*f126890aSEmmanuel Vadot			reg = <0x40005800 0x400>;
307*f126890aSEmmanuel Vadot			interrupts = <33>,
308*f126890aSEmmanuel Vadot				     <34>;
309*f126890aSEmmanuel Vadot			resets = <&rcc STM32F7_APB1_RESET(I2C2)>;
310*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_I2C2>;
311*f126890aSEmmanuel Vadot			#address-cells = <1>;
312*f126890aSEmmanuel Vadot			#size-cells = <0>;
313*f126890aSEmmanuel Vadot			status = "disabled";
314*f126890aSEmmanuel Vadot		};
315*f126890aSEmmanuel Vadot
316*f126890aSEmmanuel Vadot		i2c3: i2c@40005c00 {
317*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-i2c";
318*f126890aSEmmanuel Vadot			reg = <0x40005c00 0x400>;
319*f126890aSEmmanuel Vadot			interrupts = <72>,
320*f126890aSEmmanuel Vadot				     <73>;
321*f126890aSEmmanuel Vadot			resets = <&rcc STM32F7_APB1_RESET(I2C3)>;
322*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_I2C3>;
323*f126890aSEmmanuel Vadot			#address-cells = <1>;
324*f126890aSEmmanuel Vadot			#size-cells = <0>;
325*f126890aSEmmanuel Vadot			status = "disabled";
326*f126890aSEmmanuel Vadot		};
327*f126890aSEmmanuel Vadot
328*f126890aSEmmanuel Vadot		i2c4: i2c@40006000 {
329*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-i2c";
330*f126890aSEmmanuel Vadot			reg = <0x40006000 0x400>;
331*f126890aSEmmanuel Vadot			interrupts = <95>,
332*f126890aSEmmanuel Vadot				     <96>;
333*f126890aSEmmanuel Vadot			resets = <&rcc STM32F7_APB1_RESET(I2C4)>;
334*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_I2C4>;
335*f126890aSEmmanuel Vadot			#address-cells = <1>;
336*f126890aSEmmanuel Vadot			#size-cells = <0>;
337*f126890aSEmmanuel Vadot			status = "disabled";
338*f126890aSEmmanuel Vadot		};
339*f126890aSEmmanuel Vadot
340*f126890aSEmmanuel Vadot		cec: cec@40006c00 {
341*f126890aSEmmanuel Vadot			compatible = "st,stm32-cec";
342*f126890aSEmmanuel Vadot			reg = <0x40006C00 0x400>;
343*f126890aSEmmanuel Vadot			interrupts = <94>;
344*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB1_CLOCK(CEC)>, <&rcc 1 CLK_HDMI_CEC>;
345*f126890aSEmmanuel Vadot			clock-names = "cec", "hdmi-cec";
346*f126890aSEmmanuel Vadot			status = "disabled";
347*f126890aSEmmanuel Vadot		};
348*f126890aSEmmanuel Vadot
349*f126890aSEmmanuel Vadot		usart7: serial@40007800 {
350*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
351*f126890aSEmmanuel Vadot			reg = <0x40007800 0x400>;
352*f126890aSEmmanuel Vadot			interrupts = <82>;
353*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_UART7>;
354*f126890aSEmmanuel Vadot			status = "disabled";
355*f126890aSEmmanuel Vadot		};
356*f126890aSEmmanuel Vadot
357*f126890aSEmmanuel Vadot		usart8: serial@40007c00 {
358*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
359*f126890aSEmmanuel Vadot			reg = <0x40007c00 0x400>;
360*f126890aSEmmanuel Vadot			interrupts = <83>;
361*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_UART8>;
362*f126890aSEmmanuel Vadot			status = "disabled";
363*f126890aSEmmanuel Vadot		};
364*f126890aSEmmanuel Vadot
365*f126890aSEmmanuel Vadot		timers1: timers@40010000 {
366*f126890aSEmmanuel Vadot			#address-cells = <1>;
367*f126890aSEmmanuel Vadot			#size-cells = <0>;
368*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
369*f126890aSEmmanuel Vadot			reg = <0x40010000 0x400>;
370*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM1)>;
371*f126890aSEmmanuel Vadot			clock-names = "int";
372*f126890aSEmmanuel Vadot			status = "disabled";
373*f126890aSEmmanuel Vadot
374*f126890aSEmmanuel Vadot			pwm {
375*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
376*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
377*f126890aSEmmanuel Vadot				status = "disabled";
378*f126890aSEmmanuel Vadot			};
379*f126890aSEmmanuel Vadot
380*f126890aSEmmanuel Vadot			timer@0 {
381*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
382*f126890aSEmmanuel Vadot				reg = <0>;
383*f126890aSEmmanuel Vadot				status = "disabled";
384*f126890aSEmmanuel Vadot			};
385*f126890aSEmmanuel Vadot		};
386*f126890aSEmmanuel Vadot
387*f126890aSEmmanuel Vadot		timers8: timers@40010400 {
388*f126890aSEmmanuel Vadot			#address-cells = <1>;
389*f126890aSEmmanuel Vadot			#size-cells = <0>;
390*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
391*f126890aSEmmanuel Vadot			reg = <0x40010400 0x400>;
392*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM8)>;
393*f126890aSEmmanuel Vadot			clock-names = "int";
394*f126890aSEmmanuel Vadot			status = "disabled";
395*f126890aSEmmanuel Vadot
396*f126890aSEmmanuel Vadot			pwm {
397*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
398*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
399*f126890aSEmmanuel Vadot				status = "disabled";
400*f126890aSEmmanuel Vadot			};
401*f126890aSEmmanuel Vadot
402*f126890aSEmmanuel Vadot			timer@7 {
403*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
404*f126890aSEmmanuel Vadot				reg = <7>;
405*f126890aSEmmanuel Vadot				status = "disabled";
406*f126890aSEmmanuel Vadot			};
407*f126890aSEmmanuel Vadot		};
408*f126890aSEmmanuel Vadot
409*f126890aSEmmanuel Vadot		usart1: serial@40011000 {
410*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
411*f126890aSEmmanuel Vadot			reg = <0x40011000 0x400>;
412*f126890aSEmmanuel Vadot			interrupts = <37>;
413*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_USART1>;
414*f126890aSEmmanuel Vadot			status = "disabled";
415*f126890aSEmmanuel Vadot		};
416*f126890aSEmmanuel Vadot
417*f126890aSEmmanuel Vadot		usart6: serial@40011400 {
418*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-uart";
419*f126890aSEmmanuel Vadot			reg = <0x40011400 0x400>;
420*f126890aSEmmanuel Vadot			interrupts = <71>;
421*f126890aSEmmanuel Vadot			clocks = <&rcc 1 CLK_USART6>;
422*f126890aSEmmanuel Vadot			status = "disabled";
423*f126890aSEmmanuel Vadot		};
424*f126890aSEmmanuel Vadot
425*f126890aSEmmanuel Vadot		sdio2: mmc@40011c00 {
426*f126890aSEmmanuel Vadot			compatible = "arm,pl180", "arm,primecell";
427*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00880180>;
428*f126890aSEmmanuel Vadot			reg = <0x40011c00 0x400>;
429*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC2)>;
430*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
431*f126890aSEmmanuel Vadot			interrupts = <103>;
432*f126890aSEmmanuel Vadot			max-frequency = <48000000>;
433*f126890aSEmmanuel Vadot			status = "disabled";
434*f126890aSEmmanuel Vadot		};
435*f126890aSEmmanuel Vadot
436*f126890aSEmmanuel Vadot		sdio1: mmc@40012c00 {
437*f126890aSEmmanuel Vadot			compatible = "arm,pl180", "arm,primecell";
438*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x00880180>;
439*f126890aSEmmanuel Vadot			reg = <0x40012c00 0x400>;
440*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC1)>;
441*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
442*f126890aSEmmanuel Vadot			interrupts = <49>;
443*f126890aSEmmanuel Vadot			max-frequency = <48000000>;
444*f126890aSEmmanuel Vadot			status = "disabled";
445*f126890aSEmmanuel Vadot		};
446*f126890aSEmmanuel Vadot
447*f126890aSEmmanuel Vadot		syscfg: syscon@40013800 {
448*f126890aSEmmanuel Vadot			compatible = "st,stm32-syscfg", "syscon";
449*f126890aSEmmanuel Vadot			reg = <0x40013800 0x400>;
450*f126890aSEmmanuel Vadot		};
451*f126890aSEmmanuel Vadot
452*f126890aSEmmanuel Vadot		exti: interrupt-controller@40013c00 {
453*f126890aSEmmanuel Vadot			compatible = "st,stm32-exti";
454*f126890aSEmmanuel Vadot			interrupt-controller;
455*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
456*f126890aSEmmanuel Vadot			reg = <0x40013C00 0x400>;
457*f126890aSEmmanuel Vadot			interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
458*f126890aSEmmanuel Vadot		};
459*f126890aSEmmanuel Vadot
460*f126890aSEmmanuel Vadot		timers9: timers@40014000 {
461*f126890aSEmmanuel Vadot			#address-cells = <1>;
462*f126890aSEmmanuel Vadot			#size-cells = <0>;
463*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
464*f126890aSEmmanuel Vadot			reg = <0x40014000 0x400>;
465*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM9)>;
466*f126890aSEmmanuel Vadot			clock-names = "int";
467*f126890aSEmmanuel Vadot			status = "disabled";
468*f126890aSEmmanuel Vadot
469*f126890aSEmmanuel Vadot			pwm {
470*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
471*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
472*f126890aSEmmanuel Vadot				status = "disabled";
473*f126890aSEmmanuel Vadot			};
474*f126890aSEmmanuel Vadot
475*f126890aSEmmanuel Vadot			timer@8 {
476*f126890aSEmmanuel Vadot				compatible = "st,stm32-timer-trigger";
477*f126890aSEmmanuel Vadot				reg = <8>;
478*f126890aSEmmanuel Vadot				status = "disabled";
479*f126890aSEmmanuel Vadot			};
480*f126890aSEmmanuel Vadot		};
481*f126890aSEmmanuel Vadot
482*f126890aSEmmanuel Vadot		timers10: timers@40014400 {
483*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
484*f126890aSEmmanuel Vadot			reg = <0x40014400 0x400>;
485*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM10)>;
486*f126890aSEmmanuel Vadot			clock-names = "int";
487*f126890aSEmmanuel Vadot			status = "disabled";
488*f126890aSEmmanuel Vadot
489*f126890aSEmmanuel Vadot			pwm {
490*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
491*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
492*f126890aSEmmanuel Vadot				status = "disabled";
493*f126890aSEmmanuel Vadot			};
494*f126890aSEmmanuel Vadot		};
495*f126890aSEmmanuel Vadot
496*f126890aSEmmanuel Vadot		timers11: timers@40014800 {
497*f126890aSEmmanuel Vadot			compatible = "st,stm32-timers";
498*f126890aSEmmanuel Vadot			reg = <0x40014800 0x400>;
499*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM11)>;
500*f126890aSEmmanuel Vadot			clock-names = "int";
501*f126890aSEmmanuel Vadot			status = "disabled";
502*f126890aSEmmanuel Vadot
503*f126890aSEmmanuel Vadot			pwm {
504*f126890aSEmmanuel Vadot				compatible = "st,stm32-pwm";
505*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
506*f126890aSEmmanuel Vadot				status = "disabled";
507*f126890aSEmmanuel Vadot			};
508*f126890aSEmmanuel Vadot		};
509*f126890aSEmmanuel Vadot
510*f126890aSEmmanuel Vadot		pwrcfg: power-config@40007000 {
511*f126890aSEmmanuel Vadot			compatible = "st,stm32-power-config", "syscon";
512*f126890aSEmmanuel Vadot			reg = <0x40007000 0x400>;
513*f126890aSEmmanuel Vadot		};
514*f126890aSEmmanuel Vadot
515*f126890aSEmmanuel Vadot		crc: crc@40023000 {
516*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-crc";
517*f126890aSEmmanuel Vadot			reg = <0x40023000 0x400>;
518*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_AHB1_CLOCK(CRC)>;
519*f126890aSEmmanuel Vadot			status = "disabled";
520*f126890aSEmmanuel Vadot		};
521*f126890aSEmmanuel Vadot
522*f126890aSEmmanuel Vadot		rcc: rcc@40023800 {
523*f126890aSEmmanuel Vadot			#reset-cells = <1>;
524*f126890aSEmmanuel Vadot			#clock-cells = <2>;
525*f126890aSEmmanuel Vadot			compatible = "st,stm32f746-rcc", "st,stm32-rcc";
526*f126890aSEmmanuel Vadot			reg = <0x40023800 0x400>;
527*f126890aSEmmanuel Vadot			clocks = <&clk_hse>, <&clk_i2s_ckin>;
528*f126890aSEmmanuel Vadot			st,syscfg = <&pwrcfg>;
529*f126890aSEmmanuel Vadot			assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
530*f126890aSEmmanuel Vadot			assigned-clock-rates = <1000000>;
531*f126890aSEmmanuel Vadot		};
532*f126890aSEmmanuel Vadot
533*f126890aSEmmanuel Vadot		dma1: dma-controller@40026000 {
534*f126890aSEmmanuel Vadot			compatible = "st,stm32-dma";
535*f126890aSEmmanuel Vadot			reg = <0x40026000 0x400>;
536*f126890aSEmmanuel Vadot			interrupts = <11>,
537*f126890aSEmmanuel Vadot				     <12>,
538*f126890aSEmmanuel Vadot				     <13>,
539*f126890aSEmmanuel Vadot				     <14>,
540*f126890aSEmmanuel Vadot				     <15>,
541*f126890aSEmmanuel Vadot				     <16>,
542*f126890aSEmmanuel Vadot				     <17>,
543*f126890aSEmmanuel Vadot				     <47>;
544*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA1)>;
545*f126890aSEmmanuel Vadot			#dma-cells = <4>;
546*f126890aSEmmanuel Vadot			status = "disabled";
547*f126890aSEmmanuel Vadot		};
548*f126890aSEmmanuel Vadot
549*f126890aSEmmanuel Vadot		dma2: dma-controller@40026400 {
550*f126890aSEmmanuel Vadot			compatible = "st,stm32-dma";
551*f126890aSEmmanuel Vadot			reg = <0x40026400 0x400>;
552*f126890aSEmmanuel Vadot			interrupts = <56>,
553*f126890aSEmmanuel Vadot				     <57>,
554*f126890aSEmmanuel Vadot				     <58>,
555*f126890aSEmmanuel Vadot				     <59>,
556*f126890aSEmmanuel Vadot				     <60>,
557*f126890aSEmmanuel Vadot				     <68>,
558*f126890aSEmmanuel Vadot				     <69>,
559*f126890aSEmmanuel Vadot				     <70>;
560*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA2)>;
561*f126890aSEmmanuel Vadot			#dma-cells = <4>;
562*f126890aSEmmanuel Vadot			st,mem2mem;
563*f126890aSEmmanuel Vadot			status = "disabled";
564*f126890aSEmmanuel Vadot		};
565*f126890aSEmmanuel Vadot
566*f126890aSEmmanuel Vadot		usbotg_hs: usb@40040000 {
567*f126890aSEmmanuel Vadot			compatible = "st,stm32f7-hsotg";
568*f126890aSEmmanuel Vadot			reg = <0x40040000 0x40000>;
569*f126890aSEmmanuel Vadot			interrupts = <77>;
570*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>;
571*f126890aSEmmanuel Vadot			clock-names = "otg";
572*f126890aSEmmanuel Vadot			g-rx-fifo-size = <256>;
573*f126890aSEmmanuel Vadot			g-np-tx-fifo-size = <32>;
574*f126890aSEmmanuel Vadot			g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
575*f126890aSEmmanuel Vadot			status = "disabled";
576*f126890aSEmmanuel Vadot		};
577*f126890aSEmmanuel Vadot
578*f126890aSEmmanuel Vadot		usbotg_fs: usb@50000000 {
579*f126890aSEmmanuel Vadot			compatible = "st,stm32f4x9-fsotg";
580*f126890aSEmmanuel Vadot			reg = <0x50000000 0x40000>;
581*f126890aSEmmanuel Vadot			interrupts = <67>;
582*f126890aSEmmanuel Vadot			clocks = <&rcc 0 STM32F7_AHB2_CLOCK(OTGFS)>;
583*f126890aSEmmanuel Vadot			clock-names = "otg";
584*f126890aSEmmanuel Vadot			status = "disabled";
585*f126890aSEmmanuel Vadot		};
586*f126890aSEmmanuel Vadot	};
587*f126890aSEmmanuel Vadot};
588*f126890aSEmmanuel Vadot
589*f126890aSEmmanuel Vadot&systick {
590*f126890aSEmmanuel Vadot	clocks = <&rcc 1 0>;
591*f126890aSEmmanuel Vadot	status = "okay";
592*f126890aSEmmanuel Vadot};
593