xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/stm32mp151.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4*4882a593Smuzhiyun * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
7*4882a593Smuzhiyun#include <dt-bindings/clock/stm32mp1-clks.h>
8*4882a593Smuzhiyun#include <dt-bindings/reset/stm32mp1-resets.h>
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	#address-cells = <1>;
12*4882a593Smuzhiyun	#size-cells = <1>;
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	cpus {
15*4882a593Smuzhiyun		#address-cells = <1>;
16*4882a593Smuzhiyun		#size-cells = <0>;
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun		cpu0: cpu@0 {
19*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
20*4882a593Smuzhiyun			clock-frequency = <650000000>;
21*4882a593Smuzhiyun			device_type = "cpu";
22*4882a593Smuzhiyun			reg = <0>;
23*4882a593Smuzhiyun		};
24*4882a593Smuzhiyun	};
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	arm-pmu {
27*4882a593Smuzhiyun		compatible = "arm,cortex-a7-pmu";
28*4882a593Smuzhiyun		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
29*4882a593Smuzhiyun		interrupt-affinity = <&cpu0>;
30*4882a593Smuzhiyun		interrupt-parent = <&intc>;
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	psci {
34*4882a593Smuzhiyun		compatible = "arm,psci-1.0";
35*4882a593Smuzhiyun		method = "smc";
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	intc: interrupt-controller@a0021000 {
39*4882a593Smuzhiyun		compatible = "arm,cortex-a7-gic";
40*4882a593Smuzhiyun		#interrupt-cells = <3>;
41*4882a593Smuzhiyun		interrupt-controller;
42*4882a593Smuzhiyun		reg = <0xa0021000 0x1000>,
43*4882a593Smuzhiyun		      <0xa0022000 0x2000>;
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	timer {
47*4882a593Smuzhiyun		compatible = "arm,armv7-timer";
48*4882a593Smuzhiyun		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
49*4882a593Smuzhiyun			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
50*4882a593Smuzhiyun			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
51*4882a593Smuzhiyun			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
52*4882a593Smuzhiyun		interrupt-parent = <&intc>;
53*4882a593Smuzhiyun	};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	clocks {
56*4882a593Smuzhiyun		clk_hse: clk-hse {
57*4882a593Smuzhiyun			#clock-cells = <0>;
58*4882a593Smuzhiyun			compatible = "fixed-clock";
59*4882a593Smuzhiyun			clock-frequency = <24000000>;
60*4882a593Smuzhiyun		};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun		clk_hsi: clk-hsi {
63*4882a593Smuzhiyun			#clock-cells = <0>;
64*4882a593Smuzhiyun			compatible = "fixed-clock";
65*4882a593Smuzhiyun			clock-frequency = <64000000>;
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		clk_lse: clk-lse {
69*4882a593Smuzhiyun			#clock-cells = <0>;
70*4882a593Smuzhiyun			compatible = "fixed-clock";
71*4882a593Smuzhiyun			clock-frequency = <32768>;
72*4882a593Smuzhiyun		};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun		clk_lsi: clk-lsi {
75*4882a593Smuzhiyun			#clock-cells = <0>;
76*4882a593Smuzhiyun			compatible = "fixed-clock";
77*4882a593Smuzhiyun			clock-frequency = <32000>;
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		clk_csi: clk-csi {
81*4882a593Smuzhiyun			#clock-cells = <0>;
82*4882a593Smuzhiyun			compatible = "fixed-clock";
83*4882a593Smuzhiyun			clock-frequency = <4000000>;
84*4882a593Smuzhiyun		};
85*4882a593Smuzhiyun	};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	thermal-zones {
88*4882a593Smuzhiyun		cpu_thermal: cpu-thermal {
89*4882a593Smuzhiyun			polling-delay-passive = <0>;
90*4882a593Smuzhiyun			polling-delay = <0>;
91*4882a593Smuzhiyun			thermal-sensors = <&dts>;
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun			trips {
94*4882a593Smuzhiyun				cpu_alert1: cpu-alert1 {
95*4882a593Smuzhiyun					temperature = <85000>;
96*4882a593Smuzhiyun					hysteresis = <0>;
97*4882a593Smuzhiyun					type = "passive";
98*4882a593Smuzhiyun				};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun				cpu-crit {
101*4882a593Smuzhiyun					temperature = <120000>;
102*4882a593Smuzhiyun					hysteresis = <0>;
103*4882a593Smuzhiyun					type = "critical";
104*4882a593Smuzhiyun				};
105*4882a593Smuzhiyun			};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun			cooling-maps {
108*4882a593Smuzhiyun			};
109*4882a593Smuzhiyun		};
110*4882a593Smuzhiyun	};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun	booster: regulator-booster {
113*4882a593Smuzhiyun		compatible = "st,stm32mp1-booster";
114*4882a593Smuzhiyun		st,syscfg = <&syscfg>;
115*4882a593Smuzhiyun		status = "disabled";
116*4882a593Smuzhiyun	};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun	soc {
119*4882a593Smuzhiyun		compatible = "simple-bus";
120*4882a593Smuzhiyun		#address-cells = <1>;
121*4882a593Smuzhiyun		#size-cells = <1>;
122*4882a593Smuzhiyun		interrupt-parent = <&intc>;
123*4882a593Smuzhiyun		ranges;
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun		timers2: timer@40000000 {
126*4882a593Smuzhiyun			#address-cells = <1>;
127*4882a593Smuzhiyun			#size-cells = <0>;
128*4882a593Smuzhiyun			compatible = "st,stm32-timers";
129*4882a593Smuzhiyun			reg = <0x40000000 0x400>;
130*4882a593Smuzhiyun			clocks = <&rcc TIM2_K>;
131*4882a593Smuzhiyun			clock-names = "int";
132*4882a593Smuzhiyun			dmas = <&dmamux1 18 0x400 0x1>,
133*4882a593Smuzhiyun			       <&dmamux1 19 0x400 0x1>,
134*4882a593Smuzhiyun			       <&dmamux1 20 0x400 0x1>,
135*4882a593Smuzhiyun			       <&dmamux1 21 0x400 0x1>,
136*4882a593Smuzhiyun			       <&dmamux1 22 0x400 0x1>;
137*4882a593Smuzhiyun			dma-names = "ch1", "ch2", "ch3", "ch4", "up";
138*4882a593Smuzhiyun			status = "disabled";
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun			pwm {
141*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
142*4882a593Smuzhiyun				#pwm-cells = <3>;
143*4882a593Smuzhiyun				status = "disabled";
144*4882a593Smuzhiyun			};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun			timer@1 {
147*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
148*4882a593Smuzhiyun				reg = <1>;
149*4882a593Smuzhiyun				status = "disabled";
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun			counter {
153*4882a593Smuzhiyun				compatible = "st,stm32-timer-counter";
154*4882a593Smuzhiyun				status = "disabled";
155*4882a593Smuzhiyun			};
156*4882a593Smuzhiyun		};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun		timers3: timer@40001000 {
159*4882a593Smuzhiyun			#address-cells = <1>;
160*4882a593Smuzhiyun			#size-cells = <0>;
161*4882a593Smuzhiyun			compatible = "st,stm32-timers";
162*4882a593Smuzhiyun			reg = <0x40001000 0x400>;
163*4882a593Smuzhiyun			clocks = <&rcc TIM3_K>;
164*4882a593Smuzhiyun			clock-names = "int";
165*4882a593Smuzhiyun			dmas = <&dmamux1 23 0x400 0x1>,
166*4882a593Smuzhiyun			       <&dmamux1 24 0x400 0x1>,
167*4882a593Smuzhiyun			       <&dmamux1 25 0x400 0x1>,
168*4882a593Smuzhiyun			       <&dmamux1 26 0x400 0x1>,
169*4882a593Smuzhiyun			       <&dmamux1 27 0x400 0x1>,
170*4882a593Smuzhiyun			       <&dmamux1 28 0x400 0x1>;
171*4882a593Smuzhiyun			dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
172*4882a593Smuzhiyun			status = "disabled";
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun			pwm {
175*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
176*4882a593Smuzhiyun				#pwm-cells = <3>;
177*4882a593Smuzhiyun				status = "disabled";
178*4882a593Smuzhiyun			};
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun			timer@2 {
181*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
182*4882a593Smuzhiyun				reg = <2>;
183*4882a593Smuzhiyun				status = "disabled";
184*4882a593Smuzhiyun			};
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun			counter {
187*4882a593Smuzhiyun				compatible = "st,stm32-timer-counter";
188*4882a593Smuzhiyun				status = "disabled";
189*4882a593Smuzhiyun			};
190*4882a593Smuzhiyun		};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun		timers4: timer@40002000 {
193*4882a593Smuzhiyun			#address-cells = <1>;
194*4882a593Smuzhiyun			#size-cells = <0>;
195*4882a593Smuzhiyun			compatible = "st,stm32-timers";
196*4882a593Smuzhiyun			reg = <0x40002000 0x400>;
197*4882a593Smuzhiyun			clocks = <&rcc TIM4_K>;
198*4882a593Smuzhiyun			clock-names = "int";
199*4882a593Smuzhiyun			dmas = <&dmamux1 29 0x400 0x1>,
200*4882a593Smuzhiyun			       <&dmamux1 30 0x400 0x1>,
201*4882a593Smuzhiyun			       <&dmamux1 31 0x400 0x1>,
202*4882a593Smuzhiyun			       <&dmamux1 32 0x400 0x1>;
203*4882a593Smuzhiyun			dma-names = "ch1", "ch2", "ch3", "ch4";
204*4882a593Smuzhiyun			status = "disabled";
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun			pwm {
207*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
208*4882a593Smuzhiyun				#pwm-cells = <3>;
209*4882a593Smuzhiyun				status = "disabled";
210*4882a593Smuzhiyun			};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun			timer@3 {
213*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
214*4882a593Smuzhiyun				reg = <3>;
215*4882a593Smuzhiyun				status = "disabled";
216*4882a593Smuzhiyun			};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun			counter {
219*4882a593Smuzhiyun				compatible = "st,stm32-timer-counter";
220*4882a593Smuzhiyun				status = "disabled";
221*4882a593Smuzhiyun			};
222*4882a593Smuzhiyun		};
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun		timers5: timer@40003000 {
225*4882a593Smuzhiyun			#address-cells = <1>;
226*4882a593Smuzhiyun			#size-cells = <0>;
227*4882a593Smuzhiyun			compatible = "st,stm32-timers";
228*4882a593Smuzhiyun			reg = <0x40003000 0x400>;
229*4882a593Smuzhiyun			clocks = <&rcc TIM5_K>;
230*4882a593Smuzhiyun			clock-names = "int";
231*4882a593Smuzhiyun			dmas = <&dmamux1 55 0x400 0x1>,
232*4882a593Smuzhiyun			       <&dmamux1 56 0x400 0x1>,
233*4882a593Smuzhiyun			       <&dmamux1 57 0x400 0x1>,
234*4882a593Smuzhiyun			       <&dmamux1 58 0x400 0x1>,
235*4882a593Smuzhiyun			       <&dmamux1 59 0x400 0x1>,
236*4882a593Smuzhiyun			       <&dmamux1 60 0x400 0x1>;
237*4882a593Smuzhiyun			dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
238*4882a593Smuzhiyun			status = "disabled";
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun			pwm {
241*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
242*4882a593Smuzhiyun				#pwm-cells = <3>;
243*4882a593Smuzhiyun				status = "disabled";
244*4882a593Smuzhiyun			};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun			timer@4 {
247*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
248*4882a593Smuzhiyun				reg = <4>;
249*4882a593Smuzhiyun				status = "disabled";
250*4882a593Smuzhiyun			};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun			counter {
253*4882a593Smuzhiyun				compatible = "st,stm32-timer-counter";
254*4882a593Smuzhiyun				status = "disabled";
255*4882a593Smuzhiyun			};
256*4882a593Smuzhiyun		};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun		timers6: timer@40004000 {
259*4882a593Smuzhiyun			#address-cells = <1>;
260*4882a593Smuzhiyun			#size-cells = <0>;
261*4882a593Smuzhiyun			compatible = "st,stm32-timers";
262*4882a593Smuzhiyun			reg = <0x40004000 0x400>;
263*4882a593Smuzhiyun			clocks = <&rcc TIM6_K>;
264*4882a593Smuzhiyun			clock-names = "int";
265*4882a593Smuzhiyun			dmas = <&dmamux1 69 0x400 0x1>;
266*4882a593Smuzhiyun			dma-names = "up";
267*4882a593Smuzhiyun			status = "disabled";
268*4882a593Smuzhiyun
269*4882a593Smuzhiyun			timer@5 {
270*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
271*4882a593Smuzhiyun				reg = <5>;
272*4882a593Smuzhiyun				status = "disabled";
273*4882a593Smuzhiyun			};
274*4882a593Smuzhiyun		};
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun		timers7: timer@40005000 {
277*4882a593Smuzhiyun			#address-cells = <1>;
278*4882a593Smuzhiyun			#size-cells = <0>;
279*4882a593Smuzhiyun			compatible = "st,stm32-timers";
280*4882a593Smuzhiyun			reg = <0x40005000 0x400>;
281*4882a593Smuzhiyun			clocks = <&rcc TIM7_K>;
282*4882a593Smuzhiyun			clock-names = "int";
283*4882a593Smuzhiyun			dmas = <&dmamux1 70 0x400 0x1>;
284*4882a593Smuzhiyun			dma-names = "up";
285*4882a593Smuzhiyun			status = "disabled";
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun			timer@6 {
288*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
289*4882a593Smuzhiyun				reg = <6>;
290*4882a593Smuzhiyun				status = "disabled";
291*4882a593Smuzhiyun			};
292*4882a593Smuzhiyun		};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun		timers12: timer@40006000 {
295*4882a593Smuzhiyun			#address-cells = <1>;
296*4882a593Smuzhiyun			#size-cells = <0>;
297*4882a593Smuzhiyun			compatible = "st,stm32-timers";
298*4882a593Smuzhiyun			reg = <0x40006000 0x400>;
299*4882a593Smuzhiyun			clocks = <&rcc TIM12_K>;
300*4882a593Smuzhiyun			clock-names = "int";
301*4882a593Smuzhiyun			status = "disabled";
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun			pwm {
304*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
305*4882a593Smuzhiyun				#pwm-cells = <3>;
306*4882a593Smuzhiyun				status = "disabled";
307*4882a593Smuzhiyun			};
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun			timer@11 {
310*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
311*4882a593Smuzhiyun				reg = <11>;
312*4882a593Smuzhiyun				status = "disabled";
313*4882a593Smuzhiyun			};
314*4882a593Smuzhiyun		};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun		timers13: timer@40007000 {
317*4882a593Smuzhiyun			#address-cells = <1>;
318*4882a593Smuzhiyun			#size-cells = <0>;
319*4882a593Smuzhiyun			compatible = "st,stm32-timers";
320*4882a593Smuzhiyun			reg = <0x40007000 0x400>;
321*4882a593Smuzhiyun			clocks = <&rcc TIM13_K>;
322*4882a593Smuzhiyun			clock-names = "int";
323*4882a593Smuzhiyun			status = "disabled";
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun			pwm {
326*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
327*4882a593Smuzhiyun				#pwm-cells = <3>;
328*4882a593Smuzhiyun				status = "disabled";
329*4882a593Smuzhiyun			};
330*4882a593Smuzhiyun
331*4882a593Smuzhiyun			timer@12 {
332*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
333*4882a593Smuzhiyun				reg = <12>;
334*4882a593Smuzhiyun				status = "disabled";
335*4882a593Smuzhiyun			};
336*4882a593Smuzhiyun		};
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun		timers14: timer@40008000 {
339*4882a593Smuzhiyun			#address-cells = <1>;
340*4882a593Smuzhiyun			#size-cells = <0>;
341*4882a593Smuzhiyun			compatible = "st,stm32-timers";
342*4882a593Smuzhiyun			reg = <0x40008000 0x400>;
343*4882a593Smuzhiyun			clocks = <&rcc TIM14_K>;
344*4882a593Smuzhiyun			clock-names = "int";
345*4882a593Smuzhiyun			status = "disabled";
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun			pwm {
348*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
349*4882a593Smuzhiyun				#pwm-cells = <3>;
350*4882a593Smuzhiyun				status = "disabled";
351*4882a593Smuzhiyun			};
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun			timer@13 {
354*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
355*4882a593Smuzhiyun				reg = <13>;
356*4882a593Smuzhiyun				status = "disabled";
357*4882a593Smuzhiyun			};
358*4882a593Smuzhiyun		};
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun		lptimer1: timer@40009000 {
361*4882a593Smuzhiyun			#address-cells = <1>;
362*4882a593Smuzhiyun			#size-cells = <0>;
363*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
364*4882a593Smuzhiyun			reg = <0x40009000 0x400>;
365*4882a593Smuzhiyun			clocks = <&rcc LPTIM1_K>;
366*4882a593Smuzhiyun			clock-names = "mux";
367*4882a593Smuzhiyun			status = "disabled";
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun			pwm {
370*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
371*4882a593Smuzhiyun				#pwm-cells = <3>;
372*4882a593Smuzhiyun				status = "disabled";
373*4882a593Smuzhiyun			};
374*4882a593Smuzhiyun
375*4882a593Smuzhiyun			trigger@0 {
376*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-trigger";
377*4882a593Smuzhiyun				reg = <0>;
378*4882a593Smuzhiyun				status = "disabled";
379*4882a593Smuzhiyun			};
380*4882a593Smuzhiyun
381*4882a593Smuzhiyun			counter {
382*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-counter";
383*4882a593Smuzhiyun				status = "disabled";
384*4882a593Smuzhiyun			};
385*4882a593Smuzhiyun		};
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun		spi2: spi@4000b000 {
388*4882a593Smuzhiyun			#address-cells = <1>;
389*4882a593Smuzhiyun			#size-cells = <0>;
390*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
391*4882a593Smuzhiyun			reg = <0x4000b000 0x400>;
392*4882a593Smuzhiyun			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
393*4882a593Smuzhiyun			clocks = <&rcc SPI2_K>;
394*4882a593Smuzhiyun			resets = <&rcc SPI2_R>;
395*4882a593Smuzhiyun			dmas = <&dmamux1 39 0x400 0x05>,
396*4882a593Smuzhiyun			       <&dmamux1 40 0x400 0x05>;
397*4882a593Smuzhiyun			dma-names = "rx", "tx";
398*4882a593Smuzhiyun			status = "disabled";
399*4882a593Smuzhiyun		};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun		i2s2: audio-controller@4000b000 {
402*4882a593Smuzhiyun			compatible = "st,stm32h7-i2s";
403*4882a593Smuzhiyun			#sound-dai-cells = <0>;
404*4882a593Smuzhiyun			reg = <0x4000b000 0x400>;
405*4882a593Smuzhiyun			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
406*4882a593Smuzhiyun			dmas = <&dmamux1 39 0x400 0x01>,
407*4882a593Smuzhiyun			       <&dmamux1 40 0x400 0x01>;
408*4882a593Smuzhiyun			dma-names = "rx", "tx";
409*4882a593Smuzhiyun			status = "disabled";
410*4882a593Smuzhiyun		};
411*4882a593Smuzhiyun
412*4882a593Smuzhiyun		spi3: spi@4000c000 {
413*4882a593Smuzhiyun			#address-cells = <1>;
414*4882a593Smuzhiyun			#size-cells = <0>;
415*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
416*4882a593Smuzhiyun			reg = <0x4000c000 0x400>;
417*4882a593Smuzhiyun			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
418*4882a593Smuzhiyun			clocks = <&rcc SPI3_K>;
419*4882a593Smuzhiyun			resets = <&rcc SPI3_R>;
420*4882a593Smuzhiyun			dmas = <&dmamux1 61 0x400 0x05>,
421*4882a593Smuzhiyun			       <&dmamux1 62 0x400 0x05>;
422*4882a593Smuzhiyun			dma-names = "rx", "tx";
423*4882a593Smuzhiyun			status = "disabled";
424*4882a593Smuzhiyun		};
425*4882a593Smuzhiyun
426*4882a593Smuzhiyun		i2s3: audio-controller@4000c000 {
427*4882a593Smuzhiyun			compatible = "st,stm32h7-i2s";
428*4882a593Smuzhiyun			#sound-dai-cells = <0>;
429*4882a593Smuzhiyun			reg = <0x4000c000 0x400>;
430*4882a593Smuzhiyun			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
431*4882a593Smuzhiyun			dmas = <&dmamux1 61 0x400 0x01>,
432*4882a593Smuzhiyun			       <&dmamux1 62 0x400 0x01>;
433*4882a593Smuzhiyun			dma-names = "rx", "tx";
434*4882a593Smuzhiyun			status = "disabled";
435*4882a593Smuzhiyun		};
436*4882a593Smuzhiyun
437*4882a593Smuzhiyun		spdifrx: audio-controller@4000d000 {
438*4882a593Smuzhiyun			compatible = "st,stm32h7-spdifrx";
439*4882a593Smuzhiyun			#sound-dai-cells = <0>;
440*4882a593Smuzhiyun			reg = <0x4000d000 0x400>;
441*4882a593Smuzhiyun			clocks = <&rcc SPDIF_K>;
442*4882a593Smuzhiyun			clock-names = "kclk";
443*4882a593Smuzhiyun			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
444*4882a593Smuzhiyun			dmas = <&dmamux1 93 0x400 0x01>,
445*4882a593Smuzhiyun			       <&dmamux1 94 0x400 0x01>;
446*4882a593Smuzhiyun			dma-names = "rx", "rx-ctrl";
447*4882a593Smuzhiyun			status = "disabled";
448*4882a593Smuzhiyun		};
449*4882a593Smuzhiyun
450*4882a593Smuzhiyun		usart2: serial@4000e000 {
451*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
452*4882a593Smuzhiyun			reg = <0x4000e000 0x400>;
453*4882a593Smuzhiyun			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
454*4882a593Smuzhiyun			clocks = <&rcc USART2_K>;
455*4882a593Smuzhiyun			status = "disabled";
456*4882a593Smuzhiyun		};
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun		usart3: serial@4000f000 {
459*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
460*4882a593Smuzhiyun			reg = <0x4000f000 0x400>;
461*4882a593Smuzhiyun			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
462*4882a593Smuzhiyun			clocks = <&rcc USART3_K>;
463*4882a593Smuzhiyun			status = "disabled";
464*4882a593Smuzhiyun		};
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun		uart4: serial@40010000 {
467*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
468*4882a593Smuzhiyun			reg = <0x40010000 0x400>;
469*4882a593Smuzhiyun			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
470*4882a593Smuzhiyun			clocks = <&rcc UART4_K>;
471*4882a593Smuzhiyun			status = "disabled";
472*4882a593Smuzhiyun		};
473*4882a593Smuzhiyun
474*4882a593Smuzhiyun		uart5: serial@40011000 {
475*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
476*4882a593Smuzhiyun			reg = <0x40011000 0x400>;
477*4882a593Smuzhiyun			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
478*4882a593Smuzhiyun			clocks = <&rcc UART5_K>;
479*4882a593Smuzhiyun			status = "disabled";
480*4882a593Smuzhiyun		};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun		i2c1: i2c@40012000 {
483*4882a593Smuzhiyun			compatible = "st,stm32mp15-i2c";
484*4882a593Smuzhiyun			reg = <0x40012000 0x400>;
485*4882a593Smuzhiyun			interrupt-names = "event", "error";
486*4882a593Smuzhiyun			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
487*4882a593Smuzhiyun				     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
488*4882a593Smuzhiyun			clocks = <&rcc I2C1_K>;
489*4882a593Smuzhiyun			resets = <&rcc I2C1_R>;
490*4882a593Smuzhiyun			#address-cells = <1>;
491*4882a593Smuzhiyun			#size-cells = <0>;
492*4882a593Smuzhiyun			st,syscfg-fmp = <&syscfg 0x4 0x1>;
493*4882a593Smuzhiyun			wakeup-source;
494*4882a593Smuzhiyun			status = "disabled";
495*4882a593Smuzhiyun		};
496*4882a593Smuzhiyun
497*4882a593Smuzhiyun		i2c2: i2c@40013000 {
498*4882a593Smuzhiyun			compatible = "st,stm32mp15-i2c";
499*4882a593Smuzhiyun			reg = <0x40013000 0x400>;
500*4882a593Smuzhiyun			interrupt-names = "event", "error";
501*4882a593Smuzhiyun			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
502*4882a593Smuzhiyun				     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
503*4882a593Smuzhiyun			clocks = <&rcc I2C2_K>;
504*4882a593Smuzhiyun			resets = <&rcc I2C2_R>;
505*4882a593Smuzhiyun			#address-cells = <1>;
506*4882a593Smuzhiyun			#size-cells = <0>;
507*4882a593Smuzhiyun			st,syscfg-fmp = <&syscfg 0x4 0x2>;
508*4882a593Smuzhiyun			wakeup-source;
509*4882a593Smuzhiyun			status = "disabled";
510*4882a593Smuzhiyun		};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun		i2c3: i2c@40014000 {
513*4882a593Smuzhiyun			compatible = "st,stm32mp15-i2c";
514*4882a593Smuzhiyun			reg = <0x40014000 0x400>;
515*4882a593Smuzhiyun			interrupt-names = "event", "error";
516*4882a593Smuzhiyun			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
517*4882a593Smuzhiyun				     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
518*4882a593Smuzhiyun			clocks = <&rcc I2C3_K>;
519*4882a593Smuzhiyun			resets = <&rcc I2C3_R>;
520*4882a593Smuzhiyun			#address-cells = <1>;
521*4882a593Smuzhiyun			#size-cells = <0>;
522*4882a593Smuzhiyun			st,syscfg-fmp = <&syscfg 0x4 0x4>;
523*4882a593Smuzhiyun			wakeup-source;
524*4882a593Smuzhiyun			status = "disabled";
525*4882a593Smuzhiyun		};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun		i2c5: i2c@40015000 {
528*4882a593Smuzhiyun			compatible = "st,stm32mp15-i2c";
529*4882a593Smuzhiyun			reg = <0x40015000 0x400>;
530*4882a593Smuzhiyun			interrupt-names = "event", "error";
531*4882a593Smuzhiyun			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
532*4882a593Smuzhiyun				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
533*4882a593Smuzhiyun			clocks = <&rcc I2C5_K>;
534*4882a593Smuzhiyun			resets = <&rcc I2C5_R>;
535*4882a593Smuzhiyun			#address-cells = <1>;
536*4882a593Smuzhiyun			#size-cells = <0>;
537*4882a593Smuzhiyun			st,syscfg-fmp = <&syscfg 0x4 0x10>;
538*4882a593Smuzhiyun			wakeup-source;
539*4882a593Smuzhiyun			status = "disabled";
540*4882a593Smuzhiyun		};
541*4882a593Smuzhiyun
542*4882a593Smuzhiyun		cec: cec@40016000 {
543*4882a593Smuzhiyun			compatible = "st,stm32-cec";
544*4882a593Smuzhiyun			reg = <0x40016000 0x400>;
545*4882a593Smuzhiyun			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
546*4882a593Smuzhiyun			clocks = <&rcc CEC_K>, <&rcc CEC>;
547*4882a593Smuzhiyun			clock-names = "cec", "hdmi-cec";
548*4882a593Smuzhiyun			status = "disabled";
549*4882a593Smuzhiyun		};
550*4882a593Smuzhiyun
551*4882a593Smuzhiyun		dac: dac@40017000 {
552*4882a593Smuzhiyun			compatible = "st,stm32h7-dac-core";
553*4882a593Smuzhiyun			reg = <0x40017000 0x400>;
554*4882a593Smuzhiyun			clocks = <&rcc DAC12>;
555*4882a593Smuzhiyun			clock-names = "pclk";
556*4882a593Smuzhiyun			#address-cells = <1>;
557*4882a593Smuzhiyun			#size-cells = <0>;
558*4882a593Smuzhiyun			status = "disabled";
559*4882a593Smuzhiyun
560*4882a593Smuzhiyun			dac1: dac@1 {
561*4882a593Smuzhiyun				compatible = "st,stm32-dac";
562*4882a593Smuzhiyun				#io-channel-cells = <1>;
563*4882a593Smuzhiyun				reg = <1>;
564*4882a593Smuzhiyun				status = "disabled";
565*4882a593Smuzhiyun			};
566*4882a593Smuzhiyun
567*4882a593Smuzhiyun			dac2: dac@2 {
568*4882a593Smuzhiyun				compatible = "st,stm32-dac";
569*4882a593Smuzhiyun				#io-channel-cells = <1>;
570*4882a593Smuzhiyun				reg = <2>;
571*4882a593Smuzhiyun				status = "disabled";
572*4882a593Smuzhiyun			};
573*4882a593Smuzhiyun		};
574*4882a593Smuzhiyun
575*4882a593Smuzhiyun		uart7: serial@40018000 {
576*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
577*4882a593Smuzhiyun			reg = <0x40018000 0x400>;
578*4882a593Smuzhiyun			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
579*4882a593Smuzhiyun			clocks = <&rcc UART7_K>;
580*4882a593Smuzhiyun			status = "disabled";
581*4882a593Smuzhiyun		};
582*4882a593Smuzhiyun
583*4882a593Smuzhiyun		uart8: serial@40019000 {
584*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
585*4882a593Smuzhiyun			reg = <0x40019000 0x400>;
586*4882a593Smuzhiyun			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
587*4882a593Smuzhiyun			clocks = <&rcc UART8_K>;
588*4882a593Smuzhiyun			status = "disabled";
589*4882a593Smuzhiyun		};
590*4882a593Smuzhiyun
591*4882a593Smuzhiyun		timers1: timer@44000000 {
592*4882a593Smuzhiyun			#address-cells = <1>;
593*4882a593Smuzhiyun			#size-cells = <0>;
594*4882a593Smuzhiyun			compatible = "st,stm32-timers";
595*4882a593Smuzhiyun			reg = <0x44000000 0x400>;
596*4882a593Smuzhiyun			clocks = <&rcc TIM1_K>;
597*4882a593Smuzhiyun			clock-names = "int";
598*4882a593Smuzhiyun			dmas = <&dmamux1 11 0x400 0x1>,
599*4882a593Smuzhiyun			       <&dmamux1 12 0x400 0x1>,
600*4882a593Smuzhiyun			       <&dmamux1 13 0x400 0x1>,
601*4882a593Smuzhiyun			       <&dmamux1 14 0x400 0x1>,
602*4882a593Smuzhiyun			       <&dmamux1 15 0x400 0x1>,
603*4882a593Smuzhiyun			       <&dmamux1 16 0x400 0x1>,
604*4882a593Smuzhiyun			       <&dmamux1 17 0x400 0x1>;
605*4882a593Smuzhiyun			dma-names = "ch1", "ch2", "ch3", "ch4",
606*4882a593Smuzhiyun				    "up", "trig", "com";
607*4882a593Smuzhiyun			status = "disabled";
608*4882a593Smuzhiyun
609*4882a593Smuzhiyun			pwm {
610*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
611*4882a593Smuzhiyun				#pwm-cells = <3>;
612*4882a593Smuzhiyun				status = "disabled";
613*4882a593Smuzhiyun			};
614*4882a593Smuzhiyun
615*4882a593Smuzhiyun			timer@0 {
616*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
617*4882a593Smuzhiyun				reg = <0>;
618*4882a593Smuzhiyun				status = "disabled";
619*4882a593Smuzhiyun			};
620*4882a593Smuzhiyun
621*4882a593Smuzhiyun			counter {
622*4882a593Smuzhiyun				compatible = "st,stm32-timer-counter";
623*4882a593Smuzhiyun				status = "disabled";
624*4882a593Smuzhiyun			};
625*4882a593Smuzhiyun		};
626*4882a593Smuzhiyun
627*4882a593Smuzhiyun		timers8: timer@44001000 {
628*4882a593Smuzhiyun			#address-cells = <1>;
629*4882a593Smuzhiyun			#size-cells = <0>;
630*4882a593Smuzhiyun			compatible = "st,stm32-timers";
631*4882a593Smuzhiyun			reg = <0x44001000 0x400>;
632*4882a593Smuzhiyun			clocks = <&rcc TIM8_K>;
633*4882a593Smuzhiyun			clock-names = "int";
634*4882a593Smuzhiyun			dmas = <&dmamux1 47 0x400 0x1>,
635*4882a593Smuzhiyun			       <&dmamux1 48 0x400 0x1>,
636*4882a593Smuzhiyun			       <&dmamux1 49 0x400 0x1>,
637*4882a593Smuzhiyun			       <&dmamux1 50 0x400 0x1>,
638*4882a593Smuzhiyun			       <&dmamux1 51 0x400 0x1>,
639*4882a593Smuzhiyun			       <&dmamux1 52 0x400 0x1>,
640*4882a593Smuzhiyun			       <&dmamux1 53 0x400 0x1>;
641*4882a593Smuzhiyun			dma-names = "ch1", "ch2", "ch3", "ch4",
642*4882a593Smuzhiyun				    "up", "trig", "com";
643*4882a593Smuzhiyun			status = "disabled";
644*4882a593Smuzhiyun
645*4882a593Smuzhiyun			pwm {
646*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
647*4882a593Smuzhiyun				#pwm-cells = <3>;
648*4882a593Smuzhiyun				status = "disabled";
649*4882a593Smuzhiyun			};
650*4882a593Smuzhiyun
651*4882a593Smuzhiyun			timer@7 {
652*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
653*4882a593Smuzhiyun				reg = <7>;
654*4882a593Smuzhiyun				status = "disabled";
655*4882a593Smuzhiyun			};
656*4882a593Smuzhiyun
657*4882a593Smuzhiyun			counter {
658*4882a593Smuzhiyun				compatible = "st,stm32-timer-counter";
659*4882a593Smuzhiyun				status = "disabled";
660*4882a593Smuzhiyun			};
661*4882a593Smuzhiyun		};
662*4882a593Smuzhiyun
663*4882a593Smuzhiyun		usart6: serial@44003000 {
664*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
665*4882a593Smuzhiyun			reg = <0x44003000 0x400>;
666*4882a593Smuzhiyun			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
667*4882a593Smuzhiyun			clocks = <&rcc USART6_K>;
668*4882a593Smuzhiyun			status = "disabled";
669*4882a593Smuzhiyun		};
670*4882a593Smuzhiyun
671*4882a593Smuzhiyun		spi1: spi@44004000 {
672*4882a593Smuzhiyun			#address-cells = <1>;
673*4882a593Smuzhiyun			#size-cells = <0>;
674*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
675*4882a593Smuzhiyun			reg = <0x44004000 0x400>;
676*4882a593Smuzhiyun			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
677*4882a593Smuzhiyun			clocks = <&rcc SPI1_K>;
678*4882a593Smuzhiyun			resets = <&rcc SPI1_R>;
679*4882a593Smuzhiyun			dmas = <&dmamux1 37 0x400 0x05>,
680*4882a593Smuzhiyun			       <&dmamux1 38 0x400 0x05>;
681*4882a593Smuzhiyun			dma-names = "rx", "tx";
682*4882a593Smuzhiyun			status = "disabled";
683*4882a593Smuzhiyun		};
684*4882a593Smuzhiyun
685*4882a593Smuzhiyun		i2s1: audio-controller@44004000 {
686*4882a593Smuzhiyun			compatible = "st,stm32h7-i2s";
687*4882a593Smuzhiyun			#sound-dai-cells = <0>;
688*4882a593Smuzhiyun			reg = <0x44004000 0x400>;
689*4882a593Smuzhiyun			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
690*4882a593Smuzhiyun			dmas = <&dmamux1 37 0x400 0x01>,
691*4882a593Smuzhiyun			       <&dmamux1 38 0x400 0x01>;
692*4882a593Smuzhiyun			dma-names = "rx", "tx";
693*4882a593Smuzhiyun			status = "disabled";
694*4882a593Smuzhiyun		};
695*4882a593Smuzhiyun
696*4882a593Smuzhiyun		spi4: spi@44005000 {
697*4882a593Smuzhiyun			#address-cells = <1>;
698*4882a593Smuzhiyun			#size-cells = <0>;
699*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
700*4882a593Smuzhiyun			reg = <0x44005000 0x400>;
701*4882a593Smuzhiyun			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
702*4882a593Smuzhiyun			clocks = <&rcc SPI4_K>;
703*4882a593Smuzhiyun			resets = <&rcc SPI4_R>;
704*4882a593Smuzhiyun			dmas = <&dmamux1 83 0x400 0x05>,
705*4882a593Smuzhiyun			       <&dmamux1 84 0x400 0x05>;
706*4882a593Smuzhiyun			dma-names = "rx", "tx";
707*4882a593Smuzhiyun			status = "disabled";
708*4882a593Smuzhiyun		};
709*4882a593Smuzhiyun
710*4882a593Smuzhiyun		timers15: timer@44006000 {
711*4882a593Smuzhiyun			#address-cells = <1>;
712*4882a593Smuzhiyun			#size-cells = <0>;
713*4882a593Smuzhiyun			compatible = "st,stm32-timers";
714*4882a593Smuzhiyun			reg = <0x44006000 0x400>;
715*4882a593Smuzhiyun			clocks = <&rcc TIM15_K>;
716*4882a593Smuzhiyun			clock-names = "int";
717*4882a593Smuzhiyun			dmas = <&dmamux1 105 0x400 0x1>,
718*4882a593Smuzhiyun			       <&dmamux1 106 0x400 0x1>,
719*4882a593Smuzhiyun			       <&dmamux1 107 0x400 0x1>,
720*4882a593Smuzhiyun			       <&dmamux1 108 0x400 0x1>;
721*4882a593Smuzhiyun			dma-names = "ch1", "up", "trig", "com";
722*4882a593Smuzhiyun			status = "disabled";
723*4882a593Smuzhiyun
724*4882a593Smuzhiyun			pwm {
725*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
726*4882a593Smuzhiyun				#pwm-cells = <3>;
727*4882a593Smuzhiyun				status = "disabled";
728*4882a593Smuzhiyun			};
729*4882a593Smuzhiyun
730*4882a593Smuzhiyun			timer@14 {
731*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
732*4882a593Smuzhiyun				reg = <14>;
733*4882a593Smuzhiyun				status = "disabled";
734*4882a593Smuzhiyun			};
735*4882a593Smuzhiyun		};
736*4882a593Smuzhiyun
737*4882a593Smuzhiyun		timers16: timer@44007000 {
738*4882a593Smuzhiyun			#address-cells = <1>;
739*4882a593Smuzhiyun			#size-cells = <0>;
740*4882a593Smuzhiyun			compatible = "st,stm32-timers";
741*4882a593Smuzhiyun			reg = <0x44007000 0x400>;
742*4882a593Smuzhiyun			clocks = <&rcc TIM16_K>;
743*4882a593Smuzhiyun			clock-names = "int";
744*4882a593Smuzhiyun			dmas = <&dmamux1 109 0x400 0x1>,
745*4882a593Smuzhiyun			       <&dmamux1 110 0x400 0x1>;
746*4882a593Smuzhiyun			dma-names = "ch1", "up";
747*4882a593Smuzhiyun			status = "disabled";
748*4882a593Smuzhiyun
749*4882a593Smuzhiyun			pwm {
750*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
751*4882a593Smuzhiyun				#pwm-cells = <3>;
752*4882a593Smuzhiyun				status = "disabled";
753*4882a593Smuzhiyun			};
754*4882a593Smuzhiyun			timer@15 {
755*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
756*4882a593Smuzhiyun				reg = <15>;
757*4882a593Smuzhiyun				status = "disabled";
758*4882a593Smuzhiyun			};
759*4882a593Smuzhiyun		};
760*4882a593Smuzhiyun
761*4882a593Smuzhiyun		timers17: timer@44008000 {
762*4882a593Smuzhiyun			#address-cells = <1>;
763*4882a593Smuzhiyun			#size-cells = <0>;
764*4882a593Smuzhiyun			compatible = "st,stm32-timers";
765*4882a593Smuzhiyun			reg = <0x44008000 0x400>;
766*4882a593Smuzhiyun			clocks = <&rcc TIM17_K>;
767*4882a593Smuzhiyun			clock-names = "int";
768*4882a593Smuzhiyun			dmas = <&dmamux1 111 0x400 0x1>,
769*4882a593Smuzhiyun			       <&dmamux1 112 0x400 0x1>;
770*4882a593Smuzhiyun			dma-names = "ch1", "up";
771*4882a593Smuzhiyun			status = "disabled";
772*4882a593Smuzhiyun
773*4882a593Smuzhiyun			pwm {
774*4882a593Smuzhiyun				compatible = "st,stm32-pwm";
775*4882a593Smuzhiyun				#pwm-cells = <3>;
776*4882a593Smuzhiyun				status = "disabled";
777*4882a593Smuzhiyun			};
778*4882a593Smuzhiyun
779*4882a593Smuzhiyun			timer@16 {
780*4882a593Smuzhiyun				compatible = "st,stm32h7-timer-trigger";
781*4882a593Smuzhiyun				reg = <16>;
782*4882a593Smuzhiyun				status = "disabled";
783*4882a593Smuzhiyun			};
784*4882a593Smuzhiyun		};
785*4882a593Smuzhiyun
786*4882a593Smuzhiyun		spi5: spi@44009000 {
787*4882a593Smuzhiyun			#address-cells = <1>;
788*4882a593Smuzhiyun			#size-cells = <0>;
789*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
790*4882a593Smuzhiyun			reg = <0x44009000 0x400>;
791*4882a593Smuzhiyun			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
792*4882a593Smuzhiyun			clocks = <&rcc SPI5_K>;
793*4882a593Smuzhiyun			resets = <&rcc SPI5_R>;
794*4882a593Smuzhiyun			dmas = <&dmamux1 85 0x400 0x05>,
795*4882a593Smuzhiyun			       <&dmamux1 86 0x400 0x05>;
796*4882a593Smuzhiyun			dma-names = "rx", "tx";
797*4882a593Smuzhiyun			status = "disabled";
798*4882a593Smuzhiyun		};
799*4882a593Smuzhiyun
800*4882a593Smuzhiyun		sai1: sai@4400a000 {
801*4882a593Smuzhiyun			compatible = "st,stm32h7-sai";
802*4882a593Smuzhiyun			#address-cells = <1>;
803*4882a593Smuzhiyun			#size-cells = <1>;
804*4882a593Smuzhiyun			ranges = <0 0x4400a000 0x400>;
805*4882a593Smuzhiyun			reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
806*4882a593Smuzhiyun			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
807*4882a593Smuzhiyun			resets = <&rcc SAI1_R>;
808*4882a593Smuzhiyun			status = "disabled";
809*4882a593Smuzhiyun
810*4882a593Smuzhiyun			sai1a: audio-controller@4400a004 {
811*4882a593Smuzhiyun				#sound-dai-cells = <0>;
812*4882a593Smuzhiyun
813*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-a";
814*4882a593Smuzhiyun				reg = <0x4 0x20>;
815*4882a593Smuzhiyun				clocks = <&rcc SAI1_K>;
816*4882a593Smuzhiyun				clock-names = "sai_ck";
817*4882a593Smuzhiyun				dmas = <&dmamux1 87 0x400 0x01>;
818*4882a593Smuzhiyun				status = "disabled";
819*4882a593Smuzhiyun			};
820*4882a593Smuzhiyun
821*4882a593Smuzhiyun			sai1b: audio-controller@4400a024 {
822*4882a593Smuzhiyun				#sound-dai-cells = <0>;
823*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-b";
824*4882a593Smuzhiyun				reg = <0x24 0x20>;
825*4882a593Smuzhiyun				clocks = <&rcc SAI1_K>;
826*4882a593Smuzhiyun				clock-names = "sai_ck";
827*4882a593Smuzhiyun				dmas = <&dmamux1 88 0x400 0x01>;
828*4882a593Smuzhiyun				status = "disabled";
829*4882a593Smuzhiyun			};
830*4882a593Smuzhiyun		};
831*4882a593Smuzhiyun
832*4882a593Smuzhiyun		sai2: sai@4400b000 {
833*4882a593Smuzhiyun			compatible = "st,stm32h7-sai";
834*4882a593Smuzhiyun			#address-cells = <1>;
835*4882a593Smuzhiyun			#size-cells = <1>;
836*4882a593Smuzhiyun			ranges = <0 0x4400b000 0x400>;
837*4882a593Smuzhiyun			reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
838*4882a593Smuzhiyun			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
839*4882a593Smuzhiyun			resets = <&rcc SAI2_R>;
840*4882a593Smuzhiyun			status = "disabled";
841*4882a593Smuzhiyun
842*4882a593Smuzhiyun			sai2a: audio-controller@4400b004 {
843*4882a593Smuzhiyun				#sound-dai-cells = <0>;
844*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-a";
845*4882a593Smuzhiyun				reg = <0x4 0x20>;
846*4882a593Smuzhiyun				clocks = <&rcc SAI2_K>;
847*4882a593Smuzhiyun				clock-names = "sai_ck";
848*4882a593Smuzhiyun				dmas = <&dmamux1 89 0x400 0x01>;
849*4882a593Smuzhiyun				status = "disabled";
850*4882a593Smuzhiyun			};
851*4882a593Smuzhiyun
852*4882a593Smuzhiyun			sai2b: audio-controller@4400b024 {
853*4882a593Smuzhiyun				#sound-dai-cells = <0>;
854*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-b";
855*4882a593Smuzhiyun				reg = <0x24 0x20>;
856*4882a593Smuzhiyun				clocks = <&rcc SAI2_K>;
857*4882a593Smuzhiyun				clock-names = "sai_ck";
858*4882a593Smuzhiyun				dmas = <&dmamux1 90 0x400 0x01>;
859*4882a593Smuzhiyun				status = "disabled";
860*4882a593Smuzhiyun			};
861*4882a593Smuzhiyun		};
862*4882a593Smuzhiyun
863*4882a593Smuzhiyun		sai3: sai@4400c000 {
864*4882a593Smuzhiyun			compatible = "st,stm32h7-sai";
865*4882a593Smuzhiyun			#address-cells = <1>;
866*4882a593Smuzhiyun			#size-cells = <1>;
867*4882a593Smuzhiyun			ranges = <0 0x4400c000 0x400>;
868*4882a593Smuzhiyun			reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
869*4882a593Smuzhiyun			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
870*4882a593Smuzhiyun			resets = <&rcc SAI3_R>;
871*4882a593Smuzhiyun			status = "disabled";
872*4882a593Smuzhiyun
873*4882a593Smuzhiyun			sai3a: audio-controller@4400c004 {
874*4882a593Smuzhiyun				#sound-dai-cells = <0>;
875*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-a";
876*4882a593Smuzhiyun				reg = <0x04 0x20>;
877*4882a593Smuzhiyun				clocks = <&rcc SAI3_K>;
878*4882a593Smuzhiyun				clock-names = "sai_ck";
879*4882a593Smuzhiyun				dmas = <&dmamux1 113 0x400 0x01>;
880*4882a593Smuzhiyun				status = "disabled";
881*4882a593Smuzhiyun			};
882*4882a593Smuzhiyun
883*4882a593Smuzhiyun			sai3b: audio-controller@4400c024 {
884*4882a593Smuzhiyun				#sound-dai-cells = <0>;
885*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-b";
886*4882a593Smuzhiyun				reg = <0x24 0x20>;
887*4882a593Smuzhiyun				clocks = <&rcc SAI3_K>;
888*4882a593Smuzhiyun				clock-names = "sai_ck";
889*4882a593Smuzhiyun				dmas = <&dmamux1 114 0x400 0x01>;
890*4882a593Smuzhiyun				status = "disabled";
891*4882a593Smuzhiyun			};
892*4882a593Smuzhiyun		};
893*4882a593Smuzhiyun
894*4882a593Smuzhiyun		dfsdm: dfsdm@4400d000 {
895*4882a593Smuzhiyun			compatible = "st,stm32mp1-dfsdm";
896*4882a593Smuzhiyun			reg = <0x4400d000 0x800>;
897*4882a593Smuzhiyun			clocks = <&rcc DFSDM_K>;
898*4882a593Smuzhiyun			clock-names = "dfsdm";
899*4882a593Smuzhiyun			#address-cells = <1>;
900*4882a593Smuzhiyun			#size-cells = <0>;
901*4882a593Smuzhiyun			status = "disabled";
902*4882a593Smuzhiyun
903*4882a593Smuzhiyun			dfsdm0: filter@0 {
904*4882a593Smuzhiyun				compatible = "st,stm32-dfsdm-adc";
905*4882a593Smuzhiyun				#io-channel-cells = <1>;
906*4882a593Smuzhiyun				reg = <0>;
907*4882a593Smuzhiyun				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
908*4882a593Smuzhiyun				dmas = <&dmamux1 101 0x400 0x01>;
909*4882a593Smuzhiyun				dma-names = "rx";
910*4882a593Smuzhiyun				status = "disabled";
911*4882a593Smuzhiyun			};
912*4882a593Smuzhiyun
913*4882a593Smuzhiyun			dfsdm1: filter@1 {
914*4882a593Smuzhiyun				compatible = "st,stm32-dfsdm-adc";
915*4882a593Smuzhiyun				#io-channel-cells = <1>;
916*4882a593Smuzhiyun				reg = <1>;
917*4882a593Smuzhiyun				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
918*4882a593Smuzhiyun				dmas = <&dmamux1 102 0x400 0x01>;
919*4882a593Smuzhiyun				dma-names = "rx";
920*4882a593Smuzhiyun				status = "disabled";
921*4882a593Smuzhiyun			};
922*4882a593Smuzhiyun
923*4882a593Smuzhiyun			dfsdm2: filter@2 {
924*4882a593Smuzhiyun				compatible = "st,stm32-dfsdm-adc";
925*4882a593Smuzhiyun				#io-channel-cells = <1>;
926*4882a593Smuzhiyun				reg = <2>;
927*4882a593Smuzhiyun				interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
928*4882a593Smuzhiyun				dmas = <&dmamux1 103 0x400 0x01>;
929*4882a593Smuzhiyun				dma-names = "rx";
930*4882a593Smuzhiyun				status = "disabled";
931*4882a593Smuzhiyun			};
932*4882a593Smuzhiyun
933*4882a593Smuzhiyun			dfsdm3: filter@3 {
934*4882a593Smuzhiyun				compatible = "st,stm32-dfsdm-adc";
935*4882a593Smuzhiyun				#io-channel-cells = <1>;
936*4882a593Smuzhiyun				reg = <3>;
937*4882a593Smuzhiyun				interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
938*4882a593Smuzhiyun				dmas = <&dmamux1 104 0x400 0x01>;
939*4882a593Smuzhiyun				dma-names = "rx";
940*4882a593Smuzhiyun				status = "disabled";
941*4882a593Smuzhiyun			};
942*4882a593Smuzhiyun
943*4882a593Smuzhiyun			dfsdm4: filter@4 {
944*4882a593Smuzhiyun				compatible = "st,stm32-dfsdm-adc";
945*4882a593Smuzhiyun				#io-channel-cells = <1>;
946*4882a593Smuzhiyun				reg = <4>;
947*4882a593Smuzhiyun				interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
948*4882a593Smuzhiyun				dmas = <&dmamux1 91 0x400 0x01>;
949*4882a593Smuzhiyun				dma-names = "rx";
950*4882a593Smuzhiyun				status = "disabled";
951*4882a593Smuzhiyun			};
952*4882a593Smuzhiyun
953*4882a593Smuzhiyun			dfsdm5: filter@5 {
954*4882a593Smuzhiyun				compatible = "st,stm32-dfsdm-adc";
955*4882a593Smuzhiyun				#io-channel-cells = <1>;
956*4882a593Smuzhiyun				reg = <5>;
957*4882a593Smuzhiyun				interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
958*4882a593Smuzhiyun				dmas = <&dmamux1 92 0x400 0x01>;
959*4882a593Smuzhiyun				dma-names = "rx";
960*4882a593Smuzhiyun				status = "disabled";
961*4882a593Smuzhiyun			};
962*4882a593Smuzhiyun		};
963*4882a593Smuzhiyun
964*4882a593Smuzhiyun		dma1: dma-controller@48000000 {
965*4882a593Smuzhiyun			compatible = "st,stm32-dma";
966*4882a593Smuzhiyun			reg = <0x48000000 0x400>;
967*4882a593Smuzhiyun			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
968*4882a593Smuzhiyun				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
969*4882a593Smuzhiyun				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
970*4882a593Smuzhiyun				     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
971*4882a593Smuzhiyun				     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
972*4882a593Smuzhiyun				     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
973*4882a593Smuzhiyun				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
974*4882a593Smuzhiyun				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
975*4882a593Smuzhiyun			clocks = <&rcc DMA1>;
976*4882a593Smuzhiyun			resets = <&rcc DMA1_R>;
977*4882a593Smuzhiyun			#dma-cells = <4>;
978*4882a593Smuzhiyun			st,mem2mem;
979*4882a593Smuzhiyun			dma-requests = <8>;
980*4882a593Smuzhiyun		};
981*4882a593Smuzhiyun
982*4882a593Smuzhiyun		dma2: dma-controller@48001000 {
983*4882a593Smuzhiyun			compatible = "st,stm32-dma";
984*4882a593Smuzhiyun			reg = <0x48001000 0x400>;
985*4882a593Smuzhiyun			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
986*4882a593Smuzhiyun				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
987*4882a593Smuzhiyun				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
988*4882a593Smuzhiyun				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
989*4882a593Smuzhiyun				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
990*4882a593Smuzhiyun				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
991*4882a593Smuzhiyun				     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
992*4882a593Smuzhiyun				     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
993*4882a593Smuzhiyun			clocks = <&rcc DMA2>;
994*4882a593Smuzhiyun			resets = <&rcc DMA2_R>;
995*4882a593Smuzhiyun			#dma-cells = <4>;
996*4882a593Smuzhiyun			st,mem2mem;
997*4882a593Smuzhiyun			dma-requests = <8>;
998*4882a593Smuzhiyun		};
999*4882a593Smuzhiyun
1000*4882a593Smuzhiyun		dmamux1: dma-router@48002000 {
1001*4882a593Smuzhiyun			compatible = "st,stm32h7-dmamux";
1002*4882a593Smuzhiyun			reg = <0x48002000 0x1c>;
1003*4882a593Smuzhiyun			#dma-cells = <3>;
1004*4882a593Smuzhiyun			dma-requests = <128>;
1005*4882a593Smuzhiyun			dma-masters = <&dma1 &dma2>;
1006*4882a593Smuzhiyun			dma-channels = <16>;
1007*4882a593Smuzhiyun			clocks = <&rcc DMAMUX>;
1008*4882a593Smuzhiyun			resets = <&rcc DMAMUX_R>;
1009*4882a593Smuzhiyun		};
1010*4882a593Smuzhiyun
1011*4882a593Smuzhiyun		adc: adc@48003000 {
1012*4882a593Smuzhiyun			compatible = "st,stm32mp1-adc-core";
1013*4882a593Smuzhiyun			reg = <0x48003000 0x400>;
1014*4882a593Smuzhiyun			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
1015*4882a593Smuzhiyun				     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1016*4882a593Smuzhiyun			clocks = <&rcc ADC12>, <&rcc ADC12_K>;
1017*4882a593Smuzhiyun			clock-names = "bus", "adc";
1018*4882a593Smuzhiyun			interrupt-controller;
1019*4882a593Smuzhiyun			st,syscfg = <&syscfg>;
1020*4882a593Smuzhiyun			#interrupt-cells = <1>;
1021*4882a593Smuzhiyun			#address-cells = <1>;
1022*4882a593Smuzhiyun			#size-cells = <0>;
1023*4882a593Smuzhiyun			status = "disabled";
1024*4882a593Smuzhiyun
1025*4882a593Smuzhiyun			adc1: adc@0 {
1026*4882a593Smuzhiyun				compatible = "st,stm32mp1-adc";
1027*4882a593Smuzhiyun				#io-channel-cells = <1>;
1028*4882a593Smuzhiyun				reg = <0x0>;
1029*4882a593Smuzhiyun				interrupt-parent = <&adc>;
1030*4882a593Smuzhiyun				interrupts = <0>;
1031*4882a593Smuzhiyun				dmas = <&dmamux1 9 0x400 0x01>;
1032*4882a593Smuzhiyun				dma-names = "rx";
1033*4882a593Smuzhiyun				status = "disabled";
1034*4882a593Smuzhiyun			};
1035*4882a593Smuzhiyun
1036*4882a593Smuzhiyun			adc2: adc@100 {
1037*4882a593Smuzhiyun				compatible = "st,stm32mp1-adc";
1038*4882a593Smuzhiyun				#io-channel-cells = <1>;
1039*4882a593Smuzhiyun				reg = <0x100>;
1040*4882a593Smuzhiyun				interrupt-parent = <&adc>;
1041*4882a593Smuzhiyun				interrupts = <1>;
1042*4882a593Smuzhiyun				dmas = <&dmamux1 10 0x400 0x01>;
1043*4882a593Smuzhiyun				dma-names = "rx";
1044*4882a593Smuzhiyun				status = "disabled";
1045*4882a593Smuzhiyun			};
1046*4882a593Smuzhiyun		};
1047*4882a593Smuzhiyun
1048*4882a593Smuzhiyun		sdmmc3: sdmmc@48004000 {
1049*4882a593Smuzhiyun			compatible = "arm,pl18x", "arm,primecell";
1050*4882a593Smuzhiyun			arm,primecell-periphid = <0x10153180>;
1051*4882a593Smuzhiyun			reg = <0x48004000 0x400>;
1052*4882a593Smuzhiyun			interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1053*4882a593Smuzhiyun			interrupt-names = "cmd_irq";
1054*4882a593Smuzhiyun			clocks = <&rcc SDMMC3_K>;
1055*4882a593Smuzhiyun			clock-names = "apb_pclk";
1056*4882a593Smuzhiyun			resets = <&rcc SDMMC3_R>;
1057*4882a593Smuzhiyun			cap-sd-highspeed;
1058*4882a593Smuzhiyun			cap-mmc-highspeed;
1059*4882a593Smuzhiyun			max-frequency = <120000000>;
1060*4882a593Smuzhiyun			status = "disabled";
1061*4882a593Smuzhiyun		};
1062*4882a593Smuzhiyun
1063*4882a593Smuzhiyun		usbotg_hs: usb-otg@49000000 {
1064*4882a593Smuzhiyun			compatible = "st,stm32mp15-hsotg", "snps,dwc2";
1065*4882a593Smuzhiyun			reg = <0x49000000 0x10000>;
1066*4882a593Smuzhiyun			clocks = <&rcc USBO_K>;
1067*4882a593Smuzhiyun			clock-names = "otg";
1068*4882a593Smuzhiyun			resets = <&rcc USBO_R>;
1069*4882a593Smuzhiyun			reset-names = "dwc2";
1070*4882a593Smuzhiyun			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1071*4882a593Smuzhiyun			g-rx-fifo-size = <256>;
1072*4882a593Smuzhiyun			g-np-tx-fifo-size = <32>;
1073*4882a593Smuzhiyun			g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
1074*4882a593Smuzhiyun			dr_mode = "otg";
1075*4882a593Smuzhiyun			usb33d-supply = <&usb33>;
1076*4882a593Smuzhiyun			status = "disabled";
1077*4882a593Smuzhiyun		};
1078*4882a593Smuzhiyun
1079*4882a593Smuzhiyun		ipcc: mailbox@4c001000 {
1080*4882a593Smuzhiyun			compatible = "st,stm32mp1-ipcc";
1081*4882a593Smuzhiyun			#mbox-cells = <1>;
1082*4882a593Smuzhiyun			reg = <0x4c001000 0x400>;
1083*4882a593Smuzhiyun			st,proc-id = <0>;
1084*4882a593Smuzhiyun			interrupts-extended =
1085*4882a593Smuzhiyun				<&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1086*4882a593Smuzhiyun				<&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1087*4882a593Smuzhiyun				<&exti 61 1>;
1088*4882a593Smuzhiyun			interrupt-names = "rx", "tx", "wakeup";
1089*4882a593Smuzhiyun			clocks = <&rcc IPCC>;
1090*4882a593Smuzhiyun			wakeup-source;
1091*4882a593Smuzhiyun			status = "disabled";
1092*4882a593Smuzhiyun		};
1093*4882a593Smuzhiyun
1094*4882a593Smuzhiyun		dcmi: dcmi@4c006000 {
1095*4882a593Smuzhiyun			compatible = "st,stm32-dcmi";
1096*4882a593Smuzhiyun			reg = <0x4c006000 0x400>;
1097*4882a593Smuzhiyun			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
1098*4882a593Smuzhiyun			resets = <&rcc CAMITF_R>;
1099*4882a593Smuzhiyun			clocks = <&rcc DCMI>;
1100*4882a593Smuzhiyun			clock-names = "mclk";
1101*4882a593Smuzhiyun			dmas = <&dmamux1 75 0x400 0x0d>;
1102*4882a593Smuzhiyun			dma-names = "tx";
1103*4882a593Smuzhiyun			status = "disabled";
1104*4882a593Smuzhiyun		};
1105*4882a593Smuzhiyun
1106*4882a593Smuzhiyun		rcc: rcc@50000000 {
1107*4882a593Smuzhiyun			compatible = "st,stm32mp1-rcc", "syscon";
1108*4882a593Smuzhiyun			reg = <0x50000000 0x1000>;
1109*4882a593Smuzhiyun			#clock-cells = <1>;
1110*4882a593Smuzhiyun			#reset-cells = <1>;
1111*4882a593Smuzhiyun		};
1112*4882a593Smuzhiyun
1113*4882a593Smuzhiyun		pwr_regulators: pwr@50001000 {
1114*4882a593Smuzhiyun			compatible = "st,stm32mp1,pwr-reg";
1115*4882a593Smuzhiyun			reg = <0x50001000 0x10>;
1116*4882a593Smuzhiyun
1117*4882a593Smuzhiyun			reg11: reg11 {
1118*4882a593Smuzhiyun				regulator-name = "reg11";
1119*4882a593Smuzhiyun				regulator-min-microvolt = <1100000>;
1120*4882a593Smuzhiyun				regulator-max-microvolt = <1100000>;
1121*4882a593Smuzhiyun			};
1122*4882a593Smuzhiyun
1123*4882a593Smuzhiyun			reg18: reg18 {
1124*4882a593Smuzhiyun				regulator-name = "reg18";
1125*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
1126*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
1127*4882a593Smuzhiyun			};
1128*4882a593Smuzhiyun
1129*4882a593Smuzhiyun			usb33: usb33 {
1130*4882a593Smuzhiyun				regulator-name = "usb33";
1131*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
1132*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
1133*4882a593Smuzhiyun			};
1134*4882a593Smuzhiyun		};
1135*4882a593Smuzhiyun
1136*4882a593Smuzhiyun		pwr_mcu: pwr_mcu@50001014 {
1137*4882a593Smuzhiyun			compatible = "st,stm32mp151-pwr-mcu", "syscon";
1138*4882a593Smuzhiyun			reg = <0x50001014 0x4>;
1139*4882a593Smuzhiyun		};
1140*4882a593Smuzhiyun
1141*4882a593Smuzhiyun		exti: interrupt-controller@5000d000 {
1142*4882a593Smuzhiyun			compatible = "st,stm32mp1-exti", "syscon";
1143*4882a593Smuzhiyun			interrupt-controller;
1144*4882a593Smuzhiyun			#interrupt-cells = <2>;
1145*4882a593Smuzhiyun			reg = <0x5000d000 0x400>;
1146*4882a593Smuzhiyun		};
1147*4882a593Smuzhiyun
1148*4882a593Smuzhiyun		syscfg: syscon@50020000 {
1149*4882a593Smuzhiyun			compatible = "st,stm32mp157-syscfg", "syscon";
1150*4882a593Smuzhiyun			reg = <0x50020000 0x400>;
1151*4882a593Smuzhiyun			clocks = <&rcc SYSCFG>;
1152*4882a593Smuzhiyun		};
1153*4882a593Smuzhiyun
1154*4882a593Smuzhiyun		lptimer2: timer@50021000 {
1155*4882a593Smuzhiyun			#address-cells = <1>;
1156*4882a593Smuzhiyun			#size-cells = <0>;
1157*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
1158*4882a593Smuzhiyun			reg = <0x50021000 0x400>;
1159*4882a593Smuzhiyun			clocks = <&rcc LPTIM2_K>;
1160*4882a593Smuzhiyun			clock-names = "mux";
1161*4882a593Smuzhiyun			status = "disabled";
1162*4882a593Smuzhiyun
1163*4882a593Smuzhiyun			pwm {
1164*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
1165*4882a593Smuzhiyun				#pwm-cells = <3>;
1166*4882a593Smuzhiyun				status = "disabled";
1167*4882a593Smuzhiyun			};
1168*4882a593Smuzhiyun
1169*4882a593Smuzhiyun			trigger@1 {
1170*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-trigger";
1171*4882a593Smuzhiyun				reg = <1>;
1172*4882a593Smuzhiyun				status = "disabled";
1173*4882a593Smuzhiyun			};
1174*4882a593Smuzhiyun
1175*4882a593Smuzhiyun			counter {
1176*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-counter";
1177*4882a593Smuzhiyun				status = "disabled";
1178*4882a593Smuzhiyun			};
1179*4882a593Smuzhiyun		};
1180*4882a593Smuzhiyun
1181*4882a593Smuzhiyun		lptimer3: timer@50022000 {
1182*4882a593Smuzhiyun			#address-cells = <1>;
1183*4882a593Smuzhiyun			#size-cells = <0>;
1184*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
1185*4882a593Smuzhiyun			reg = <0x50022000 0x400>;
1186*4882a593Smuzhiyun			clocks = <&rcc LPTIM3_K>;
1187*4882a593Smuzhiyun			clock-names = "mux";
1188*4882a593Smuzhiyun			status = "disabled";
1189*4882a593Smuzhiyun
1190*4882a593Smuzhiyun			pwm {
1191*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
1192*4882a593Smuzhiyun				#pwm-cells = <3>;
1193*4882a593Smuzhiyun				status = "disabled";
1194*4882a593Smuzhiyun			};
1195*4882a593Smuzhiyun
1196*4882a593Smuzhiyun			trigger@2 {
1197*4882a593Smuzhiyun				compatible = "st,stm32-lptimer-trigger";
1198*4882a593Smuzhiyun				reg = <2>;
1199*4882a593Smuzhiyun				status = "disabled";
1200*4882a593Smuzhiyun			};
1201*4882a593Smuzhiyun		};
1202*4882a593Smuzhiyun
1203*4882a593Smuzhiyun		lptimer4: timer@50023000 {
1204*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
1205*4882a593Smuzhiyun			reg = <0x50023000 0x400>;
1206*4882a593Smuzhiyun			clocks = <&rcc LPTIM4_K>;
1207*4882a593Smuzhiyun			clock-names = "mux";
1208*4882a593Smuzhiyun			status = "disabled";
1209*4882a593Smuzhiyun
1210*4882a593Smuzhiyun			pwm {
1211*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
1212*4882a593Smuzhiyun				#pwm-cells = <3>;
1213*4882a593Smuzhiyun				status = "disabled";
1214*4882a593Smuzhiyun			};
1215*4882a593Smuzhiyun		};
1216*4882a593Smuzhiyun
1217*4882a593Smuzhiyun		lptimer5: timer@50024000 {
1218*4882a593Smuzhiyun			compatible = "st,stm32-lptimer";
1219*4882a593Smuzhiyun			reg = <0x50024000 0x400>;
1220*4882a593Smuzhiyun			clocks = <&rcc LPTIM5_K>;
1221*4882a593Smuzhiyun			clock-names = "mux";
1222*4882a593Smuzhiyun			status = "disabled";
1223*4882a593Smuzhiyun
1224*4882a593Smuzhiyun			pwm {
1225*4882a593Smuzhiyun				compatible = "st,stm32-pwm-lp";
1226*4882a593Smuzhiyun				#pwm-cells = <3>;
1227*4882a593Smuzhiyun				status = "disabled";
1228*4882a593Smuzhiyun			};
1229*4882a593Smuzhiyun		};
1230*4882a593Smuzhiyun
1231*4882a593Smuzhiyun		vrefbuf: vrefbuf@50025000 {
1232*4882a593Smuzhiyun			compatible = "st,stm32-vrefbuf";
1233*4882a593Smuzhiyun			reg = <0x50025000 0x8>;
1234*4882a593Smuzhiyun			regulator-min-microvolt = <1500000>;
1235*4882a593Smuzhiyun			regulator-max-microvolt = <2500000>;
1236*4882a593Smuzhiyun			clocks = <&rcc VREF>;
1237*4882a593Smuzhiyun			status = "disabled";
1238*4882a593Smuzhiyun		};
1239*4882a593Smuzhiyun
1240*4882a593Smuzhiyun		sai4: sai@50027000 {
1241*4882a593Smuzhiyun			compatible = "st,stm32h7-sai";
1242*4882a593Smuzhiyun			#address-cells = <1>;
1243*4882a593Smuzhiyun			#size-cells = <1>;
1244*4882a593Smuzhiyun			ranges = <0 0x50027000 0x400>;
1245*4882a593Smuzhiyun			reg = <0x50027000 0x4>, <0x500273f0 0x10>;
1246*4882a593Smuzhiyun			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1247*4882a593Smuzhiyun			resets = <&rcc SAI4_R>;
1248*4882a593Smuzhiyun			status = "disabled";
1249*4882a593Smuzhiyun
1250*4882a593Smuzhiyun			sai4a: audio-controller@50027004 {
1251*4882a593Smuzhiyun				#sound-dai-cells = <0>;
1252*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-a";
1253*4882a593Smuzhiyun				reg = <0x04 0x20>;
1254*4882a593Smuzhiyun				clocks = <&rcc SAI4_K>;
1255*4882a593Smuzhiyun				clock-names = "sai_ck";
1256*4882a593Smuzhiyun				dmas = <&dmamux1 99 0x400 0x01>;
1257*4882a593Smuzhiyun				status = "disabled";
1258*4882a593Smuzhiyun			};
1259*4882a593Smuzhiyun
1260*4882a593Smuzhiyun			sai4b: audio-controller@50027024 {
1261*4882a593Smuzhiyun				#sound-dai-cells = <0>;
1262*4882a593Smuzhiyun				compatible = "st,stm32-sai-sub-b";
1263*4882a593Smuzhiyun				reg = <0x24 0x20>;
1264*4882a593Smuzhiyun				clocks = <&rcc SAI4_K>;
1265*4882a593Smuzhiyun				clock-names = "sai_ck";
1266*4882a593Smuzhiyun				dmas = <&dmamux1 100 0x400 0x01>;
1267*4882a593Smuzhiyun				status = "disabled";
1268*4882a593Smuzhiyun			};
1269*4882a593Smuzhiyun		};
1270*4882a593Smuzhiyun
1271*4882a593Smuzhiyun		dts: thermal@50028000 {
1272*4882a593Smuzhiyun			compatible = "st,stm32-thermal";
1273*4882a593Smuzhiyun			reg = <0x50028000 0x100>;
1274*4882a593Smuzhiyun			interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1275*4882a593Smuzhiyun			clocks = <&rcc TMPSENS>;
1276*4882a593Smuzhiyun			clock-names = "pclk";
1277*4882a593Smuzhiyun			#thermal-sensor-cells = <0>;
1278*4882a593Smuzhiyun			status = "disabled";
1279*4882a593Smuzhiyun		};
1280*4882a593Smuzhiyun
1281*4882a593Smuzhiyun		hash1: hash@54002000 {
1282*4882a593Smuzhiyun			compatible = "st,stm32f756-hash";
1283*4882a593Smuzhiyun			reg = <0x54002000 0x400>;
1284*4882a593Smuzhiyun			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
1285*4882a593Smuzhiyun			clocks = <&rcc HASH1>;
1286*4882a593Smuzhiyun			resets = <&rcc HASH1_R>;
1287*4882a593Smuzhiyun			dmas = <&mdma1 31 0x10 0x1000A02 0x0 0x0>;
1288*4882a593Smuzhiyun			dma-names = "in";
1289*4882a593Smuzhiyun			dma-maxburst = <2>;
1290*4882a593Smuzhiyun			status = "disabled";
1291*4882a593Smuzhiyun		};
1292*4882a593Smuzhiyun
1293*4882a593Smuzhiyun		rng1: rng@54003000 {
1294*4882a593Smuzhiyun			compatible = "st,stm32-rng";
1295*4882a593Smuzhiyun			reg = <0x54003000 0x400>;
1296*4882a593Smuzhiyun			clocks = <&rcc RNG1_K>;
1297*4882a593Smuzhiyun			resets = <&rcc RNG1_R>;
1298*4882a593Smuzhiyun			status = "disabled";
1299*4882a593Smuzhiyun		};
1300*4882a593Smuzhiyun
1301*4882a593Smuzhiyun		mdma1: dma-controller@58000000 {
1302*4882a593Smuzhiyun			compatible = "st,stm32h7-mdma";
1303*4882a593Smuzhiyun			reg = <0x58000000 0x1000>;
1304*4882a593Smuzhiyun			interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1305*4882a593Smuzhiyun			clocks = <&rcc MDMA>;
1306*4882a593Smuzhiyun			resets = <&rcc MDMA_R>;
1307*4882a593Smuzhiyun			#dma-cells = <5>;
1308*4882a593Smuzhiyun			dma-channels = <32>;
1309*4882a593Smuzhiyun			dma-requests = <48>;
1310*4882a593Smuzhiyun		};
1311*4882a593Smuzhiyun
1312*4882a593Smuzhiyun		fmc: memory-controller@58002000 {
1313*4882a593Smuzhiyun			#address-cells = <2>;
1314*4882a593Smuzhiyun			#size-cells = <1>;
1315*4882a593Smuzhiyun			compatible = "st,stm32mp1-fmc2-ebi";
1316*4882a593Smuzhiyun			reg = <0x58002000 0x1000>;
1317*4882a593Smuzhiyun			clocks = <&rcc FMC_K>;
1318*4882a593Smuzhiyun			resets = <&rcc FMC_R>;
1319*4882a593Smuzhiyun			status = "disabled";
1320*4882a593Smuzhiyun
1321*4882a593Smuzhiyun			ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
1322*4882a593Smuzhiyun				 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
1323*4882a593Smuzhiyun				 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
1324*4882a593Smuzhiyun				 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
1325*4882a593Smuzhiyun				 <4 0 0x80000000 0x10000000>; /* NAND */
1326*4882a593Smuzhiyun
1327*4882a593Smuzhiyun			nand-controller@4,0 {
1328*4882a593Smuzhiyun				#address-cells = <1>;
1329*4882a593Smuzhiyun				#size-cells = <0>;
1330*4882a593Smuzhiyun				compatible = "st,stm32mp1-fmc2-nfc";
1331*4882a593Smuzhiyun				reg = <4 0x00000000 0x1000>,
1332*4882a593Smuzhiyun				      <4 0x08010000 0x1000>,
1333*4882a593Smuzhiyun				      <4 0x08020000 0x1000>,
1334*4882a593Smuzhiyun				      <4 0x01000000 0x1000>,
1335*4882a593Smuzhiyun				      <4 0x09010000 0x1000>,
1336*4882a593Smuzhiyun				      <4 0x09020000 0x1000>;
1337*4882a593Smuzhiyun				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1338*4882a593Smuzhiyun				dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
1339*4882a593Smuzhiyun				       <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
1340*4882a593Smuzhiyun				       <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
1341*4882a593Smuzhiyun				dma-names = "tx", "rx", "ecc";
1342*4882a593Smuzhiyun				status = "disabled";
1343*4882a593Smuzhiyun			};
1344*4882a593Smuzhiyun		};
1345*4882a593Smuzhiyun
1346*4882a593Smuzhiyun		qspi: spi@58003000 {
1347*4882a593Smuzhiyun			compatible = "st,stm32f469-qspi";
1348*4882a593Smuzhiyun			reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
1349*4882a593Smuzhiyun			reg-names = "qspi", "qspi_mm";
1350*4882a593Smuzhiyun			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
1351*4882a593Smuzhiyun			dmas = <&mdma1 22 0x10 0x100002 0x0 0x0>,
1352*4882a593Smuzhiyun			       <&mdma1 22 0x10 0x100008 0x0 0x0>;
1353*4882a593Smuzhiyun			dma-names = "tx", "rx";
1354*4882a593Smuzhiyun			clocks = <&rcc QSPI_K>;
1355*4882a593Smuzhiyun			resets = <&rcc QSPI_R>;
1356*4882a593Smuzhiyun			#address-cells = <1>;
1357*4882a593Smuzhiyun			#size-cells = <0>;
1358*4882a593Smuzhiyun			status = "disabled";
1359*4882a593Smuzhiyun		};
1360*4882a593Smuzhiyun
1361*4882a593Smuzhiyun		sdmmc1: sdmmc@58005000 {
1362*4882a593Smuzhiyun			compatible = "arm,pl18x", "arm,primecell";
1363*4882a593Smuzhiyun			arm,primecell-periphid = <0x10153180>;
1364*4882a593Smuzhiyun			reg = <0x58005000 0x1000>;
1365*4882a593Smuzhiyun			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1366*4882a593Smuzhiyun			interrupt-names = "cmd_irq";
1367*4882a593Smuzhiyun			clocks = <&rcc SDMMC1_K>;
1368*4882a593Smuzhiyun			clock-names = "apb_pclk";
1369*4882a593Smuzhiyun			resets = <&rcc SDMMC1_R>;
1370*4882a593Smuzhiyun			cap-sd-highspeed;
1371*4882a593Smuzhiyun			cap-mmc-highspeed;
1372*4882a593Smuzhiyun			max-frequency = <120000000>;
1373*4882a593Smuzhiyun			status = "disabled";
1374*4882a593Smuzhiyun		};
1375*4882a593Smuzhiyun
1376*4882a593Smuzhiyun		sdmmc2: sdmmc@58007000 {
1377*4882a593Smuzhiyun			compatible = "arm,pl18x", "arm,primecell";
1378*4882a593Smuzhiyun			arm,primecell-periphid = <0x10153180>;
1379*4882a593Smuzhiyun			reg = <0x58007000 0x1000>;
1380*4882a593Smuzhiyun			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1381*4882a593Smuzhiyun			interrupt-names = "cmd_irq";
1382*4882a593Smuzhiyun			clocks = <&rcc SDMMC2_K>;
1383*4882a593Smuzhiyun			clock-names = "apb_pclk";
1384*4882a593Smuzhiyun			resets = <&rcc SDMMC2_R>;
1385*4882a593Smuzhiyun			cap-sd-highspeed;
1386*4882a593Smuzhiyun			cap-mmc-highspeed;
1387*4882a593Smuzhiyun			max-frequency = <120000000>;
1388*4882a593Smuzhiyun			status = "disabled";
1389*4882a593Smuzhiyun		};
1390*4882a593Smuzhiyun
1391*4882a593Smuzhiyun		crc1: crc@58009000 {
1392*4882a593Smuzhiyun			compatible = "st,stm32f7-crc";
1393*4882a593Smuzhiyun			reg = <0x58009000 0x400>;
1394*4882a593Smuzhiyun			clocks = <&rcc CRC1>;
1395*4882a593Smuzhiyun			status = "disabled";
1396*4882a593Smuzhiyun		};
1397*4882a593Smuzhiyun
1398*4882a593Smuzhiyun		ethernet0: ethernet@5800a000 {
1399*4882a593Smuzhiyun			compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
1400*4882a593Smuzhiyun			reg = <0x5800a000 0x2000>;
1401*4882a593Smuzhiyun			reg-names = "stmmaceth";
1402*4882a593Smuzhiyun			interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
1403*4882a593Smuzhiyun			interrupt-names = "macirq";
1404*4882a593Smuzhiyun			clock-names = "stmmaceth",
1405*4882a593Smuzhiyun				      "mac-clk-tx",
1406*4882a593Smuzhiyun				      "mac-clk-rx",
1407*4882a593Smuzhiyun				      "eth-ck",
1408*4882a593Smuzhiyun				      "ethstp";
1409*4882a593Smuzhiyun			clocks = <&rcc ETHMAC>,
1410*4882a593Smuzhiyun				 <&rcc ETHTX>,
1411*4882a593Smuzhiyun				 <&rcc ETHRX>,
1412*4882a593Smuzhiyun				 <&rcc ETHCK_K>,
1413*4882a593Smuzhiyun				 <&rcc ETHSTP>;
1414*4882a593Smuzhiyun			st,syscon = <&syscfg 0x4>;
1415*4882a593Smuzhiyun			snps,mixed-burst;
1416*4882a593Smuzhiyun			snps,pbl = <2>;
1417*4882a593Smuzhiyun			snps,en-tx-lpi-clockgating;
1418*4882a593Smuzhiyun			snps,axi-config = <&stmmac_axi_config_0>;
1419*4882a593Smuzhiyun			snps,tso;
1420*4882a593Smuzhiyun			status = "disabled";
1421*4882a593Smuzhiyun
1422*4882a593Smuzhiyun			stmmac_axi_config_0: stmmac-axi-config {
1423*4882a593Smuzhiyun				snps,wr_osr_lmt = <0x7>;
1424*4882a593Smuzhiyun				snps,rd_osr_lmt = <0x7>;
1425*4882a593Smuzhiyun				snps,blen = <0 0 0 0 16 8 4>;
1426*4882a593Smuzhiyun			};
1427*4882a593Smuzhiyun		};
1428*4882a593Smuzhiyun
1429*4882a593Smuzhiyun		usbh_ohci: usbh-ohci@5800c000 {
1430*4882a593Smuzhiyun			compatible = "generic-ohci";
1431*4882a593Smuzhiyun			reg = <0x5800c000 0x1000>;
1432*4882a593Smuzhiyun			clocks = <&rcc USBH>;
1433*4882a593Smuzhiyun			resets = <&rcc USBH_R>;
1434*4882a593Smuzhiyun			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
1435*4882a593Smuzhiyun			status = "disabled";
1436*4882a593Smuzhiyun		};
1437*4882a593Smuzhiyun
1438*4882a593Smuzhiyun		usbh_ehci: usbh-ehci@5800d000 {
1439*4882a593Smuzhiyun			compatible = "generic-ehci";
1440*4882a593Smuzhiyun			reg = <0x5800d000 0x1000>;
1441*4882a593Smuzhiyun			clocks = <&rcc USBH>;
1442*4882a593Smuzhiyun			resets = <&rcc USBH_R>;
1443*4882a593Smuzhiyun			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
1444*4882a593Smuzhiyun			companion = <&usbh_ohci>;
1445*4882a593Smuzhiyun			status = "disabled";
1446*4882a593Smuzhiyun		};
1447*4882a593Smuzhiyun
1448*4882a593Smuzhiyun		ltdc: display-controller@5a001000 {
1449*4882a593Smuzhiyun			compatible = "st,stm32-ltdc";
1450*4882a593Smuzhiyun			reg = <0x5a001000 0x400>;
1451*4882a593Smuzhiyun			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
1452*4882a593Smuzhiyun				     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1453*4882a593Smuzhiyun			clocks = <&rcc LTDC_PX>;
1454*4882a593Smuzhiyun			clock-names = "lcd";
1455*4882a593Smuzhiyun			resets = <&rcc LTDC_R>;
1456*4882a593Smuzhiyun			status = "disabled";
1457*4882a593Smuzhiyun
1458*4882a593Smuzhiyun			port {
1459*4882a593Smuzhiyun				#address-cells = <1>;
1460*4882a593Smuzhiyun				#size-cells = <0>;
1461*4882a593Smuzhiyun			};
1462*4882a593Smuzhiyun		};
1463*4882a593Smuzhiyun
1464*4882a593Smuzhiyun		iwdg2: watchdog@5a002000 {
1465*4882a593Smuzhiyun			compatible = "st,stm32mp1-iwdg";
1466*4882a593Smuzhiyun			reg = <0x5a002000 0x400>;
1467*4882a593Smuzhiyun			clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
1468*4882a593Smuzhiyun			clock-names = "pclk", "lsi";
1469*4882a593Smuzhiyun			status = "disabled";
1470*4882a593Smuzhiyun		};
1471*4882a593Smuzhiyun
1472*4882a593Smuzhiyun		usbphyc: usbphyc@5a006000 {
1473*4882a593Smuzhiyun			#address-cells = <1>;
1474*4882a593Smuzhiyun			#size-cells = <0>;
1475*4882a593Smuzhiyun			compatible = "st,stm32mp1-usbphyc";
1476*4882a593Smuzhiyun			reg = <0x5a006000 0x1000>;
1477*4882a593Smuzhiyun			clocks = <&rcc USBPHY_K>;
1478*4882a593Smuzhiyun			resets = <&rcc USBPHY_R>;
1479*4882a593Smuzhiyun			status = "disabled";
1480*4882a593Smuzhiyun
1481*4882a593Smuzhiyun			usbphyc_port0: usb-phy@0 {
1482*4882a593Smuzhiyun				#phy-cells = <0>;
1483*4882a593Smuzhiyun				reg = <0>;
1484*4882a593Smuzhiyun			};
1485*4882a593Smuzhiyun
1486*4882a593Smuzhiyun			usbphyc_port1: usb-phy@1 {
1487*4882a593Smuzhiyun				#phy-cells = <1>;
1488*4882a593Smuzhiyun				reg = <1>;
1489*4882a593Smuzhiyun			};
1490*4882a593Smuzhiyun		};
1491*4882a593Smuzhiyun
1492*4882a593Smuzhiyun		usart1: serial@5c000000 {
1493*4882a593Smuzhiyun			compatible = "st,stm32h7-uart";
1494*4882a593Smuzhiyun			reg = <0x5c000000 0x400>;
1495*4882a593Smuzhiyun			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1496*4882a593Smuzhiyun			clocks = <&rcc USART1_K>;
1497*4882a593Smuzhiyun			status = "disabled";
1498*4882a593Smuzhiyun		};
1499*4882a593Smuzhiyun
1500*4882a593Smuzhiyun		spi6: spi@5c001000 {
1501*4882a593Smuzhiyun			#address-cells = <1>;
1502*4882a593Smuzhiyun			#size-cells = <0>;
1503*4882a593Smuzhiyun			compatible = "st,stm32h7-spi";
1504*4882a593Smuzhiyun			reg = <0x5c001000 0x400>;
1505*4882a593Smuzhiyun			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1506*4882a593Smuzhiyun			clocks = <&rcc SPI6_K>;
1507*4882a593Smuzhiyun			resets = <&rcc SPI6_R>;
1508*4882a593Smuzhiyun			dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
1509*4882a593Smuzhiyun			       <&mdma1 35 0x0 0x40002 0x0 0x0>;
1510*4882a593Smuzhiyun			dma-names = "rx", "tx";
1511*4882a593Smuzhiyun			status = "disabled";
1512*4882a593Smuzhiyun		};
1513*4882a593Smuzhiyun
1514*4882a593Smuzhiyun		i2c4: i2c@5c002000 {
1515*4882a593Smuzhiyun			compatible = "st,stm32mp15-i2c";
1516*4882a593Smuzhiyun			reg = <0x5c002000 0x400>;
1517*4882a593Smuzhiyun			interrupt-names = "event", "error";
1518*4882a593Smuzhiyun			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1519*4882a593Smuzhiyun				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1520*4882a593Smuzhiyun			clocks = <&rcc I2C4_K>;
1521*4882a593Smuzhiyun			resets = <&rcc I2C4_R>;
1522*4882a593Smuzhiyun			#address-cells = <1>;
1523*4882a593Smuzhiyun			#size-cells = <0>;
1524*4882a593Smuzhiyun			st,syscfg-fmp = <&syscfg 0x4 0x8>;
1525*4882a593Smuzhiyun			wakeup-source;
1526*4882a593Smuzhiyun			status = "disabled";
1527*4882a593Smuzhiyun		};
1528*4882a593Smuzhiyun
1529*4882a593Smuzhiyun		rtc: rtc@5c004000 {
1530*4882a593Smuzhiyun			compatible = "st,stm32mp1-rtc";
1531*4882a593Smuzhiyun			reg = <0x5c004000 0x400>;
1532*4882a593Smuzhiyun			clocks = <&rcc RTCAPB>, <&rcc RTC>;
1533*4882a593Smuzhiyun			clock-names = "pclk", "rtc_ck";
1534*4882a593Smuzhiyun			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
1535*4882a593Smuzhiyun			status = "disabled";
1536*4882a593Smuzhiyun		};
1537*4882a593Smuzhiyun
1538*4882a593Smuzhiyun		bsec: efuse@5c005000 {
1539*4882a593Smuzhiyun			compatible = "st,stm32mp15-bsec";
1540*4882a593Smuzhiyun			reg = <0x5c005000 0x400>;
1541*4882a593Smuzhiyun			#address-cells = <1>;
1542*4882a593Smuzhiyun			#size-cells = <1>;
1543*4882a593Smuzhiyun			ts_cal1: calib@5c {
1544*4882a593Smuzhiyun				reg = <0x5c 0x2>;
1545*4882a593Smuzhiyun			};
1546*4882a593Smuzhiyun			ts_cal2: calib@5e {
1547*4882a593Smuzhiyun				reg = <0x5e 0x2>;
1548*4882a593Smuzhiyun			};
1549*4882a593Smuzhiyun		};
1550*4882a593Smuzhiyun
1551*4882a593Smuzhiyun		i2c6: i2c@5c009000 {
1552*4882a593Smuzhiyun			compatible = "st,stm32mp15-i2c";
1553*4882a593Smuzhiyun			reg = <0x5c009000 0x400>;
1554*4882a593Smuzhiyun			interrupt-names = "event", "error";
1555*4882a593Smuzhiyun			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1556*4882a593Smuzhiyun				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1557*4882a593Smuzhiyun			clocks = <&rcc I2C6_K>;
1558*4882a593Smuzhiyun			resets = <&rcc I2C6_R>;
1559*4882a593Smuzhiyun			#address-cells = <1>;
1560*4882a593Smuzhiyun			#size-cells = <0>;
1561*4882a593Smuzhiyun			st,syscfg-fmp = <&syscfg 0x4 0x20>;
1562*4882a593Smuzhiyun			wakeup-source;
1563*4882a593Smuzhiyun			status = "disabled";
1564*4882a593Smuzhiyun		};
1565*4882a593Smuzhiyun
1566*4882a593Smuzhiyun		/*
1567*4882a593Smuzhiyun		 * Break node order to solve dependency probe issue between
1568*4882a593Smuzhiyun		 * pinctrl and exti.
1569*4882a593Smuzhiyun		 */
1570*4882a593Smuzhiyun		pinctrl: pin-controller@50002000 {
1571*4882a593Smuzhiyun			#address-cells = <1>;
1572*4882a593Smuzhiyun			#size-cells = <1>;
1573*4882a593Smuzhiyun			compatible = "st,stm32mp157-pinctrl";
1574*4882a593Smuzhiyun			ranges = <0 0x50002000 0xa400>;
1575*4882a593Smuzhiyun			interrupt-parent = <&exti>;
1576*4882a593Smuzhiyun			st,syscfg = <&exti 0x60 0xff>;
1577*4882a593Smuzhiyun			pins-are-numbered;
1578*4882a593Smuzhiyun
1579*4882a593Smuzhiyun			gpioa: gpio@50002000 {
1580*4882a593Smuzhiyun				gpio-controller;
1581*4882a593Smuzhiyun				#gpio-cells = <2>;
1582*4882a593Smuzhiyun				interrupt-controller;
1583*4882a593Smuzhiyun				#interrupt-cells = <2>;
1584*4882a593Smuzhiyun				reg = <0x0 0x400>;
1585*4882a593Smuzhiyun				clocks = <&rcc GPIOA>;
1586*4882a593Smuzhiyun				st,bank-name = "GPIOA";
1587*4882a593Smuzhiyun				status = "disabled";
1588*4882a593Smuzhiyun			};
1589*4882a593Smuzhiyun
1590*4882a593Smuzhiyun			gpiob: gpio@50003000 {
1591*4882a593Smuzhiyun				gpio-controller;
1592*4882a593Smuzhiyun				#gpio-cells = <2>;
1593*4882a593Smuzhiyun				interrupt-controller;
1594*4882a593Smuzhiyun				#interrupt-cells = <2>;
1595*4882a593Smuzhiyun				reg = <0x1000 0x400>;
1596*4882a593Smuzhiyun				clocks = <&rcc GPIOB>;
1597*4882a593Smuzhiyun				st,bank-name = "GPIOB";
1598*4882a593Smuzhiyun				status = "disabled";
1599*4882a593Smuzhiyun			};
1600*4882a593Smuzhiyun
1601*4882a593Smuzhiyun			gpioc: gpio@50004000 {
1602*4882a593Smuzhiyun				gpio-controller;
1603*4882a593Smuzhiyun				#gpio-cells = <2>;
1604*4882a593Smuzhiyun				interrupt-controller;
1605*4882a593Smuzhiyun				#interrupt-cells = <2>;
1606*4882a593Smuzhiyun				reg = <0x2000 0x400>;
1607*4882a593Smuzhiyun				clocks = <&rcc GPIOC>;
1608*4882a593Smuzhiyun				st,bank-name = "GPIOC";
1609*4882a593Smuzhiyun				status = "disabled";
1610*4882a593Smuzhiyun			};
1611*4882a593Smuzhiyun
1612*4882a593Smuzhiyun			gpiod: gpio@50005000 {
1613*4882a593Smuzhiyun				gpio-controller;
1614*4882a593Smuzhiyun				#gpio-cells = <2>;
1615*4882a593Smuzhiyun				interrupt-controller;
1616*4882a593Smuzhiyun				#interrupt-cells = <2>;
1617*4882a593Smuzhiyun				reg = <0x3000 0x400>;
1618*4882a593Smuzhiyun				clocks = <&rcc GPIOD>;
1619*4882a593Smuzhiyun				st,bank-name = "GPIOD";
1620*4882a593Smuzhiyun				status = "disabled";
1621*4882a593Smuzhiyun			};
1622*4882a593Smuzhiyun
1623*4882a593Smuzhiyun			gpioe: gpio@50006000 {
1624*4882a593Smuzhiyun				gpio-controller;
1625*4882a593Smuzhiyun				#gpio-cells = <2>;
1626*4882a593Smuzhiyun				interrupt-controller;
1627*4882a593Smuzhiyun				#interrupt-cells = <2>;
1628*4882a593Smuzhiyun				reg = <0x4000 0x400>;
1629*4882a593Smuzhiyun				clocks = <&rcc GPIOE>;
1630*4882a593Smuzhiyun				st,bank-name = "GPIOE";
1631*4882a593Smuzhiyun				status = "disabled";
1632*4882a593Smuzhiyun			};
1633*4882a593Smuzhiyun
1634*4882a593Smuzhiyun			gpiof: gpio@50007000 {
1635*4882a593Smuzhiyun				gpio-controller;
1636*4882a593Smuzhiyun				#gpio-cells = <2>;
1637*4882a593Smuzhiyun				interrupt-controller;
1638*4882a593Smuzhiyun				#interrupt-cells = <2>;
1639*4882a593Smuzhiyun				reg = <0x5000 0x400>;
1640*4882a593Smuzhiyun				clocks = <&rcc GPIOF>;
1641*4882a593Smuzhiyun				st,bank-name = "GPIOF";
1642*4882a593Smuzhiyun				status = "disabled";
1643*4882a593Smuzhiyun			};
1644*4882a593Smuzhiyun
1645*4882a593Smuzhiyun			gpiog: gpio@50008000 {
1646*4882a593Smuzhiyun				gpio-controller;
1647*4882a593Smuzhiyun				#gpio-cells = <2>;
1648*4882a593Smuzhiyun				interrupt-controller;
1649*4882a593Smuzhiyun				#interrupt-cells = <2>;
1650*4882a593Smuzhiyun				reg = <0x6000 0x400>;
1651*4882a593Smuzhiyun				clocks = <&rcc GPIOG>;
1652*4882a593Smuzhiyun				st,bank-name = "GPIOG";
1653*4882a593Smuzhiyun				status = "disabled";
1654*4882a593Smuzhiyun			};
1655*4882a593Smuzhiyun
1656*4882a593Smuzhiyun			gpioh: gpio@50009000 {
1657*4882a593Smuzhiyun				gpio-controller;
1658*4882a593Smuzhiyun				#gpio-cells = <2>;
1659*4882a593Smuzhiyun				interrupt-controller;
1660*4882a593Smuzhiyun				#interrupt-cells = <2>;
1661*4882a593Smuzhiyun				reg = <0x7000 0x400>;
1662*4882a593Smuzhiyun				clocks = <&rcc GPIOH>;
1663*4882a593Smuzhiyun				st,bank-name = "GPIOH";
1664*4882a593Smuzhiyun				status = "disabled";
1665*4882a593Smuzhiyun			};
1666*4882a593Smuzhiyun
1667*4882a593Smuzhiyun			gpioi: gpio@5000a000 {
1668*4882a593Smuzhiyun				gpio-controller;
1669*4882a593Smuzhiyun				#gpio-cells = <2>;
1670*4882a593Smuzhiyun				interrupt-controller;
1671*4882a593Smuzhiyun				#interrupt-cells = <2>;
1672*4882a593Smuzhiyun				reg = <0x8000 0x400>;
1673*4882a593Smuzhiyun				clocks = <&rcc GPIOI>;
1674*4882a593Smuzhiyun				st,bank-name = "GPIOI";
1675*4882a593Smuzhiyun				status = "disabled";
1676*4882a593Smuzhiyun			};
1677*4882a593Smuzhiyun
1678*4882a593Smuzhiyun			gpioj: gpio@5000b000 {
1679*4882a593Smuzhiyun				gpio-controller;
1680*4882a593Smuzhiyun				#gpio-cells = <2>;
1681*4882a593Smuzhiyun				interrupt-controller;
1682*4882a593Smuzhiyun				#interrupt-cells = <2>;
1683*4882a593Smuzhiyun				reg = <0x9000 0x400>;
1684*4882a593Smuzhiyun				clocks = <&rcc GPIOJ>;
1685*4882a593Smuzhiyun				st,bank-name = "GPIOJ";
1686*4882a593Smuzhiyun				status = "disabled";
1687*4882a593Smuzhiyun			};
1688*4882a593Smuzhiyun
1689*4882a593Smuzhiyun			gpiok: gpio@5000c000 {
1690*4882a593Smuzhiyun				gpio-controller;
1691*4882a593Smuzhiyun				#gpio-cells = <2>;
1692*4882a593Smuzhiyun				interrupt-controller;
1693*4882a593Smuzhiyun				#interrupt-cells = <2>;
1694*4882a593Smuzhiyun				reg = <0xa000 0x400>;
1695*4882a593Smuzhiyun				clocks = <&rcc GPIOK>;
1696*4882a593Smuzhiyun				st,bank-name = "GPIOK";
1697*4882a593Smuzhiyun				status = "disabled";
1698*4882a593Smuzhiyun			};
1699*4882a593Smuzhiyun		};
1700*4882a593Smuzhiyun
1701*4882a593Smuzhiyun		pinctrl_z: pin-controller-z@54004000 {
1702*4882a593Smuzhiyun			#address-cells = <1>;
1703*4882a593Smuzhiyun			#size-cells = <1>;
1704*4882a593Smuzhiyun			compatible = "st,stm32mp157-z-pinctrl";
1705*4882a593Smuzhiyun			ranges = <0 0x54004000 0x400>;
1706*4882a593Smuzhiyun			pins-are-numbered;
1707*4882a593Smuzhiyun			interrupt-parent = <&exti>;
1708*4882a593Smuzhiyun			st,syscfg = <&exti 0x60 0xff>;
1709*4882a593Smuzhiyun
1710*4882a593Smuzhiyun			gpioz: gpio@54004000 {
1711*4882a593Smuzhiyun				gpio-controller;
1712*4882a593Smuzhiyun				#gpio-cells = <2>;
1713*4882a593Smuzhiyun				interrupt-controller;
1714*4882a593Smuzhiyun				#interrupt-cells = <2>;
1715*4882a593Smuzhiyun				reg = <0 0x400>;
1716*4882a593Smuzhiyun				clocks = <&rcc GPIOZ>;
1717*4882a593Smuzhiyun				st,bank-name = "GPIOZ";
1718*4882a593Smuzhiyun				st,bank-ioport = <11>;
1719*4882a593Smuzhiyun				status = "disabled";
1720*4882a593Smuzhiyun			};
1721*4882a593Smuzhiyun		};
1722*4882a593Smuzhiyun	};
1723*4882a593Smuzhiyun
1724*4882a593Smuzhiyun	mlahb: ahb {
1725*4882a593Smuzhiyun		compatible = "st,mlahb", "simple-bus";
1726*4882a593Smuzhiyun		#address-cells = <1>;
1727*4882a593Smuzhiyun		#size-cells = <1>;
1728*4882a593Smuzhiyun		ranges;
1729*4882a593Smuzhiyun		dma-ranges = <0x00000000 0x38000000 0x10000>,
1730*4882a593Smuzhiyun			     <0x10000000 0x10000000 0x60000>,
1731*4882a593Smuzhiyun			     <0x30000000 0x30000000 0x60000>;
1732*4882a593Smuzhiyun
1733*4882a593Smuzhiyun		m4_rproc: m4@10000000 {
1734*4882a593Smuzhiyun			compatible = "st,stm32mp1-m4";
1735*4882a593Smuzhiyun			reg = <0x10000000 0x40000>,
1736*4882a593Smuzhiyun			      <0x30000000 0x40000>,
1737*4882a593Smuzhiyun			      <0x38000000 0x10000>;
1738*4882a593Smuzhiyun			resets = <&rcc MCU_R>;
1739*4882a593Smuzhiyun			st,syscfg-holdboot = <&rcc 0x10C 0x1>;
1740*4882a593Smuzhiyun			st,syscfg-tz = <&rcc 0x000 0x1>;
1741*4882a593Smuzhiyun			st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
1742*4882a593Smuzhiyun			status = "disabled";
1743*4882a593Smuzhiyun		};
1744*4882a593Smuzhiyun	};
1745*4882a593Smuzhiyun};
1746