1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
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>
19 compatible = "arm,cortex-a7";
20 clock-frequency = <650000000>;
23 operating-points-v2 = <&cpu0_opp_table>;
24 nvmem-cells = <&part_number_otp>;
25 nvmem-cell-names = "part_number";
29 cpu0_opp_table: cpu0-opp-table {
30 compatible = "operating-points-v2";
33 opp-hz = /bits/ 64 <650000000>;
34 opp-microvolt = <1200000>;
35 opp-supported-hw = <0x1>;
38 opp-hz = /bits/ 64 <800000000>;
39 opp-microvolt = <1350000>;
40 opp-supported-hw = <0x2>;
45 compatible = "arm,cortex-a7-pmu";
46 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
47 interrupt-affinity = <&cpu0>;
48 interrupt-parent = <&intc>;
52 compatible = "arm,psci-1.0";
56 intc: interrupt-controller@a0021000 {
57 compatible = "arm,cortex-a7-gic";
58 #interrupt-cells = <3>;
60 reg = <0xa0021000 0x1000>,
65 compatible = "arm,armv7-timer";
66 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
67 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
68 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
69 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
70 interrupt-parent = <&intc>;
76 compatible = "fixed-clock";
77 clock-frequency = <24000000>;
82 compatible = "fixed-clock";
83 clock-frequency = <64000000>;
88 compatible = "fixed-clock";
89 clock-frequency = <32768>;
94 compatible = "fixed-clock";
95 clock-frequency = <32000>;
100 compatible = "fixed-clock";
101 clock-frequency = <4000000>;
106 cpu_thermal: cpu-thermal {
107 polling-delay-passive = <0>;
109 thermal-sensors = <&dts>;
112 cpu_alert1: cpu-alert1 {
113 temperature = <85000>;
119 temperature = <120000>;
130 booster: regulator-booster {
131 compatible = "st,stm32mp1-booster";
132 st,syscfg = <&syscfg>;
137 compatible = "simple-bus";
138 #address-cells = <1>;
140 interrupt-parent = <&intc>;
143 timers2: timer@40000000 {
144 #address-cells = <1>;
146 compatible = "st,stm32-timers";
147 reg = <0x40000000 0x400>;
148 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
149 interrupt-names = "global";
150 clocks = <&rcc TIM2_K>;
152 dmas = <&dmamux1 18 0x400 0x1>,
153 <&dmamux1 19 0x400 0x1>,
154 <&dmamux1 20 0x400 0x1>,
155 <&dmamux1 21 0x400 0x1>,
156 <&dmamux1 22 0x400 0x1>;
157 dma-names = "ch1", "ch2", "ch3", "ch4", "up";
161 compatible = "st,stm32-pwm";
167 compatible = "st,stm32h7-timer-trigger";
173 compatible = "st,stm32-timer-counter";
178 timers3: timer@40001000 {
179 #address-cells = <1>;
181 compatible = "st,stm32-timers";
182 reg = <0x40001000 0x400>;
183 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
184 interrupt-names = "global";
185 clocks = <&rcc TIM3_K>;
187 dmas = <&dmamux1 23 0x400 0x1>,
188 <&dmamux1 24 0x400 0x1>,
189 <&dmamux1 25 0x400 0x1>,
190 <&dmamux1 26 0x400 0x1>,
191 <&dmamux1 27 0x400 0x1>,
192 <&dmamux1 28 0x400 0x1>;
193 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
197 compatible = "st,stm32-pwm";
203 compatible = "st,stm32h7-timer-trigger";
209 compatible = "st,stm32-timer-counter";
214 timers4: timer@40002000 {
215 #address-cells = <1>;
217 compatible = "st,stm32-timers";
218 reg = <0x40002000 0x400>;
219 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
220 interrupt-names = "global";
221 clocks = <&rcc TIM4_K>;
223 dmas = <&dmamux1 29 0x400 0x1>,
224 <&dmamux1 30 0x400 0x1>,
225 <&dmamux1 31 0x400 0x1>,
226 <&dmamux1 32 0x400 0x1>;
227 dma-names = "ch1", "ch2", "ch3", "ch4";
231 compatible = "st,stm32-pwm";
237 compatible = "st,stm32h7-timer-trigger";
243 compatible = "st,stm32-timer-counter";
248 timers5: timer@40003000 {
249 #address-cells = <1>;
251 compatible = "st,stm32-timers";
252 reg = <0x40003000 0x400>;
253 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
254 interrupt-names = "global";
255 clocks = <&rcc TIM5_K>;
257 dmas = <&dmamux1 55 0x400 0x1>,
258 <&dmamux1 56 0x400 0x1>,
259 <&dmamux1 57 0x400 0x1>,
260 <&dmamux1 58 0x400 0x1>,
261 <&dmamux1 59 0x400 0x1>,
262 <&dmamux1 60 0x400 0x1>;
263 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
267 compatible = "st,stm32-pwm";
273 compatible = "st,stm32h7-timer-trigger";
279 compatible = "st,stm32-timer-counter";
284 timers6: timer@40004000 {
285 #address-cells = <1>;
287 compatible = "st,stm32-timers";
288 reg = <0x40004000 0x400>;
289 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
290 interrupt-names = "global";
291 clocks = <&rcc TIM6_K>;
293 dmas = <&dmamux1 69 0x400 0x1>;
298 compatible = "st,stm32h7-timer-trigger";
304 timers7: timer@40005000 {
305 #address-cells = <1>;
307 compatible = "st,stm32-timers";
308 reg = <0x40005000 0x400>;
309 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
310 interrupt-names = "global";
311 clocks = <&rcc TIM7_K>;
313 dmas = <&dmamux1 70 0x400 0x1>;
318 compatible = "st,stm32h7-timer-trigger";
324 timers12: timer@40006000 {
325 #address-cells = <1>;
327 compatible = "st,stm32-timers";
328 reg = <0x40006000 0x400>;
329 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
330 interrupt-names = "global";
331 clocks = <&rcc TIM12_K>;
336 compatible = "st,stm32-pwm";
342 compatible = "st,stm32h7-timer-trigger";
348 timers13: timer@40007000 {
349 #address-cells = <1>;
351 compatible = "st,stm32-timers";
352 reg = <0x40007000 0x400>;
353 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
354 interrupt-names = "global";
355 clocks = <&rcc TIM13_K>;
360 compatible = "st,stm32-pwm";
366 compatible = "st,stm32h7-timer-trigger";
372 timers14: timer@40008000 {
373 #address-cells = <1>;
375 compatible = "st,stm32-timers";
376 reg = <0x40008000 0x400>;
377 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
378 interrupt-names = "global";
379 clocks = <&rcc TIM14_K>;
384 compatible = "st,stm32-pwm";
390 compatible = "st,stm32h7-timer-trigger";
396 lptimer1: timer@40009000 {
397 #address-cells = <1>;
399 compatible = "st,stm32-lptimer";
400 reg = <0x40009000 0x400>;
401 interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
402 clocks = <&rcc LPTIM1_K>;
408 compatible = "st,stm32-pwm-lp";
414 compatible = "st,stm32-lptimer-trigger";
420 compatible = "st,stm32-lptimer-counter";
426 #address-cells = <1>;
428 compatible = "st,stm32h7-spi";
429 reg = <0x4000b000 0x400>;
430 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
431 clocks = <&rcc SPI2_K>;
432 resets = <&rcc SPI2_R>;
433 dmas = <&dmamux1 39 0x400 0x05>,
434 <&dmamux1 40 0x400 0x05>;
435 dma-names = "rx", "tx";
439 i2s2: audio-controller@4000b000 {
440 compatible = "st,stm32h7-i2s";
441 #sound-dai-cells = <0>;
442 reg = <0x4000b000 0x400>;
443 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
444 dmas = <&dmamux1 39 0x400 0x01>,
445 <&dmamux1 40 0x400 0x01>;
446 dma-names = "rx", "tx";
451 #address-cells = <1>;
453 compatible = "st,stm32h7-spi";
454 reg = <0x4000c000 0x400>;
455 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
456 clocks = <&rcc SPI3_K>;
457 resets = <&rcc SPI3_R>;
458 dmas = <&dmamux1 61 0x400 0x05>,
459 <&dmamux1 62 0x400 0x05>;
460 dma-names = "rx", "tx";
464 i2s3: audio-controller@4000c000 {
465 compatible = "st,stm32h7-i2s";
466 #sound-dai-cells = <0>;
467 reg = <0x4000c000 0x400>;
468 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
469 dmas = <&dmamux1 61 0x400 0x01>,
470 <&dmamux1 62 0x400 0x01>;
471 dma-names = "rx", "tx";
475 spdifrx: audio-controller@4000d000 {
476 compatible = "st,stm32h7-spdifrx";
477 #sound-dai-cells = <0>;
478 reg = <0x4000d000 0x400>;
479 clocks = <&rcc SPDIF_K>;
480 clock-names = "kclk";
481 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
482 dmas = <&dmamux1 93 0x400 0x01>,
483 <&dmamux1 94 0x400 0x01>;
484 dma-names = "rx", "rx-ctrl";
488 usart2: serial@4000e000 {
489 compatible = "st,stm32h7-uart";
490 reg = <0x4000e000 0x400>;
491 interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
492 clocks = <&rcc USART2_K>;
494 dmas = <&dmamux1 43 0x400 0x15>,
495 <&dmamux1 44 0x400 0x11>;
496 dma-names = "rx", "tx";
500 usart3: serial@4000f000 {
501 compatible = "st,stm32h7-uart";
502 reg = <0x4000f000 0x400>;
503 interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
504 clocks = <&rcc USART3_K>;
506 dmas = <&dmamux1 45 0x400 0x15>,
507 <&dmamux1 46 0x400 0x11>;
508 dma-names = "rx", "tx";
512 uart4: serial@40010000 {
513 compatible = "st,stm32h7-uart";
514 reg = <0x40010000 0x400>;
515 interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
516 clocks = <&rcc UART4_K>;
518 dmas = <&dmamux1 63 0x400 0x15>,
519 <&dmamux1 64 0x400 0x11>;
520 dma-names = "rx", "tx";
524 uart5: serial@40011000 {
525 compatible = "st,stm32h7-uart";
526 reg = <0x40011000 0x400>;
527 interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
528 clocks = <&rcc UART5_K>;
530 dmas = <&dmamux1 65 0x400 0x15>,
531 <&dmamux1 66 0x400 0x11>;
532 dma-names = "rx", "tx";
537 compatible = "st,stm32mp15-i2c";
538 reg = <0x40012000 0x400>;
539 interrupt-names = "event", "error";
540 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
541 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
542 clocks = <&rcc I2C1_K>;
543 resets = <&rcc I2C1_R>;
544 #address-cells = <1>;
546 st,syscfg-fmp = <&syscfg 0x4 0x1>;
553 compatible = "st,stm32mp15-i2c";
554 reg = <0x40013000 0x400>;
555 interrupt-names = "event", "error";
556 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
557 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
558 clocks = <&rcc I2C2_K>;
559 resets = <&rcc I2C2_R>;
560 #address-cells = <1>;
562 st,syscfg-fmp = <&syscfg 0x4 0x2>;
569 compatible = "st,stm32mp15-i2c";
570 reg = <0x40014000 0x400>;
571 interrupt-names = "event", "error";
572 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
573 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
574 clocks = <&rcc I2C3_K>;
575 resets = <&rcc I2C3_R>;
576 #address-cells = <1>;
578 st,syscfg-fmp = <&syscfg 0x4 0x4>;
585 compatible = "st,stm32mp15-i2c";
586 reg = <0x40015000 0x400>;
587 interrupt-names = "event", "error";
588 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
589 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
590 clocks = <&rcc I2C5_K>;
591 resets = <&rcc I2C5_R>;
592 #address-cells = <1>;
594 st,syscfg-fmp = <&syscfg 0x4 0x10>;
601 compatible = "st,stm32-cec";
602 reg = <0x40016000 0x400>;
603 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
604 clocks = <&rcc CEC_K>, <&rcc CEC>;
605 clock-names = "cec", "hdmi-cec";
610 compatible = "st,stm32h7-dac-core";
611 reg = <0x40017000 0x400>;
612 clocks = <&rcc DAC12>;
613 clock-names = "pclk";
614 #address-cells = <1>;
619 compatible = "st,stm32-dac";
620 #io-channel-cells = <1>;
626 compatible = "st,stm32-dac";
627 #io-channel-cells = <1>;
633 uart7: serial@40018000 {
634 compatible = "st,stm32h7-uart";
635 reg = <0x40018000 0x400>;
636 interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
637 clocks = <&rcc UART7_K>;
639 dmas = <&dmamux1 79 0x400 0x15>,
640 <&dmamux1 80 0x400 0x11>;
641 dma-names = "rx", "tx";
645 uart8: serial@40019000 {
646 compatible = "st,stm32h7-uart";
647 reg = <0x40019000 0x400>;
648 interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
649 clocks = <&rcc UART8_K>;
651 dmas = <&dmamux1 81 0x400 0x15>,
652 <&dmamux1 82 0x400 0x11>;
653 dma-names = "rx", "tx";
657 timers1: timer@44000000 {
658 #address-cells = <1>;
660 compatible = "st,stm32-timers";
661 reg = <0x44000000 0x400>;
662 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
663 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
664 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
665 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
666 interrupt-names = "brk", "up", "trg-com", "cc";
667 clocks = <&rcc TIM1_K>;
669 dmas = <&dmamux1 11 0x400 0x1>,
670 <&dmamux1 12 0x400 0x1>,
671 <&dmamux1 13 0x400 0x1>,
672 <&dmamux1 14 0x400 0x1>,
673 <&dmamux1 15 0x400 0x1>,
674 <&dmamux1 16 0x400 0x1>,
675 <&dmamux1 17 0x400 0x1>;
676 dma-names = "ch1", "ch2", "ch3", "ch4",
681 compatible = "st,stm32-pwm";
687 compatible = "st,stm32h7-timer-trigger";
693 compatible = "st,stm32-timer-counter";
698 timers8: timer@44001000 {
699 #address-cells = <1>;
701 compatible = "st,stm32-timers";
702 reg = <0x44001000 0x400>;
703 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
704 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
705 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
706 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
707 interrupt-names = "brk", "up", "trg-com", "cc";
708 clocks = <&rcc TIM8_K>;
710 dmas = <&dmamux1 47 0x400 0x1>,
711 <&dmamux1 48 0x400 0x1>,
712 <&dmamux1 49 0x400 0x1>,
713 <&dmamux1 50 0x400 0x1>,
714 <&dmamux1 51 0x400 0x1>,
715 <&dmamux1 52 0x400 0x1>,
716 <&dmamux1 53 0x400 0x1>;
717 dma-names = "ch1", "ch2", "ch3", "ch4",
722 compatible = "st,stm32-pwm";
728 compatible = "st,stm32h7-timer-trigger";
734 compatible = "st,stm32-timer-counter";
739 usart6: serial@44003000 {
740 compatible = "st,stm32h7-uart";
741 reg = <0x44003000 0x400>;
742 interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
743 clocks = <&rcc USART6_K>;
745 dmas = <&dmamux1 71 0x400 0x15>,
746 <&dmamux1 72 0x400 0x11>;
747 dma-names = "rx", "tx";
752 #address-cells = <1>;
754 compatible = "st,stm32h7-spi";
755 reg = <0x44004000 0x400>;
756 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
757 clocks = <&rcc SPI1_K>;
758 resets = <&rcc SPI1_R>;
759 dmas = <&dmamux1 37 0x400 0x05>,
760 <&dmamux1 38 0x400 0x05>;
761 dma-names = "rx", "tx";
765 i2s1: audio-controller@44004000 {
766 compatible = "st,stm32h7-i2s";
767 #sound-dai-cells = <0>;
768 reg = <0x44004000 0x400>;
769 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
770 dmas = <&dmamux1 37 0x400 0x01>,
771 <&dmamux1 38 0x400 0x01>;
772 dma-names = "rx", "tx";
777 #address-cells = <1>;
779 compatible = "st,stm32h7-spi";
780 reg = <0x44005000 0x400>;
781 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
782 clocks = <&rcc SPI4_K>;
783 resets = <&rcc SPI4_R>;
784 dmas = <&dmamux1 83 0x400 0x05>,
785 <&dmamux1 84 0x400 0x05>;
786 dma-names = "rx", "tx";
790 timers15: timer@44006000 {
791 #address-cells = <1>;
793 compatible = "st,stm32-timers";
794 reg = <0x44006000 0x400>;
795 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
796 interrupt-names = "global";
797 clocks = <&rcc TIM15_K>;
799 dmas = <&dmamux1 105 0x400 0x1>,
800 <&dmamux1 106 0x400 0x1>,
801 <&dmamux1 107 0x400 0x1>,
802 <&dmamux1 108 0x400 0x1>;
803 dma-names = "ch1", "up", "trig", "com";
807 compatible = "st,stm32-pwm";
813 compatible = "st,stm32h7-timer-trigger";
819 timers16: timer@44007000 {
820 #address-cells = <1>;
822 compatible = "st,stm32-timers";
823 reg = <0x44007000 0x400>;
824 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
825 interrupt-names = "global";
826 clocks = <&rcc TIM16_K>;
828 dmas = <&dmamux1 109 0x400 0x1>,
829 <&dmamux1 110 0x400 0x1>;
830 dma-names = "ch1", "up";
834 compatible = "st,stm32-pwm";
839 compatible = "st,stm32h7-timer-trigger";
845 timers17: timer@44008000 {
846 #address-cells = <1>;
848 compatible = "st,stm32-timers";
849 reg = <0x44008000 0x400>;
850 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
851 interrupt-names = "global";
852 clocks = <&rcc TIM17_K>;
854 dmas = <&dmamux1 111 0x400 0x1>,
855 <&dmamux1 112 0x400 0x1>;
856 dma-names = "ch1", "up";
860 compatible = "st,stm32-pwm";
866 compatible = "st,stm32h7-timer-trigger";
873 #address-cells = <1>;
875 compatible = "st,stm32h7-spi";
876 reg = <0x44009000 0x400>;
877 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
878 clocks = <&rcc SPI5_K>;
879 resets = <&rcc SPI5_R>;
880 dmas = <&dmamux1 85 0x400 0x05>,
881 <&dmamux1 86 0x400 0x05>;
882 dma-names = "rx", "tx";
887 compatible = "st,stm32h7-sai";
888 #address-cells = <1>;
890 ranges = <0 0x4400a000 0x400>;
891 reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
892 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
893 resets = <&rcc SAI1_R>;
896 sai1a: audio-controller@4400a004 {
897 #sound-dai-cells = <0>;
899 compatible = "st,stm32-sai-sub-a";
901 clocks = <&rcc SAI1_K>;
902 clock-names = "sai_ck";
903 dmas = <&dmamux1 87 0x400 0x01>;
907 sai1b: audio-controller@4400a024 {
908 #sound-dai-cells = <0>;
909 compatible = "st,stm32-sai-sub-b";
911 clocks = <&rcc SAI1_K>;
912 clock-names = "sai_ck";
913 dmas = <&dmamux1 88 0x400 0x01>;
919 compatible = "st,stm32h7-sai";
920 #address-cells = <1>;
922 ranges = <0 0x4400b000 0x400>;
923 reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
924 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
925 resets = <&rcc SAI2_R>;
928 sai2a: audio-controller@4400b004 {
929 #sound-dai-cells = <0>;
930 compatible = "st,stm32-sai-sub-a";
932 clocks = <&rcc SAI2_K>;
933 clock-names = "sai_ck";
934 dmas = <&dmamux1 89 0x400 0x01>;
938 sai2b: audio-controller@4400b024 {
939 #sound-dai-cells = <0>;
940 compatible = "st,stm32-sai-sub-b";
942 clocks = <&rcc SAI2_K>;
943 clock-names = "sai_ck";
944 dmas = <&dmamux1 90 0x400 0x01>;
950 compatible = "st,stm32h7-sai";
951 #address-cells = <1>;
953 ranges = <0 0x4400c000 0x400>;
954 reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
955 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
956 resets = <&rcc SAI3_R>;
959 sai3a: audio-controller@4400c004 {
960 #sound-dai-cells = <0>;
961 compatible = "st,stm32-sai-sub-a";
963 clocks = <&rcc SAI3_K>;
964 clock-names = "sai_ck";
965 dmas = <&dmamux1 113 0x400 0x01>;
969 sai3b: audio-controller@4400c024 {
970 #sound-dai-cells = <0>;
971 compatible = "st,stm32-sai-sub-b";
973 clocks = <&rcc SAI3_K>;
974 clock-names = "sai_ck";
975 dmas = <&dmamux1 114 0x400 0x01>;
980 dfsdm: dfsdm@4400d000 {
981 compatible = "st,stm32mp1-dfsdm";
982 reg = <0x4400d000 0x800>;
983 clocks = <&rcc DFSDM_K>;
984 clock-names = "dfsdm";
985 #address-cells = <1>;
990 compatible = "st,stm32-dfsdm-adc";
991 #io-channel-cells = <1>;
993 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
994 dmas = <&dmamux1 101 0x400 0x01>;
1000 compatible = "st,stm32-dfsdm-adc";
1001 #io-channel-cells = <1>;
1003 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1004 dmas = <&dmamux1 102 0x400 0x01>;
1006 status = "disabled";
1010 compatible = "st,stm32-dfsdm-adc";
1011 #io-channel-cells = <1>;
1013 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1014 dmas = <&dmamux1 103 0x400 0x01>;
1016 status = "disabled";
1020 compatible = "st,stm32-dfsdm-adc";
1021 #io-channel-cells = <1>;
1023 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1024 dmas = <&dmamux1 104 0x400 0x01>;
1026 status = "disabled";
1030 compatible = "st,stm32-dfsdm-adc";
1031 #io-channel-cells = <1>;
1033 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
1034 dmas = <&dmamux1 91 0x400 0x01>;
1036 status = "disabled";
1040 compatible = "st,stm32-dfsdm-adc";
1041 #io-channel-cells = <1>;
1043 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1044 dmas = <&dmamux1 92 0x400 0x01>;
1046 status = "disabled";
1050 dma1: dma-controller@48000000 {
1051 compatible = "st,stm32-dma";
1052 reg = <0x48000000 0x400>;
1053 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
1054 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1055 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
1056 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
1057 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
1058 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
1059 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
1060 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
1061 clocks = <&rcc DMA1>;
1062 resets = <&rcc DMA1_R>;
1068 dma2: dma-controller@48001000 {
1069 compatible = "st,stm32-dma";
1070 reg = <0x48001000 0x400>;
1071 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
1072 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
1073 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
1074 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
1075 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
1076 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
1077 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1078 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1079 clocks = <&rcc DMA2>;
1080 resets = <&rcc DMA2_R>;
1086 dmamux1: dma-router@48002000 {
1087 compatible = "st,stm32h7-dmamux";
1088 reg = <0x48002000 0x40>;
1090 dma-requests = <128>;
1091 dma-masters = <&dma1 &dma2>;
1092 dma-channels = <16>;
1093 clocks = <&rcc DMAMUX>;
1094 resets = <&rcc DMAMUX_R>;
1098 compatible = "st,stm32mp1-adc-core";
1099 reg = <0x48003000 0x400>;
1100 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
1101 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1102 clocks = <&rcc ADC12>, <&rcc ADC12_K>;
1103 clock-names = "bus", "adc";
1104 interrupt-controller;
1105 st,syscfg = <&syscfg>;
1106 #interrupt-cells = <1>;
1107 #address-cells = <1>;
1109 status = "disabled";
1112 compatible = "st,stm32mp1-adc";
1113 #io-channel-cells = <1>;
1115 interrupt-parent = <&adc>;
1117 dmas = <&dmamux1 9 0x400 0x01>;
1119 status = "disabled";
1123 compatible = "st,stm32mp1-adc";
1124 #io-channel-cells = <1>;
1126 interrupt-parent = <&adc>;
1128 dmas = <&dmamux1 10 0x400 0x01>;
1130 status = "disabled";
1134 sdmmc3: mmc@48004000 {
1135 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1136 arm,primecell-periphid = <0x00253180>;
1137 reg = <0x48004000 0x400>;
1138 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1139 clocks = <&rcc SDMMC3_K>;
1140 clock-names = "apb_pclk";
1141 resets = <&rcc SDMMC3_R>;
1144 max-frequency = <120000000>;
1145 status = "disabled";
1148 usbotg_hs: usb-otg@49000000 {
1149 compatible = "st,stm32mp15-hsotg", "snps,dwc2";
1150 reg = <0x49000000 0x10000>;
1151 clocks = <&rcc USBO_K>, <&usbphyc>;
1152 clock-names = "otg", "utmi";
1153 resets = <&rcc USBO_R>;
1154 reset-names = "dwc2";
1155 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1156 g-rx-fifo-size = <512>;
1157 g-np-tx-fifo-size = <32>;
1158 g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
1161 usb33d-supply = <&usb33>;
1162 status = "disabled";
1165 hwspinlock: hwspinlock@4c000000 {
1166 compatible = "st,stm32-hwspinlock";
1167 #hwlock-cells = <1>;
1168 reg = <0x4c000000 0x400>;
1169 clocks = <&rcc HSEM>;
1170 clock-names = "hwspinlock";
1173 ipcc: mailbox@4c001000 {
1174 compatible = "st,stm32mp1-ipcc";
1176 reg = <0x4c001000 0x400>;
1178 interrupts-extended =
1180 <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1181 interrupt-names = "rx", "tx";
1182 clocks = <&rcc IPCC>;
1184 status = "disabled";
1187 dcmi: dcmi@4c006000 {
1188 compatible = "st,stm32-dcmi";
1189 reg = <0x4c006000 0x400>;
1190 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
1191 resets = <&rcc CAMITF_R>;
1192 clocks = <&rcc DCMI>;
1193 clock-names = "mclk";
1194 dmas = <&dmamux1 75 0x400 0x01>;
1196 status = "disabled";
1200 compatible = "st,stm32mp1-rcc", "syscon";
1201 reg = <0x50000000 0x1000>;
1205 clock-names = "hse", "hsi", "csi", "lse", "lsi";
1206 clocks = <&clk_hse>, <&clk_hsi>, <&clk_csi>,
1207 <&clk_lse>, <&clk_lsi>;
1210 pwr_regulators: pwr@50001000 {
1211 compatible = "st,stm32mp1,pwr-reg";
1212 reg = <0x50001000 0x10>;
1215 regulator-name = "reg11";
1216 regulator-min-microvolt = <1100000>;
1217 regulator-max-microvolt = <1100000>;
1221 regulator-name = "reg18";
1222 regulator-min-microvolt = <1800000>;
1223 regulator-max-microvolt = <1800000>;
1227 regulator-name = "usb33";
1228 regulator-min-microvolt = <3300000>;
1229 regulator-max-microvolt = <3300000>;
1233 pwr_mcu: pwr_mcu@50001014 {
1234 compatible = "st,stm32mp151-pwr-mcu", "syscon";
1235 reg = <0x50001014 0x4>;
1238 exti: interrupt-controller@5000d000 {
1239 compatible = "st,stm32mp1-exti", "syscon";
1240 interrupt-controller;
1241 #interrupt-cells = <2>;
1242 reg = <0x5000d000 0x400>;
1245 syscfg: syscon@50020000 {
1246 compatible = "st,stm32mp157-syscfg", "syscon";
1247 reg = <0x50020000 0x400>;
1248 clocks = <&rcc SYSCFG>;
1251 lptimer2: timer@50021000 {
1252 #address-cells = <1>;
1254 compatible = "st,stm32-lptimer";
1255 reg = <0x50021000 0x400>;
1256 interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
1257 clocks = <&rcc LPTIM2_K>;
1258 clock-names = "mux";
1260 status = "disabled";
1263 compatible = "st,stm32-pwm-lp";
1265 status = "disabled";
1269 compatible = "st,stm32-lptimer-trigger";
1271 status = "disabled";
1275 compatible = "st,stm32-lptimer-counter";
1276 status = "disabled";
1280 lptimer3: timer@50022000 {
1281 #address-cells = <1>;
1283 compatible = "st,stm32-lptimer";
1284 reg = <0x50022000 0x400>;
1285 interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
1286 clocks = <&rcc LPTIM3_K>;
1287 clock-names = "mux";
1289 status = "disabled";
1292 compatible = "st,stm32-pwm-lp";
1294 status = "disabled";
1298 compatible = "st,stm32-lptimer-trigger";
1300 status = "disabled";
1304 lptimer4: timer@50023000 {
1305 compatible = "st,stm32-lptimer";
1306 reg = <0x50023000 0x400>;
1307 interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
1308 clocks = <&rcc LPTIM4_K>;
1309 clock-names = "mux";
1311 status = "disabled";
1314 compatible = "st,stm32-pwm-lp";
1316 status = "disabled";
1320 lptimer5: timer@50024000 {
1321 compatible = "st,stm32-lptimer";
1322 reg = <0x50024000 0x400>;
1323 interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
1324 clocks = <&rcc LPTIM5_K>;
1325 clock-names = "mux";
1327 status = "disabled";
1330 compatible = "st,stm32-pwm-lp";
1332 status = "disabled";
1336 vrefbuf: vrefbuf@50025000 {
1337 compatible = "st,stm32-vrefbuf";
1338 reg = <0x50025000 0x8>;
1339 regulator-min-microvolt = <1500000>;
1340 regulator-max-microvolt = <2500000>;
1341 clocks = <&rcc VREF>;
1342 status = "disabled";
1345 sai4: sai@50027000 {
1346 compatible = "st,stm32h7-sai";
1347 #address-cells = <1>;
1349 ranges = <0 0x50027000 0x400>;
1350 reg = <0x50027000 0x4>, <0x500273f0 0x10>;
1351 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1352 resets = <&rcc SAI4_R>;
1353 status = "disabled";
1355 sai4a: audio-controller@50027004 {
1356 #sound-dai-cells = <0>;
1357 compatible = "st,stm32-sai-sub-a";
1359 clocks = <&rcc SAI4_K>;
1360 clock-names = "sai_ck";
1361 dmas = <&dmamux1 99 0x400 0x01>;
1362 status = "disabled";
1365 sai4b: audio-controller@50027024 {
1366 #sound-dai-cells = <0>;
1367 compatible = "st,stm32-sai-sub-b";
1369 clocks = <&rcc SAI4_K>;
1370 clock-names = "sai_ck";
1371 dmas = <&dmamux1 100 0x400 0x01>;
1372 status = "disabled";
1376 dts: thermal@50028000 {
1377 compatible = "st,stm32-thermal";
1378 reg = <0x50028000 0x100>;
1379 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1380 clocks = <&rcc TMPSENS>;
1381 clock-names = "pclk";
1382 #thermal-sensor-cells = <0>;
1383 status = "disabled";
1386 hash1: hash@54002000 {
1387 compatible = "st,stm32f756-hash";
1388 reg = <0x54002000 0x400>;
1389 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
1390 clocks = <&rcc HASH1>;
1391 resets = <&rcc HASH1_R>;
1392 dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
1395 status = "disabled";
1398 rng1: rng@54003000 {
1399 compatible = "st,stm32-rng";
1400 reg = <0x54003000 0x400>;
1401 clocks = <&rcc RNG1_K>;
1402 resets = <&rcc RNG1_R>;
1403 status = "disabled";
1406 mdma1: dma-controller@58000000 {
1407 compatible = "st,stm32h7-mdma";
1408 reg = <0x58000000 0x1000>;
1409 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1410 clocks = <&rcc MDMA>;
1411 resets = <&rcc MDMA_R>;
1413 dma-channels = <32>;
1414 dma-requests = <48>;
1417 fmc: memory-controller@58002000 {
1418 #address-cells = <2>;
1420 compatible = "st,stm32mp1-fmc2-ebi";
1421 reg = <0x58002000 0x1000>;
1422 clocks = <&rcc FMC_K>;
1423 resets = <&rcc FMC_R>;
1424 status = "disabled";
1426 ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
1427 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
1428 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
1429 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
1430 <4 0 0x80000000 0x10000000>; /* NAND */
1432 nand-controller@4,0 {
1433 #address-cells = <1>;
1435 compatible = "st,stm32mp1-fmc2-nfc";
1436 reg = <4 0x00000000 0x1000>,
1437 <4 0x08010000 0x1000>,
1438 <4 0x08020000 0x1000>,
1439 <4 0x01000000 0x1000>,
1440 <4 0x09010000 0x1000>,
1441 <4 0x09020000 0x1000>;
1442 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1443 dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
1444 <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
1445 <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
1446 dma-names = "tx", "rx", "ecc";
1447 status = "disabled";
1451 qspi: spi@58003000 {
1452 compatible = "st,stm32f469-qspi";
1453 reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
1454 reg-names = "qspi", "qspi_mm";
1455 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
1456 dmas = <&mdma1 22 0x2 0x10100002 0x0 0x0>,
1457 <&mdma1 22 0x2 0x10100008 0x0 0x0>;
1458 dma-names = "tx", "rx";
1459 clocks = <&rcc QSPI_K>;
1460 resets = <&rcc QSPI_R>;
1461 #address-cells = <1>;
1463 status = "disabled";
1466 sdmmc1: mmc@58005000 {
1467 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1468 arm,primecell-periphid = <0x00253180>;
1469 reg = <0x58005000 0x1000>;
1470 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1471 clocks = <&rcc SDMMC1_K>;
1472 clock-names = "apb_pclk";
1473 resets = <&rcc SDMMC1_R>;
1476 max-frequency = <120000000>;
1477 status = "disabled";
1480 sdmmc2: mmc@58007000 {
1481 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1482 arm,primecell-periphid = <0x00253180>;
1483 reg = <0x58007000 0x1000>;
1484 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1485 clocks = <&rcc SDMMC2_K>;
1486 clock-names = "apb_pclk";
1487 resets = <&rcc SDMMC2_R>;
1490 max-frequency = <120000000>;
1491 status = "disabled";
1494 crc1: crc@58009000 {
1495 compatible = "st,stm32f7-crc";
1496 reg = <0x58009000 0x400>;
1497 clocks = <&rcc CRC1>;
1498 status = "disabled";
1501 ethernet0: ethernet@5800a000 {
1502 compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
1503 reg = <0x5800a000 0x2000>;
1504 reg-names = "stmmaceth";
1505 interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
1506 interrupt-names = "macirq";
1507 clock-names = "stmmaceth",
1513 clocks = <&rcc ETHMAC>,
1519 st,syscon = <&syscfg 0x4>;
1522 snps,en-tx-lpi-clockgating;
1523 snps,axi-config = <&stmmac_axi_config_0>;
1525 status = "disabled";
1527 stmmac_axi_config_0: stmmac-axi-config {
1528 snps,wr_osr_lmt = <0x7>;
1529 snps,rd_osr_lmt = <0x7>;
1530 snps,blen = <0 0 0 0 16 8 4>;
1534 usbh_ohci: usb@5800c000 {
1535 compatible = "generic-ohci";
1536 reg = <0x5800c000 0x1000>;
1537 clocks = <&usbphyc>, <&rcc USBH>;
1538 resets = <&rcc USBH_R>;
1539 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
1540 status = "disabled";
1543 usbh_ehci: usb@5800d000 {
1544 compatible = "generic-ehci";
1545 reg = <0x5800d000 0x1000>;
1546 clocks = <&usbphyc>, <&rcc USBH>;
1547 resets = <&rcc USBH_R>;
1548 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
1549 companion = <&usbh_ohci>;
1550 status = "disabled";
1553 ltdc: display-controller@5a001000 {
1554 compatible = "st,stm32-ltdc";
1555 reg = <0x5a001000 0x400>;
1556 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
1557 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1558 clocks = <&rcc LTDC_PX>;
1559 clock-names = "lcd";
1560 resets = <&rcc LTDC_R>;
1561 status = "disabled";
1564 #address-cells = <1>;
1569 iwdg2: watchdog@5a002000 {
1570 compatible = "st,stm32mp1-iwdg";
1571 reg = <0x5a002000 0x400>;
1572 clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
1573 clock-names = "pclk", "lsi";
1574 status = "disabled";
1577 usbphyc: usbphyc@5a006000 {
1578 #address-cells = <1>;
1581 compatible = "st,stm32mp1-usbphyc";
1582 reg = <0x5a006000 0x1000>;
1583 clocks = <&rcc USBPHY_K>;
1584 resets = <&rcc USBPHY_R>;
1585 vdda1v1-supply = <®11>;
1586 vdda1v8-supply = <®18>;
1587 status = "disabled";
1589 usbphyc_port0: usb-phy@0 {
1594 usbphyc_port1: usb-phy@1 {
1600 usart1: serial@5c000000 {
1601 compatible = "st,stm32h7-uart";
1602 reg = <0x5c000000 0x400>;
1603 interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
1604 clocks = <&rcc USART1_K>;
1606 status = "disabled";
1609 spi6: spi@5c001000 {
1610 #address-cells = <1>;
1612 compatible = "st,stm32h7-spi";
1613 reg = <0x5c001000 0x400>;
1614 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1615 clocks = <&rcc SPI6_K>;
1616 resets = <&rcc SPI6_R>;
1617 dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
1618 <&mdma1 35 0x0 0x40002 0x0 0x0>;
1619 dma-names = "rx", "tx";
1620 status = "disabled";
1623 i2c4: i2c@5c002000 {
1624 compatible = "st,stm32mp15-i2c";
1625 reg = <0x5c002000 0x400>;
1626 interrupt-names = "event", "error";
1627 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1628 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1629 clocks = <&rcc I2C4_K>;
1630 resets = <&rcc I2C4_R>;
1631 #address-cells = <1>;
1633 st,syscfg-fmp = <&syscfg 0x4 0x8>;
1636 status = "disabled";
1640 compatible = "st,stm32mp1-rtc";
1641 reg = <0x5c004000 0x400>;
1642 clocks = <&rcc RTCAPB>, <&rcc RTC>;
1643 clock-names = "pclk", "rtc_ck";
1644 interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
1645 status = "disabled";
1648 bsec: efuse@5c005000 {
1649 compatible = "st,stm32mp15-bsec";
1650 reg = <0x5c005000 0x400>;
1651 #address-cells = <1>;
1653 part_number_otp: part_number_otp@4 {
1664 i2c6: i2c@5c009000 {
1665 compatible = "st,stm32mp15-i2c";
1666 reg = <0x5c009000 0x400>;
1667 interrupt-names = "event", "error";
1668 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1669 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1670 clocks = <&rcc I2C6_K>;
1671 resets = <&rcc I2C6_R>;
1672 #address-cells = <1>;
1674 st,syscfg-fmp = <&syscfg 0x4 0x20>;
1677 status = "disabled";
1680 tamp: tamp@5c00a000 {
1681 compatible = "st,stm32-tamp", "syscon", "simple-mfd";
1682 reg = <0x5c00a000 0x400>;
1686 * Break node order to solve dependency probe issue between
1689 pinctrl: pinctrl@50002000 {
1690 #address-cells = <1>;
1692 compatible = "st,stm32mp157-pinctrl";
1693 ranges = <0 0x50002000 0xa400>;
1694 interrupt-parent = <&exti>;
1695 st,syscfg = <&exti 0x60 0xff>;
1697 gpioa: gpio@50002000 {
1700 interrupt-controller;
1701 #interrupt-cells = <2>;
1703 clocks = <&rcc GPIOA>;
1704 st,bank-name = "GPIOA";
1705 status = "disabled";
1708 gpiob: gpio@50003000 {
1711 interrupt-controller;
1712 #interrupt-cells = <2>;
1713 reg = <0x1000 0x400>;
1714 clocks = <&rcc GPIOB>;
1715 st,bank-name = "GPIOB";
1716 status = "disabled";
1719 gpioc: gpio@50004000 {
1722 interrupt-controller;
1723 #interrupt-cells = <2>;
1724 reg = <0x2000 0x400>;
1725 clocks = <&rcc GPIOC>;
1726 st,bank-name = "GPIOC";
1727 status = "disabled";
1730 gpiod: gpio@50005000 {
1733 interrupt-controller;
1734 #interrupt-cells = <2>;
1735 reg = <0x3000 0x400>;
1736 clocks = <&rcc GPIOD>;
1737 st,bank-name = "GPIOD";
1738 status = "disabled";
1741 gpioe: gpio@50006000 {
1744 interrupt-controller;
1745 #interrupt-cells = <2>;
1746 reg = <0x4000 0x400>;
1747 clocks = <&rcc GPIOE>;
1748 st,bank-name = "GPIOE";
1749 status = "disabled";
1752 gpiof: gpio@50007000 {
1755 interrupt-controller;
1756 #interrupt-cells = <2>;
1757 reg = <0x5000 0x400>;
1758 clocks = <&rcc GPIOF>;
1759 st,bank-name = "GPIOF";
1760 status = "disabled";
1763 gpiog: gpio@50008000 {
1766 interrupt-controller;
1767 #interrupt-cells = <2>;
1768 reg = <0x6000 0x400>;
1769 clocks = <&rcc GPIOG>;
1770 st,bank-name = "GPIOG";
1771 status = "disabled";
1774 gpioh: gpio@50009000 {
1777 interrupt-controller;
1778 #interrupt-cells = <2>;
1779 reg = <0x7000 0x400>;
1780 clocks = <&rcc GPIOH>;
1781 st,bank-name = "GPIOH";
1782 status = "disabled";
1785 gpioi: gpio@5000a000 {
1788 interrupt-controller;
1789 #interrupt-cells = <2>;
1790 reg = <0x8000 0x400>;
1791 clocks = <&rcc GPIOI>;
1792 st,bank-name = "GPIOI";
1793 status = "disabled";
1796 gpioj: gpio@5000b000 {
1799 interrupt-controller;
1800 #interrupt-cells = <2>;
1801 reg = <0x9000 0x400>;
1802 clocks = <&rcc GPIOJ>;
1803 st,bank-name = "GPIOJ";
1804 status = "disabled";
1807 gpiok: gpio@5000c000 {
1810 interrupt-controller;
1811 #interrupt-cells = <2>;
1812 reg = <0xa000 0x400>;
1813 clocks = <&rcc GPIOK>;
1814 st,bank-name = "GPIOK";
1815 status = "disabled";
1819 pinctrl_z: pinctrl@54004000 {
1820 #address-cells = <1>;
1822 compatible = "st,stm32mp157-z-pinctrl";
1823 ranges = <0 0x54004000 0x400>;
1824 interrupt-parent = <&exti>;
1825 st,syscfg = <&exti 0x60 0xff>;
1827 gpioz: gpio@54004000 {
1830 interrupt-controller;
1831 #interrupt-cells = <2>;
1833 clocks = <&rcc GPIOZ>;
1834 st,bank-name = "GPIOZ";
1835 st,bank-ioport = <11>;
1836 status = "disabled";
1842 compatible = "st,mlahb", "simple-bus";
1843 #address-cells = <1>;
1846 dma-ranges = <0x00000000 0x38000000 0x10000>,
1847 <0x10000000 0x10000000 0x60000>,
1848 <0x30000000 0x30000000 0x60000>;
1850 m4_rproc: m4@10000000 {
1851 compatible = "st,stm32mp1-m4";
1852 reg = <0x10000000 0x40000>,
1853 <0x30000000 0x40000>,
1854 <0x38000000 0x10000>;
1855 resets = <&rcc MCU_R>;
1856 st,syscfg-holdboot = <&rcc 0x10C 0x1>;
1857 st,syscfg-tz = <&rcc 0x000 0x1>;
1858 st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
1859 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
1860 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
1861 status = "disabled";