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