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