xref: /openbmc/u-boot/arch/arm/dts/stm32mp157c.dtsi (revision 78a88f79)
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/interrupt-controller/arm-gic.h>
7#include <dt-bindings/clock/stm32mp1-clks.h>
8#include <dt-bindings/reset/stm32mp1-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		cpu1: cpu@1 {
25			compatible = "arm,cortex-a7";
26			device_type = "cpu";
27			reg = <1>;
28		};
29	};
30
31	psci {
32		compatible = "arm,psci";
33		method = "smc";
34		cpu_off = <0x84000002>;
35		cpu_on = <0x84000003>;
36	};
37
38	aliases {
39		gpio0 = &gpioa;
40		gpio1 = &gpiob;
41		gpio2 = &gpioc;
42		gpio3 = &gpiod;
43		gpio4 = &gpioe;
44		gpio5 = &gpiof;
45		gpio6 = &gpiog;
46		gpio7 = &gpioh;
47		gpio8 = &gpioi;
48		gpio9 = &gpioj;
49		gpio10 = &gpiok;
50		serial0 = &usart1;
51		serial1 = &usart2;
52		serial2 = &usart3;
53		serial3 = &uart4;
54		serial4 = &uart5;
55		serial5 = &usart6;
56		serial6 = &uart7;
57		serial7 = &uart8;
58	};
59
60	intc: interrupt-controller@a0021000 {
61		compatible = "arm,cortex-a7-gic";
62		#interrupt-cells = <3>;
63		interrupt-controller;
64		reg = <0xa0021000 0x1000>,
65		      <0xa0022000 0x2000>;
66	};
67
68	timer {
69		compatible = "arm,armv7-timer";
70		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
71			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
72			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
73			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
74		interrupt-parent = <&intc>;
75	};
76
77	clocks {
78		clk_hse: clk-hse {
79			#clock-cells = <0>;
80			compatible = "fixed-clock";
81			clock-frequency = <24000000>;
82		};
83
84		clk_hsi: clk-hsi {
85			#clock-cells = <0>;
86			compatible = "fixed-clock";
87			clock-frequency = <64000000>;
88		};
89
90		clk_lse: clk-lse {
91			#clock-cells = <0>;
92			compatible = "fixed-clock";
93			clock-frequency = <32768>;
94		};
95
96		clk_lsi: clk-lsi {
97			#clock-cells = <0>;
98			compatible = "fixed-clock";
99			clock-frequency = <32000>;
100		};
101
102		clk_csi: clk-csi {
103			#clock-cells = <0>;
104			compatible = "fixed-clock";
105			clock-frequency = <4000000>;
106		};
107	};
108
109	soc {
110		compatible = "simple-bus";
111		#address-cells = <1>;
112		#size-cells = <1>;
113		interrupt-parent = <&intc>;
114		ranges;
115
116		timers2: timer@40000000 {
117			#address-cells = <1>;
118			#size-cells = <0>;
119			compatible = "st,stm32-timers";
120			reg = <0x40000000 0x400>;
121			clocks = <&rcc TIM2_K>;
122			clock-names = "int";
123			status = "disabled";
124
125			pwm {
126				compatible = "st,stm32-pwm";
127				status = "disabled";
128			};
129
130			timer@1 {
131				compatible = "st,stm32h7-timer-trigger";
132				reg = <1>;
133				status = "disabled";
134			};
135		};
136
137		timers3: timer@40001000 {
138			#address-cells = <1>;
139			#size-cells = <0>;
140			compatible = "st,stm32-timers";
141			reg = <0x40001000 0x400>;
142			clocks = <&rcc TIM3_K>;
143			clock-names = "int";
144			status = "disabled";
145
146			pwm {
147				compatible = "st,stm32-pwm";
148				status = "disabled";
149			};
150
151			timer@2 {
152				compatible = "st,stm32h7-timer-trigger";
153				reg = <2>;
154				status = "disabled";
155			};
156		};
157
158		timers4: timer@40002000 {
159			#address-cells = <1>;
160			#size-cells = <0>;
161			compatible = "st,stm32-timers";
162			reg = <0x40002000 0x400>;
163			clocks = <&rcc TIM4_K>;
164			clock-names = "int";
165			status = "disabled";
166
167			pwm {
168				compatible = "st,stm32-pwm";
169				status = "disabled";
170			};
171
172			timer@3 {
173				compatible = "st,stm32h7-timer-trigger";
174				reg = <3>;
175				status = "disabled";
176			};
177		};
178
179		timers5: timer@40003000 {
180			#address-cells = <1>;
181			#size-cells = <0>;
182			compatible = "st,stm32-timers";
183			reg = <0x40003000 0x400>;
184			clocks = <&rcc TIM5_K>;
185			clock-names = "int";
186			status = "disabled";
187
188			pwm {
189				compatible = "st,stm32-pwm";
190				status = "disabled";
191			};
192
193			timer@4 {
194				compatible = "st,stm32h7-timer-trigger";
195				reg = <4>;
196				status = "disabled";
197			};
198		};
199
200		timers6: timer@40004000 {
201			#address-cells = <1>;
202			#size-cells = <0>;
203			compatible = "st,stm32-timers";
204			reg = <0x40004000 0x400>;
205			clocks = <&rcc TIM6_K>;
206			clock-names = "int";
207			status = "disabled";
208
209			timer@5 {
210				compatible = "st,stm32h7-timer-trigger";
211				reg = <5>;
212				status = "disabled";
213			};
214		};
215
216		timers7: timer@40005000 {
217			#address-cells = <1>;
218			#size-cells = <0>;
219			compatible = "st,stm32-timers";
220			reg = <0x40005000 0x400>;
221			clocks = <&rcc TIM7_K>;
222			clock-names = "int";
223			status = "disabled";
224
225			timer@6 {
226				compatible = "st,stm32h7-timer-trigger";
227				reg = <6>;
228				status = "disabled";
229			};
230		};
231
232		timers12: timer@40006000 {
233			#address-cells = <1>;
234			#size-cells = <0>;
235			compatible = "st,stm32-timers";
236			reg = <0x40006000 0x400>;
237			clocks = <&rcc TIM12_K>;
238			clock-names = "int";
239			status = "disabled";
240
241			pwm {
242				compatible = "st,stm32-pwm";
243				status = "disabled";
244			};
245
246			timer@11 {
247				compatible = "st,stm32h7-timer-trigger";
248				reg = <11>;
249				status = "disabled";
250			};
251		};
252
253		timers13: timer@40007000 {
254			#address-cells = <1>;
255			#size-cells = <0>;
256			compatible = "st,stm32-timers";
257			reg = <0x40007000 0x400>;
258			clocks = <&rcc TIM13_K>;
259			clock-names = "int";
260			status = "disabled";
261
262			pwm {
263				compatible = "st,stm32-pwm";
264				status = "disabled";
265			};
266
267			timer@12 {
268				compatible = "st,stm32h7-timer-trigger";
269				reg = <12>;
270				status = "disabled";
271			};
272		};
273
274		timers14: timer@40008000 {
275			#address-cells = <1>;
276			#size-cells = <0>;
277			compatible = "st,stm32-timers";
278			reg = <0x40008000 0x400>;
279			clocks = <&rcc TIM14_K>;
280			clock-names = "int";
281			status = "disabled";
282
283			pwm {
284				compatible = "st,stm32-pwm";
285				status = "disabled";
286			};
287
288			timer@13 {
289				compatible = "st,stm32h7-timer-trigger";
290				reg = <13>;
291				status = "disabled";
292			};
293		};
294
295		lptimer1: timer@40009000 {
296			#address-cells = <1>;
297			#size-cells = <0>;
298			compatible = "st,stm32-lptimer";
299			reg = <0x40009000 0x400>;
300			clocks = <&rcc LPTIM1_K>;
301			clock-names = "mux";
302			status = "disabled";
303
304			pwm {
305				compatible = "st,stm32-pwm-lp";
306				#pwm-cells = <3>;
307				status = "disabled";
308			};
309
310			trigger@0 {
311				compatible = "st,stm32-lptimer-trigger";
312				reg = <0>;
313				status = "disabled";
314			};
315
316			counter {
317				compatible = "st,stm32-lptimer-counter";
318				status = "disabled";
319			};
320		};
321
322		usart2: serial@4000e000 {
323			compatible = "st,stm32h7-uart";
324			reg = <0x4000e000 0x400>;
325			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
326			clocks = <&rcc USART2_K>;
327			status = "disabled";
328		};
329
330		usart3: serial@4000f000 {
331			compatible = "st,stm32h7-uart";
332			reg = <0x4000f000 0x400>;
333			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
334			clocks = <&rcc USART3_K>;
335			status = "disabled";
336		};
337
338		uart4: serial@40010000 {
339			compatible = "st,stm32h7-uart";
340			reg = <0x40010000 0x400>;
341			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
342			clocks = <&rcc UART4_K>;
343			status = "disabled";
344		};
345
346		uart5: serial@40011000 {
347			compatible = "st,stm32h7-uart";
348			reg = <0x40011000 0x400>;
349			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
350			clocks = <&rcc UART5_K>;
351			status = "disabled";
352		};
353
354		i2c1: i2c@40012000 {
355			compatible = "st,stm32f7-i2c";
356			reg = <0x40012000 0x400>;
357			interrupt-names = "event", "error";
358			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
359				     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
360			clocks = <&rcc I2C1_K>;
361			resets = <&rcc I2C1_R>;
362			#address-cells = <1>;
363			#size-cells = <0>;
364			status = "disabled";
365		};
366
367		i2c2: i2c@40013000 {
368			compatible = "st,stm32f7-i2c";
369			reg = <0x40013000 0x400>;
370			interrupt-names = "event", "error";
371			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
372				     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
373			clocks = <&rcc I2C2_K>;
374			resets = <&rcc I2C2_R>;
375			#address-cells = <1>;
376			#size-cells = <0>;
377			status = "disabled";
378		};
379
380		i2c3: i2c@40014000 {
381			compatible = "st,stm32f7-i2c";
382			reg = <0x40014000 0x400>;
383			interrupt-names = "event", "error";
384			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
385				     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
386			clocks = <&rcc I2C3_K>;
387			resets = <&rcc I2C3_R>;
388			#address-cells = <1>;
389			#size-cells = <0>;
390			status = "disabled";
391		};
392
393		i2c5: i2c@40015000 {
394			compatible = "st,stm32f7-i2c";
395			reg = <0x40015000 0x400>;
396			interrupt-names = "event", "error";
397			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
398				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
399			clocks = <&rcc I2C5_K>;
400			resets = <&rcc I2C5_R>;
401			#address-cells = <1>;
402			#size-cells = <0>;
403			status = "disabled";
404		};
405
406		cec: cec@40016000 {
407			compatible = "st,stm32-cec";
408			reg = <0x40016000 0x400>;
409			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
410			clocks = <&rcc CEC_K>, <&clk_lse>;
411			clock-names = "cec", "hdmi-cec";
412			status = "disabled";
413		};
414
415		dac: dac@40017000 {
416			compatible = "st,stm32h7-dac-core";
417			reg = <0x40017000 0x400>;
418			clocks = <&rcc DAC12>;
419			clock-names = "pclk";
420			#address-cells = <1>;
421			#size-cells = <0>;
422			status = "disabled";
423
424			dac1: dac@1 {
425				compatible = "st,stm32-dac";
426				#io-channels-cells = <1>;
427				reg = <1>;
428				status = "disabled";
429			};
430
431			dac2: dac@2 {
432				compatible = "st,stm32-dac";
433				#io-channels-cells = <1>;
434				reg = <2>;
435				status = "disabled";
436			};
437		};
438
439		uart7: serial@40018000 {
440			compatible = "st,stm32h7-uart";
441			reg = <0x40018000 0x400>;
442			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
443			clocks = <&rcc UART7_K>;
444			status = "disabled";
445		};
446
447		uart8: serial@40019000 {
448			compatible = "st,stm32h7-uart";
449			reg = <0x40019000 0x400>;
450			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
451			clocks = <&rcc UART8_K>;
452			status = "disabled";
453		};
454
455		timers1: timer@44000000 {
456			#address-cells = <1>;
457			#size-cells = <0>;
458			compatible = "st,stm32-timers";
459			reg = <0x44000000 0x400>;
460			clocks = <&rcc TIM1_K>;
461			clock-names = "int";
462			status = "disabled";
463
464			pwm {
465				compatible = "st,stm32-pwm";
466				status = "disabled";
467			};
468
469			timer@0 {
470				compatible = "st,stm32h7-timer-trigger";
471				reg = <0>;
472				status = "disabled";
473			};
474		};
475
476		timers8: timer@44001000 {
477			#address-cells = <1>;
478			#size-cells = <0>;
479			compatible = "st,stm32-timers";
480			reg = <0x44001000 0x400>;
481			clocks = <&rcc TIM8_K>;
482			clock-names = "int";
483			status = "disabled";
484
485			pwm {
486				compatible = "st,stm32-pwm";
487				status = "disabled";
488			};
489
490			timer@7 {
491				compatible = "st,stm32h7-timer-trigger";
492				reg = <7>;
493				status = "disabled";
494			};
495		};
496
497		usart6: serial@44003000 {
498			compatible = "st,stm32h7-uart";
499			reg = <0x44003000 0x400>;
500			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
501			clocks = <&rcc USART6_K>;
502			status = "disabled";
503		};
504
505		timers15: timer@44006000 {
506			#address-cells = <1>;
507			#size-cells = <0>;
508			compatible = "st,stm32-timers";
509			reg = <0x44006000 0x400>;
510			clocks = <&rcc TIM15_K>;
511			clock-names = "int";
512			status = "disabled";
513
514			pwm {
515				compatible = "st,stm32-pwm";
516				status = "disabled";
517			};
518
519			timer@14 {
520				compatible = "st,stm32h7-timer-trigger";
521				reg = <14>;
522				status = "disabled";
523			};
524		};
525
526		timers16: timer@44007000 {
527			#address-cells = <1>;
528			#size-cells = <0>;
529			compatible = "st,stm32-timers";
530			reg = <0x44007000 0x400>;
531			clocks = <&rcc TIM16_K>;
532			clock-names = "int";
533			status = "disabled";
534
535			pwm {
536				compatible = "st,stm32-pwm";
537				status = "disabled";
538			};
539			timer@15 {
540				compatible = "st,stm32h7-timer-trigger";
541				reg = <15>;
542				status = "disabled";
543			};
544		};
545
546		timers17: timer@44008000 {
547			#address-cells = <1>;
548			#size-cells = <0>;
549			compatible = "st,stm32-timers";
550			reg = <0x44008000 0x400>;
551			clocks = <&rcc TIM17_K>;
552			clock-names = "int";
553			status = "disabled";
554
555			pwm {
556				compatible = "st,stm32-pwm";
557				status = "disabled";
558			};
559
560			timer@16 {
561				compatible = "st,stm32h7-timer-trigger";
562				reg = <16>;
563				status = "disabled";
564			};
565		};
566
567		dma1: dma@48000000 {
568			compatible = "st,stm32-dma";
569			reg = <0x48000000 0x400>;
570			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
571				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
572				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
573				     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
574				     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
575				     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
576				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
577				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
578			clocks = <&rcc DMA1>;
579			#dma-cells = <4>;
580			st,mem2mem;
581			dma-requests = <8>;
582		};
583
584		dma2: dma@48001000 {
585			compatible = "st,stm32-dma";
586			reg = <0x48001000 0x400>;
587			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
588				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
589				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
590				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
591				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
592				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
593				     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
594				     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
595			clocks = <&rcc DMA2>;
596			#dma-cells = <4>;
597			st,mem2mem;
598			dma-requests = <8>;
599		};
600
601		dmamux1: dma-router@48002000 {
602			compatible = "st,stm32h7-dmamux";
603			reg = <0x48002000 0x1c>;
604			#dma-cells = <3>;
605			dma-requests = <128>;
606			dma-masters = <&dma1 &dma2>;
607			dma-channels = <16>;
608			clocks = <&rcc DMAMUX>;
609		};
610
611		sdmmc3: sdmmc@48004000 {
612			compatible = "st,stm32-sdmmc2";
613			reg = <0x48004000 0x400>, <0x48005000 0x400>;
614			reg-names = "sdmmc", "delay";
615			interrupts = <GIC_SPI 137 IRQ_TYPE_NONE>;
616			clocks = <&rcc SDMMC3_K>;
617			resets = <&rcc SDMMC3_R>;
618			st,idma = <1>;
619			cap-sd-highspeed;
620			cap-mmc-highspeed;
621			max-frequency = <120000000>;
622			status = "disabled";
623		};
624
625		rcc: rcc@50000000 {
626			compatible = "st,stm32mp1-rcc", "syscon";
627			reg = <0x50000000 0x1000>;
628			#clock-cells = <1>;
629			#reset-cells = <1>;
630		};
631
632		rcc_reboot: rcc-reboot@50000000 {
633			compatible = "syscon-reboot";
634			regmap = <&rcc>;
635			offset = <0x404>;
636			mask = <0x1>;
637		};
638
639		pwr: pwr@50001000 {
640			compatible = "st,stm32mp1-pwr", "st,stm32-pwr", "syscon", "simple-mfd";
641			reg = <0x50001000 0x400>;
642			system-power-controller;
643			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
644			st,sysrcc = <&rcc>;
645			clocks = <&rcc PLL2_R>;
646			clock-names = "phyclk";
647
648			pwr-regulators@c {
649				compatible = "st,stm32mp1,pwr-reg";
650				st,tzcr = <&rcc 0x0 0x1>;
651
652				reg11: reg11 {
653					regulator-name = "reg11";
654					regulator-min-microvolt = <1100000>;
655					regulator-max-microvolt = <1100000>;
656				};
657
658				reg18: reg18 {
659					regulator-name = "reg18";
660					regulator-min-microvolt = <1800000>;
661					regulator-max-microvolt = <1800000>;
662				};
663
664				usb33: usb33 {
665					regulator-name = "usb33";
666					regulator-min-microvolt = <3300000>;
667					regulator-max-microvolt = <3300000>;
668				};
669			};
670		};
671
672		exti: interrupt-controller@5000d000 {
673			compatible = "st,stm32mp1-exti", "syscon";
674			interrupt-controller;
675			#interrupt-cells = <2>;
676			reg = <0x5000d000 0x400>;
677		};
678
679		syscfg: system-config@50020000 {
680			compatible = "st,stm32-syscfg", "syscon";
681			reg = <0x50020000 0x400>;
682		};
683
684		lptimer2: timer@50021000 {
685			#address-cells = <1>;
686			#size-cells = <0>;
687			compatible = "st,stm32-lptimer";
688			reg = <0x50021000 0x400>;
689			clocks = <&rcc LPTIM2_K>;
690			clock-names = "mux";
691			status = "disabled";
692
693			pwm {
694				compatible = "st,stm32-pwm-lp";
695				#pwm-cells = <3>;
696				status = "disabled";
697			};
698
699			trigger@1 {
700				compatible = "st,stm32-lptimer-trigger";
701				reg = <1>;
702				status = "disabled";
703			};
704
705			counter {
706				compatible = "st,stm32-lptimer-counter";
707				status = "disabled";
708			};
709		};
710
711		lptimer3: timer@50022000 {
712			#address-cells = <1>;
713			#size-cells = <0>;
714			compatible = "st,stm32-lptimer";
715			reg = <0x50022000 0x400>;
716			clocks = <&rcc LPTIM3_K>;
717			clock-names = "mux";
718			status = "disabled";
719
720			pwm {
721				compatible = "st,stm32-pwm-lp";
722				#pwm-cells = <3>;
723				status = "disabled";
724			};
725
726			trigger@2 {
727				compatible = "st,stm32-lptimer-trigger";
728				reg = <2>;
729				status = "disabled";
730			};
731		};
732
733		lptimer4: timer@50023000 {
734			compatible = "st,stm32-lptimer";
735			reg = <0x50023000 0x400>;
736			clocks = <&rcc LPTIM4_K>;
737			clock-names = "mux";
738			status = "disabled";
739
740			pwm {
741				compatible = "st,stm32-pwm-lp";
742				#pwm-cells = <3>;
743				status = "disabled";
744			};
745		};
746
747		lptimer5: timer@50024000 {
748			compatible = "st,stm32-lptimer";
749			reg = <0x50024000 0x400>;
750			clocks = <&rcc LPTIM5_K>;
751			clock-names = "mux";
752			status = "disabled";
753
754			pwm {
755				compatible = "st,stm32-pwm-lp";
756				#pwm-cells = <3>;
757				status = "disabled";
758			};
759		};
760
761		vrefbuf: vrefbuf@50025000 {
762			compatible = "st,stm32-vrefbuf";
763			reg = <0x50025000 0x8>;
764			regulator-min-microvolt = <1500000>;
765			regulator-max-microvolt = <2500000>;
766			clocks = <&rcc VREF>;
767			status = "disabled";
768		};
769
770		cryp1: cryp@54001000 {
771			compatible = "st,stm32mp1-cryp";
772			reg = <0x54001000 0x400>;
773			interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
774			clocks = <&rcc CRYP1>;
775			resets = <&rcc CRYP1_R>;
776			status = "disabled";
777		};
778
779		rng1: rng@54003000 {
780			compatible = "st,stm32-rng";
781			reg = <0x54003000 0x400>;
782			clocks = <&rcc RNG1_K>;
783			resets = <&rcc RNG1_R>;
784			status = "disabled";
785		};
786
787		mdma1: dma@58000000 {
788			compatible = "st,stm32h7-mdma";
789			reg = <0x58000000 0x1000>;
790			interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
791			clocks = <&rcc MDMA>;
792			#dma-cells = <5>;
793			dma-channels = <32>;
794			dma-requests = <48>;
795		};
796
797		qspi: qspi@58003000 {
798			compatible = "st,stm32f469-qspi";
799			reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
800			reg-names = "qspi", "qspi_mm";
801			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
802			clocks = <&rcc QSPI_K>;
803			resets = <&rcc QSPI_R>;
804			status = "disabled";
805		};
806
807		sdmmc1: sdmmc@58005000 {
808			compatible = "st,stm32-sdmmc2";
809			reg = <0x58005000 0x1000>, <0x58006000 0x1000>;
810			reg-names = "sdmmc", "delay";
811			clocks = <&rcc SDMMC1_K>;
812			resets = <&rcc SDMMC1_R>;
813			st,idma = <1>;
814			cap-sd-highspeed;
815			cap-mmc-highspeed;
816			max-frequency = <120000000>;
817			status = "disabled";
818		};
819
820		sdmmc2: sdmmc@58007000 {
821			compatible = "st,stm32-sdmmc2";
822			reg = <0x58007000 0x1000>, <0x58008000 0x1000>;
823			reg-names = "sdmmc", "delay";
824			interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>;
825			clocks = <&rcc SDMMC2_K>;
826			resets = <&rcc SDMMC2_R>;
827			st,idma = <1>;
828			cap-sd-highspeed;
829			cap-mmc-highspeed;
830			max-frequency = <120000000>;
831			status = "disabled";
832		};
833
834		crc1: crc@58009000 {
835			compatible = "st,stm32f7-crc";
836			reg = <0x58009000 0x400>;
837			clocks = <&rcc CRC1>;
838			status = "disabled";
839		};
840
841		usbh_ohci: usbh-ohci@5800c000 {
842			compatible = "generic-ohci";
843			reg = <0x5800c000 0x1000>;
844			clocks = <&rcc USBH>;
845			resets = <&rcc USBH_R>;
846			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
847			status = "disabled";
848		};
849
850		usbh_ehci: usbh-ehci@5800d000 {
851			compatible = "generic-ehci";
852			reg = <0x5800d000 0x1000>;
853			clocks = <&rcc USBH>;
854			resets = <&rcc USBH_R>;
855			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
856			companion = <&usbh_ohci>;
857			status = "disabled";
858		};
859
860		dsi: dsi@5a000000 {
861			compatible = "st,stm32-dsi";
862			reg = <0x5a000000 0x800>;
863			clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
864			clock-names = "pclk", "ref", "px_clk";
865			resets = <&rcc DSI_R>;
866			reset-names = "apb";
867			status = "disabled";
868		};
869
870		ltdc: display-controller@5a001000 {
871			compatible = "st,stm32-ltdc";
872			reg = <0x5a001000 0x400>;
873			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
874				     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
875			clocks = <&rcc LTDC_PX>;
876			clock-names = "lcd";
877			resets = <&rcc LTDC_R>;
878			status = "disabled";
879		};
880
881		usbphyc: usbphyc@5a006000 {
882			#address-cells = <1>;
883			#size-cells = <0>;
884			compatible = "st,stm32mp1-usbphyc";
885			reg = <0x5a006000 0x1000>;
886			clocks = <&rcc USBPHY_K>;
887			resets = <&rcc USBPHY_R>;
888			status = "disabled";
889
890			usbphyc_port0: usb-phy@0 {
891				#phy-cells = <0>;
892				reg = <0>;
893			};
894
895			usbphyc_port1: usb-phy@1 {
896				#phy-cells = <1>;
897				reg = <1>;
898			};
899		};
900
901		usart1: serial@5c000000 {
902			compatible = "st,stm32h7-uart";
903			reg = <0x5c000000 0x400>;
904			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
905			clocks = <&rcc USART1_K>;
906			status = "disabled";
907		};
908
909		i2c4: i2c@5c002000 {
910			compatible = "st,stm32f7-i2c";
911			reg = <0x5c002000 0x400>;
912			interrupt-names = "event", "error";
913			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
914				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
915			clocks = <&rcc I2C4_K>;
916			resets = <&rcc I2C4_R>;
917			#address-cells = <1>;
918			#size-cells = <0>;
919			status = "disabled";
920		};
921
922		i2c6: i2c@5c009000 {
923			compatible = "st,stm32f7-i2c";
924			reg = <0x5c009000 0x400>;
925			interrupt-names = "event", "error";
926			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
927				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
928			clocks = <&rcc I2C6_K>;
929			resets = <&rcc I2C6_R>;
930			#address-cells = <1>;
931			#size-cells = <0>;
932			status = "disabled";
933		};
934	};
935};
936