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";
25 compatible = "arm,cortex-a7";
32 compatible = "arm,psci";
34 cpu_off = <0x84000002>;
35 cpu_on = <0x84000003>;
38 intc: interrupt-controller@a0021000 {
39 compatible = "arm,cortex-a7-gic";
40 #interrupt-cells = <3>;
42 reg = <0xa0021000 0x1000>,
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>;
58 compatible = "fixed-clock";
59 clock-frequency = <24000000>;
64 compatible = "fixed-clock";
65 clock-frequency = <64000000>;
70 compatible = "fixed-clock";
71 clock-frequency = <32768>;
76 compatible = "fixed-clock";
77 clock-frequency = <32000>;
82 compatible = "fixed-clock";
83 clock-frequency = <4000000>;
88 compatible = "simple-bus";
91 interrupt-parent = <&intc>;
94 timers2: timer@40000000 {
97 compatible = "st,stm32-timers";
98 reg = <0x40000000 0x400>;
99 clocks = <&rcc TIM2_K>;
101 dmas = <&dmamux1 18 0x400 0x1>,
102 <&dmamux1 19 0x400 0x1>,
103 <&dmamux1 20 0x400 0x1>,
104 <&dmamux1 21 0x400 0x1>,
105 <&dmamux1 22 0x400 0x1>;
106 dma-names = "ch1", "ch2", "ch3", "ch4", "up";
110 compatible = "st,stm32-pwm";
115 compatible = "st,stm32h7-timer-trigger";
121 timers3: timer@40001000 {
122 #address-cells = <1>;
124 compatible = "st,stm32-timers";
125 reg = <0x40001000 0x400>;
126 clocks = <&rcc TIM3_K>;
128 dmas = <&dmamux1 23 0x400 0x1>,
129 <&dmamux1 24 0x400 0x1>,
130 <&dmamux1 25 0x400 0x1>,
131 <&dmamux1 26 0x400 0x1>,
132 <&dmamux1 27 0x400 0x1>,
133 <&dmamux1 28 0x400 0x1>;
134 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
138 compatible = "st,stm32-pwm";
143 compatible = "st,stm32h7-timer-trigger";
149 timers4: timer@40002000 {
150 #address-cells = <1>;
152 compatible = "st,stm32-timers";
153 reg = <0x40002000 0x400>;
154 clocks = <&rcc TIM4_K>;
156 dmas = <&dmamux1 29 0x400 0x1>,
157 <&dmamux1 30 0x400 0x1>,
158 <&dmamux1 31 0x400 0x1>,
159 <&dmamux1 32 0x400 0x1>;
160 dma-names = "ch1", "ch2", "ch3", "ch4";
164 compatible = "st,stm32-pwm";
169 compatible = "st,stm32h7-timer-trigger";
175 timers5: timer@40003000 {
176 #address-cells = <1>;
178 compatible = "st,stm32-timers";
179 reg = <0x40003000 0x400>;
180 clocks = <&rcc TIM5_K>;
182 dmas = <&dmamux1 55 0x400 0x1>,
183 <&dmamux1 56 0x400 0x1>,
184 <&dmamux1 57 0x400 0x1>,
185 <&dmamux1 58 0x400 0x1>,
186 <&dmamux1 59 0x400 0x1>,
187 <&dmamux1 60 0x400 0x1>;
188 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
192 compatible = "st,stm32-pwm";
197 compatible = "st,stm32h7-timer-trigger";
203 timers6: timer@40004000 {
204 #address-cells = <1>;
206 compatible = "st,stm32-timers";
207 reg = <0x40004000 0x400>;
208 clocks = <&rcc TIM6_K>;
210 dmas = <&dmamux1 69 0x400 0x1>;
215 compatible = "st,stm32h7-timer-trigger";
221 timers7: timer@40005000 {
222 #address-cells = <1>;
224 compatible = "st,stm32-timers";
225 reg = <0x40005000 0x400>;
226 clocks = <&rcc TIM7_K>;
228 dmas = <&dmamux1 70 0x400 0x1>;
233 compatible = "st,stm32h7-timer-trigger";
239 timers12: timer@40006000 {
240 #address-cells = <1>;
242 compatible = "st,stm32-timers";
243 reg = <0x40006000 0x400>;
244 clocks = <&rcc TIM12_K>;
249 compatible = "st,stm32-pwm";
254 compatible = "st,stm32h7-timer-trigger";
260 timers13: timer@40007000 {
261 #address-cells = <1>;
263 compatible = "st,stm32-timers";
264 reg = <0x40007000 0x400>;
265 clocks = <&rcc TIM13_K>;
270 compatible = "st,stm32-pwm";
275 compatible = "st,stm32h7-timer-trigger";
281 timers14: timer@40008000 {
282 #address-cells = <1>;
284 compatible = "st,stm32-timers";
285 reg = <0x40008000 0x400>;
286 clocks = <&rcc TIM14_K>;
291 compatible = "st,stm32-pwm";
296 compatible = "st,stm32h7-timer-trigger";
302 lptimer1: timer@40009000 {
303 #address-cells = <1>;
305 compatible = "st,stm32-lptimer";
306 reg = <0x40009000 0x400>;
307 clocks = <&rcc LPTIM1_K>;
312 compatible = "st,stm32-pwm-lp";
318 compatible = "st,stm32-lptimer-trigger";
324 compatible = "st,stm32-lptimer-counter";
330 #address-cells = <1>;
332 compatible = "st,stm32h7-spi";
333 reg = <0x4000b000 0x400>;
334 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
335 clocks = <&rcc SPI2_K>;
336 resets = <&rcc SPI2_R>;
337 dmas = <&dmamux1 39 0x400 0x05>,
338 <&dmamux1 40 0x400 0x05>;
339 dma-names = "rx", "tx";
344 #address-cells = <1>;
346 compatible = "st,stm32h7-spi";
347 reg = <0x4000c000 0x400>;
348 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
349 clocks = <&rcc SPI3_K>;
350 resets = <&rcc SPI3_R>;
351 dmas = <&dmamux1 61 0x400 0x05>,
352 <&dmamux1 62 0x400 0x05>;
353 dma-names = "rx", "tx";
357 usart2: serial@4000e000 {
358 compatible = "st,stm32h7-uart";
359 reg = <0x4000e000 0x400>;
360 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
361 clocks = <&rcc USART2_K>;
365 usart3: serial@4000f000 {
366 compatible = "st,stm32h7-uart";
367 reg = <0x4000f000 0x400>;
368 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
369 clocks = <&rcc USART3_K>;
373 uart4: serial@40010000 {
374 compatible = "st,stm32h7-uart";
375 reg = <0x40010000 0x400>;
376 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
377 clocks = <&rcc UART4_K>;
381 uart5: serial@40011000 {
382 compatible = "st,stm32h7-uart";
383 reg = <0x40011000 0x400>;
384 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
385 clocks = <&rcc UART5_K>;
390 compatible = "st,stm32f7-i2c";
391 reg = <0x40012000 0x400>;
392 interrupt-names = "event", "error";
393 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
394 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
395 clocks = <&rcc I2C1_K>;
396 resets = <&rcc I2C1_R>;
397 #address-cells = <1>;
403 compatible = "st,stm32f7-i2c";
404 reg = <0x40013000 0x400>;
405 interrupt-names = "event", "error";
406 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
407 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
408 clocks = <&rcc I2C2_K>;
409 resets = <&rcc I2C2_R>;
410 #address-cells = <1>;
416 compatible = "st,stm32f7-i2c";
417 reg = <0x40014000 0x400>;
418 interrupt-names = "event", "error";
419 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
420 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
421 clocks = <&rcc I2C3_K>;
422 resets = <&rcc I2C3_R>;
423 #address-cells = <1>;
429 compatible = "st,stm32f7-i2c";
430 reg = <0x40015000 0x400>;
431 interrupt-names = "event", "error";
432 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
433 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
434 clocks = <&rcc I2C5_K>;
435 resets = <&rcc I2C5_R>;
436 #address-cells = <1>;
442 compatible = "st,stm32-cec";
443 reg = <0x40016000 0x400>;
444 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
445 clocks = <&rcc CEC_K>, <&clk_lse>;
446 clock-names = "cec", "hdmi-cec";
451 compatible = "st,stm32h7-dac-core";
452 reg = <0x40017000 0x400>;
453 clocks = <&rcc DAC12>;
454 clock-names = "pclk";
455 #address-cells = <1>;
460 compatible = "st,stm32-dac";
461 #io-channels-cells = <1>;
467 compatible = "st,stm32-dac";
468 #io-channels-cells = <1>;
474 uart7: serial@40018000 {
475 compatible = "st,stm32h7-uart";
476 reg = <0x40018000 0x400>;
477 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
478 clocks = <&rcc UART7_K>;
482 uart8: serial@40019000 {
483 compatible = "st,stm32h7-uart";
484 reg = <0x40019000 0x400>;
485 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
486 clocks = <&rcc UART8_K>;
490 timers1: timer@44000000 {
491 #address-cells = <1>;
493 compatible = "st,stm32-timers";
494 reg = <0x44000000 0x400>;
495 clocks = <&rcc TIM1_K>;
497 dmas = <&dmamux1 11 0x400 0x1>,
498 <&dmamux1 12 0x400 0x1>,
499 <&dmamux1 13 0x400 0x1>,
500 <&dmamux1 14 0x400 0x1>,
501 <&dmamux1 15 0x400 0x1>,
502 <&dmamux1 16 0x400 0x1>,
503 <&dmamux1 17 0x400 0x1>;
504 dma-names = "ch1", "ch2", "ch3", "ch4",
509 compatible = "st,stm32-pwm";
514 compatible = "st,stm32h7-timer-trigger";
520 timers8: timer@44001000 {
521 #address-cells = <1>;
523 compatible = "st,stm32-timers";
524 reg = <0x44001000 0x400>;
525 clocks = <&rcc TIM8_K>;
527 dmas = <&dmamux1 47 0x400 0x1>,
528 <&dmamux1 48 0x400 0x1>,
529 <&dmamux1 49 0x400 0x1>,
530 <&dmamux1 50 0x400 0x1>,
531 <&dmamux1 51 0x400 0x1>,
532 <&dmamux1 52 0x400 0x1>,
533 <&dmamux1 53 0x400 0x1>;
534 dma-names = "ch1", "ch2", "ch3", "ch4",
539 compatible = "st,stm32-pwm";
544 compatible = "st,stm32h7-timer-trigger";
550 usart6: serial@44003000 {
551 compatible = "st,stm32h7-uart";
552 reg = <0x44003000 0x400>;
553 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
554 clocks = <&rcc USART6_K>;
559 #address-cells = <1>;
561 compatible = "st,stm32h7-spi";
562 reg = <0x44004000 0x400>;
563 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
564 clocks = <&rcc SPI1_K>;
565 resets = <&rcc SPI1_R>;
566 dmas = <&dmamux1 37 0x400 0x05>,
567 <&dmamux1 38 0x400 0x05>;
568 dma-names = "rx", "tx";
573 #address-cells = <1>;
575 compatible = "st,stm32h7-spi";
576 reg = <0x44005000 0x400>;
577 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
578 clocks = <&rcc SPI4_K>;
579 resets = <&rcc SPI4_R>;
580 dmas = <&dmamux1 83 0x400 0x05>,
581 <&dmamux1 84 0x400 0x05>;
582 dma-names = "rx", "tx";
586 timers15: timer@44006000 {
587 #address-cells = <1>;
589 compatible = "st,stm32-timers";
590 reg = <0x44006000 0x400>;
591 clocks = <&rcc TIM15_K>;
593 dmas = <&dmamux1 105 0x400 0x1>,
594 <&dmamux1 106 0x400 0x1>,
595 <&dmamux1 107 0x400 0x1>,
596 <&dmamux1 108 0x400 0x1>;
597 dma-names = "ch1", "up", "trig", "com";
601 compatible = "st,stm32-pwm";
606 compatible = "st,stm32h7-timer-trigger";
612 timers16: timer@44007000 {
613 #address-cells = <1>;
615 compatible = "st,stm32-timers";
616 reg = <0x44007000 0x400>;
617 clocks = <&rcc TIM16_K>;
619 dmas = <&dmamux1 109 0x400 0x1>,
620 <&dmamux1 110 0x400 0x1>;
621 dma-names = "ch1", "up";
625 compatible = "st,stm32-pwm";
629 compatible = "st,stm32h7-timer-trigger";
635 timers17: timer@44008000 {
636 #address-cells = <1>;
638 compatible = "st,stm32-timers";
639 reg = <0x44008000 0x400>;
640 clocks = <&rcc TIM17_K>;
642 dmas = <&dmamux1 111 0x400 0x1>,
643 <&dmamux1 112 0x400 0x1>;
644 dma-names = "ch1", "up";
648 compatible = "st,stm32-pwm";
653 compatible = "st,stm32h7-timer-trigger";
660 #address-cells = <1>;
662 compatible = "st,stm32h7-spi";
663 reg = <0x44009000 0x400>;
664 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
665 clocks = <&rcc SPI5_K>;
666 resets = <&rcc SPI5_R>;
667 dmas = <&dmamux1 85 0x400 0x05>,
668 <&dmamux1 86 0x400 0x05>;
669 dma-names = "rx", "tx";
673 dfsdm: dfsdm@4400d000 {
674 compatible = "st,stm32mp1-dfsdm";
675 reg = <0x4400d000 0x800>;
676 clocks = <&rcc DFSDM_K>;
677 clock-names = "dfsdm";
678 #address-cells = <1>;
683 compatible = "st,stm32-dfsdm-adc";
684 #io-channel-cells = <1>;
686 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
687 dmas = <&dmamux1 101 0x400 0x01>;
693 compatible = "st,stm32-dfsdm-adc";
694 #io-channel-cells = <1>;
696 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
697 dmas = <&dmamux1 102 0x400 0x01>;
703 compatible = "st,stm32-dfsdm-adc";
704 #io-channel-cells = <1>;
706 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
707 dmas = <&dmamux1 103 0x400 0x01>;
713 compatible = "st,stm32-dfsdm-adc";
714 #io-channel-cells = <1>;
716 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
717 dmas = <&dmamux1 104 0x400 0x01>;
723 compatible = "st,stm32-dfsdm-adc";
724 #io-channel-cells = <1>;
726 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
727 dmas = <&dmamux1 91 0x400 0x01>;
733 compatible = "st,stm32-dfsdm-adc";
734 #io-channel-cells = <1>;
736 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
737 dmas = <&dmamux1 92 0x400 0x01>;
743 m_can1: can@4400e000 {
744 compatible = "bosch,m_can";
745 reg = <0x4400e000 0x400>, <0x44011000 0x2800>;
746 reg-names = "m_can", "message_ram";
747 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
748 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
749 interrupt-names = "int0", "int1";
750 clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
751 clock-names = "hclk", "cclk";
752 bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>;
756 m_can2: can@4400f000 {
757 compatible = "bosch,m_can";
758 reg = <0x4400f000 0x400>, <0x44011000 0x2800>;
759 reg-names = "m_can", "message_ram";
760 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
761 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
762 interrupt-names = "int0", "int1";
763 clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
764 clock-names = "hclk", "cclk";
765 bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>;
770 compatible = "st,stm32-dma";
771 reg = <0x48000000 0x400>;
772 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
773 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
774 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
775 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
776 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
777 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
778 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
779 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
780 clocks = <&rcc DMA1>;
787 compatible = "st,stm32-dma";
788 reg = <0x48001000 0x400>;
789 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
790 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
791 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
792 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
793 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
794 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
795 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
796 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
797 clocks = <&rcc DMA2>;
803 dmamux1: dma-router@48002000 {
804 compatible = "st,stm32h7-dmamux";
805 reg = <0x48002000 0x1c>;
807 dma-requests = <128>;
808 dma-masters = <&dma1 &dma2>;
810 clocks = <&rcc DMAMUX>;
814 compatible = "st,stm32mp1-adc-core";
815 reg = <0x48003000 0x400>;
816 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
817 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
818 clocks = <&rcc ADC12>, <&rcc ADC12_K>;
819 clock-names = "bus", "adc";
820 interrupt-controller;
821 #interrupt-cells = <1>;
822 #address-cells = <1>;
827 compatible = "st,stm32mp1-adc";
828 #io-channel-cells = <1>;
830 interrupt-parent = <&adc>;
832 dmas = <&dmamux1 9 0x400 0x01>;
838 compatible = "st,stm32mp1-adc";
839 #io-channel-cells = <1>;
841 interrupt-parent = <&adc>;
843 dmas = <&dmamux1 10 0x400 0x01>;
849 usbotg_hs: usb-otg@49000000 {
850 compatible = "snps,dwc2";
851 reg = <0x49000000 0x10000>;
852 clocks = <&rcc USBO_K>;
854 resets = <&rcc USBO_R>;
855 reset-names = "dwc2";
856 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
857 g-rx-fifo-size = <256>;
858 g-np-tx-fifo-size = <32>;
859 g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
865 compatible = "st,stm32mp1-rcc", "syscon";
866 reg = <0x50000000 0x1000>;
871 exti: interrupt-controller@5000d000 {
872 compatible = "st,stm32mp1-exti", "syscon";
873 interrupt-controller;
874 #interrupt-cells = <2>;
875 reg = <0x5000d000 0x400>;
878 syscfg: syscon@50020000 {
879 compatible = "st,stm32mp157-syscfg", "syscon";
880 reg = <0x50020000 0x400>;
883 lptimer2: timer@50021000 {
884 #address-cells = <1>;
886 compatible = "st,stm32-lptimer";
887 reg = <0x50021000 0x400>;
888 clocks = <&rcc LPTIM2_K>;
893 compatible = "st,stm32-pwm-lp";
899 compatible = "st,stm32-lptimer-trigger";
905 compatible = "st,stm32-lptimer-counter";
910 lptimer3: timer@50022000 {
911 #address-cells = <1>;
913 compatible = "st,stm32-lptimer";
914 reg = <0x50022000 0x400>;
915 clocks = <&rcc LPTIM3_K>;
920 compatible = "st,stm32-pwm-lp";
926 compatible = "st,stm32-lptimer-trigger";
932 lptimer4: timer@50023000 {
933 compatible = "st,stm32-lptimer";
934 reg = <0x50023000 0x400>;
935 clocks = <&rcc LPTIM4_K>;
940 compatible = "st,stm32-pwm-lp";
946 lptimer5: timer@50024000 {
947 compatible = "st,stm32-lptimer";
948 reg = <0x50024000 0x400>;
949 clocks = <&rcc LPTIM5_K>;
954 compatible = "st,stm32-pwm-lp";
960 vrefbuf: vrefbuf@50025000 {
961 compatible = "st,stm32-vrefbuf";
962 reg = <0x50025000 0x8>;
963 regulator-min-microvolt = <1500000>;
964 regulator-max-microvolt = <2500000>;
965 clocks = <&rcc VREF>;
969 cryp1: cryp@54001000 {
970 compatible = "st,stm32mp1-cryp";
971 reg = <0x54001000 0x400>;
972 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
973 clocks = <&rcc CRYP1>;
974 resets = <&rcc CRYP1_R>;
978 hash1: hash@54002000 {
979 compatible = "st,stm32f756-hash";
980 reg = <0x54002000 0x400>;
981 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
982 clocks = <&rcc HASH1>;
983 resets = <&rcc HASH1_R>;
984 dmas = <&mdma1 31 0x10 0x1000A02 0x0 0x0>;
991 compatible = "st,stm32-rng";
992 reg = <0x54003000 0x400>;
993 clocks = <&rcc RNG1_K>;
994 resets = <&rcc RNG1_R>;
998 mdma1: dma@58000000 {
999 compatible = "st,stm32h7-mdma";
1000 reg = <0x58000000 0x1000>;
1001 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1002 clocks = <&rcc MDMA>;
1004 dma-channels = <32>;
1005 dma-requests = <48>;
1008 qspi: spi@58003000 {
1009 compatible = "st,stm32f469-qspi";
1010 reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
1011 reg-names = "qspi", "qspi_mm";
1012 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
1013 clocks = <&rcc QSPI_K>;
1014 resets = <&rcc QSPI_R>;
1015 status = "disabled";
1018 crc1: crc@58009000 {
1019 compatible = "st,stm32f7-crc";
1020 reg = <0x58009000 0x400>;
1021 clocks = <&rcc CRC1>;
1022 status = "disabled";
1025 stmmac_axi_config_0: stmmac-axi-config {
1026 snps,wr_osr_lmt = <0x7>;
1027 snps,rd_osr_lmt = <0x7>;
1028 snps,blen = <0 0 0 0 16 8 4>;
1031 ethernet0: ethernet@5800a000 {
1032 compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
1033 reg = <0x5800a000 0x2000>;
1034 reg-names = "stmmaceth";
1035 interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
1036 interrupt-names = "macirq";
1037 clock-names = "stmmaceth",
1042 clocks = <&rcc ETHMAC>,
1047 st,syscon = <&syscfg 0x4>;
1050 snps,axi-config = <&stmmac_axi_config_0>;
1052 status = "disabled";
1055 usbh_ohci: usbh-ohci@5800c000 {
1056 compatible = "generic-ohci";
1057 reg = <0x5800c000 0x1000>;
1058 clocks = <&rcc USBH>;
1059 resets = <&rcc USBH_R>;
1060 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
1061 status = "disabled";
1064 usbh_ehci: usbh-ehci@5800d000 {
1065 compatible = "generic-ehci";
1066 reg = <0x5800d000 0x1000>;
1067 clocks = <&rcc USBH>;
1068 resets = <&rcc USBH_R>;
1069 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
1070 companion = <&usbh_ohci>;
1071 status = "disabled";
1075 compatible = "st,stm32-dsi";
1076 reg = <0x5a000000 0x800>;
1077 clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
1078 clock-names = "pclk", "ref", "px_clk";
1079 resets = <&rcc DSI_R>;
1080 reset-names = "apb";
1081 status = "disabled";
1084 ltdc: display-controller@5a001000 {
1085 compatible = "st,stm32-ltdc";
1086 reg = <0x5a001000 0x400>;
1087 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
1088 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1089 clocks = <&rcc LTDC_PX>;
1090 clock-names = "lcd";
1091 resets = <&rcc LTDC_R>;
1092 status = "disabled";
1095 iwdg2: watchdog@5a002000 {
1096 compatible = "st,stm32mp1-iwdg";
1097 reg = <0x5a002000 0x400>;
1098 clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
1099 clock-names = "pclk", "lsi";
1100 status = "disabled";
1103 usbphyc: usbphyc@5a006000 {
1104 #address-cells = <1>;
1106 compatible = "st,stm32mp1-usbphyc";
1107 reg = <0x5a006000 0x1000>;
1108 clocks = <&rcc USBPHY_K>;
1109 resets = <&rcc USBPHY_R>;
1110 status = "disabled";
1112 usbphyc_port0: usb-phy@0 {
1117 usbphyc_port1: usb-phy@1 {
1123 usart1: serial@5c000000 {
1124 compatible = "st,stm32h7-uart";
1125 reg = <0x5c000000 0x400>;
1126 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1127 clocks = <&rcc USART1_K>;
1128 status = "disabled";
1131 spi6: spi@5c001000 {
1132 #address-cells = <1>;
1134 compatible = "st,stm32h7-spi";
1135 reg = <0x5c001000 0x400>;
1136 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1137 clocks = <&rcc SPI6_K>;
1138 resets = <&rcc SPI6_R>;
1139 dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
1140 <&mdma1 35 0x0 0x40002 0x0 0x0>;
1141 dma-names = "rx", "tx";
1142 status = "disabled";
1145 i2c4: i2c@5c002000 {
1146 compatible = "st,stm32f7-i2c";
1147 reg = <0x5c002000 0x400>;
1148 interrupt-names = "event", "error";
1149 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1150 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1151 clocks = <&rcc I2C4_K>;
1152 resets = <&rcc I2C4_R>;
1153 #address-cells = <1>;
1155 status = "disabled";
1159 compatible = "st,stm32mp1-rtc";
1160 reg = <0x5c004000 0x400>;
1161 clocks = <&rcc RTCAPB>, <&rcc RTC>;
1162 clock-names = "pclk", "rtc_ck";
1163 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
1164 status = "disabled";
1167 i2c6: i2c@5c009000 {
1168 compatible = "st,stm32f7-i2c";
1169 reg = <0x5c009000 0x400>;
1170 interrupt-names = "event", "error";
1171 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1172 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1173 clocks = <&rcc I2C6_K>;
1174 resets = <&rcc I2C6_R>;
1175 #address-cells = <1>;
1177 status = "disabled";