Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 clock-frequency = <650000000>;
21 device_type = "cpu";
22 reg = <0>;
23 };
24 };
25
26 arm-pmu {
27 compatible = "arm,cortex-a7-pmu";
28 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
29 interrupt-affinity = <&cpu0>;
30 interrupt-parent = <&intc>;
31 };
32
33 psci {
34 compatible = "arm,psci-1.0";
35 method = "smc";
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(1) | IRQ_TYPE_LEVEL_LOW)>,
49 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
50 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
51 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
52 interrupt-parent = <&intc>;
53 arm,no-tick-in-suspend;
54 };
55
56 clocks {
57 clk_hse: clk-hse {
58 #clock-cells = <0>;
59 compatible = "fixed-clock";
60 clock-frequency = <24000000>;
61 };
62
63 clk_hsi: clk-hsi {
64 #clock-cells = <0>;
65 compatible = "fixed-clock";
66 clock-frequency = <64000000>;
67 };
68
69 clk_lse: clk-lse {
70 #clock-cells = <0>;
71 compatible = "fixed-clock";
72 clock-frequency = <32768>;
73 };
74
75 clk_lsi: clk-lsi {
76 #clock-cells = <0>;
77 compatible = "fixed-clock";
78 clock-frequency = <32000>;
79 };
80
81 clk_csi: clk-csi {
82 #clock-cells = <0>;
83 compatible = "fixed-clock";
84 clock-frequency = <4000000>;
85 };
86 };
87
88 thermal-zones {
89 cpu_thermal: cpu-thermal {
90 polling-delay-passive = <0>;
91 polling-delay = <0>;
92 thermal-sensors = <&dts>;
93
94 trips {
95 cpu_alert1: cpu-alert1 {
96 temperature = <85000>;
97 hysteresis = <0>;
98 type = "passive";
99 };
100
101 cpu-crit {
102 temperature = <120000>;
103 hysteresis = <0>;
104 type = "critical";
105 };
106 };
107
108 cooling-maps {
109 };
110 };
111 };
112
113 booster: regulator-booster {
114 compatible = "st,stm32mp1-booster";
115 st,syscfg = <&syscfg>;
116 status = "disabled";
117 };
118
119 soc {
120 compatible = "simple-bus";
121 #address-cells = <1>;
122 #size-cells = <1>;
123 interrupt-parent = <&intc>;
124 ranges;
125
126 ipcc: mailbox@4c001000 {
127 compatible = "st,stm32mp1-ipcc";
128 #mbox-cells = <1>;
129 reg = <0x4c001000 0x400>;
130 st,proc-id = <0>;
131 interrupts-extended =
132 <&exti 61 IRQ_TYPE_LEVEL_HIGH>,
133 <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
134 interrupt-names = "rx", "tx";
135 clocks = <&rcc IPCC>;
136 wakeup-source;
137 status = "disabled";
138 };
139
140 rcc: rcc@50000000 {
141 compatible = "st,stm32mp1-rcc", "syscon";
142 reg = <0x50000000 0x1000>;
143 #clock-cells = <1>;
144 #reset-cells = <1>;
145 };
146
147 pwr_regulators: pwr@50001000 {
148 compatible = "st,stm32mp1,pwr-reg";
149 reg = <0x50001000 0x10>;
150
151 reg11: reg11 {
152 regulator-name = "reg11";
153 regulator-min-microvolt = <1100000>;
154 regulator-max-microvolt = <1100000>;
155 };
156
157 reg18: reg18 {
158 regulator-name = "reg18";
159 regulator-min-microvolt = <1800000>;
160 regulator-max-microvolt = <1800000>;
161 };
162
163 usb33: usb33 {
164 regulator-name = "usb33";
165 regulator-min-microvolt = <3300000>;
166 regulator-max-microvolt = <3300000>;
167 };
168 };
169
170 pwr_mcu: pwr_mcu@50001014 {
171 compatible = "st,stm32mp151-pwr-mcu", "syscon";
172 reg = <0x50001014 0x4>;
173 };
174
175 exti: interrupt-controller@5000d000 {
176 compatible = "st,stm32mp1-exti", "syscon";
177 interrupt-controller;
178 #interrupt-cells = <2>;
179 reg = <0x5000d000 0x400>;
180 interrupts-extended =
181 <&intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_0 */
182 <&intc GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
183 <&intc GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
184 <&intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
185 <&intc GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
186 <&intc GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
187 <&intc GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
188 <&intc GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
189 <&intc GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
190 <&intc GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
191 <&intc GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_10 */
192 <&intc GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
193 <&intc GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
194 <&intc GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
195 <&intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
196 <&intc GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
197 <&intc GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
198 <0>,
199 <0>,
200 <&intc GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
201 <0>, /* EXTI_20 */
202 <&intc GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
203 <&intc GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
204 <&intc GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
205 <&intc GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
206 <&intc GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
207 <&intc GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
208 <&intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
209 <&intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
210 <&intc GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
211 <&intc GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_30 */
212 <&intc GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
213 <&intc GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
214 <&intc GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
215 <0>,
216 <0>,
217 <0>,
218 <0>,
219 <0>,
220 <0>,
221 <0>, /* EXTI_40 */
222 <0>,
223 <0>,
224 <0>,
225 <0>,
226 <0>,
227 <&intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
228 <&intc GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
229 <&intc GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
230 <0>,
231 <&intc GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_50 */
232 <0>,
233 <&intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
234 <&intc GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
235 <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
236 <0>,
237 <0>,
238 <0>,
239 <0>,
240 <0>,
241 <0>, /* EXTI_60 */
242 <&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
243 <0>,
244 <0>,
245 <0>,
246 <&intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
247 <0>,
248 <0>,
249 <&intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
250 <0>,
251 <&intc GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_70 */
252 <0>,
253 <0>,
254 <&intc GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
255 };
256
257 syscfg: syscon@50020000 {
258 compatible = "st,stm32mp157-syscfg", "syscon";
259 reg = <0x50020000 0x400>;
260 clocks = <&rcc SYSCFG>;
261 };
262
263 dts: thermal@50028000 {
264 compatible = "st,stm32-thermal";
265 reg = <0x50028000 0x100>;
266 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
267 clocks = <&rcc TMPSENS>;
268 clock-names = "pclk";
269 #thermal-sensor-cells = <0>;
270 status = "disabled";
271 };
272
273 hdp: pinctrl@5002a000 {
274 compatible = "st,stm32mp151-hdp";
275 reg = <0x5002a000 0x400>;
276 clocks = <&rcc HDP>;
277 status = "disabled";
278 };
279
280 mdma1: dma-controller@58000000 {
281 compatible = "st,stm32h7-mdma";
282 reg = <0x58000000 0x1000>;
283 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
284 clocks = <&rcc MDMA>;
285 resets = <&rcc MDMA_R>;
286 #dma-cells = <5>;
287 dma-channels = <32>;
288 dma-requests = <48>;
289 };
290
291 sdmmc1: mmc@58005000 {
292 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
293 arm,primecell-periphid = <0x00253180>;
294 reg = <0x58005000 0x1000>;
295 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
296 clocks = <&rcc SDMMC1_K>;
297 clock-names = "apb_pclk";
298 resets = <&rcc SDMMC1_R>;
299 cap-sd-highspeed;
300 cap-mmc-highspeed;
301 max-frequency = <120000000>;
302 status = "disabled";
303 };
304
305 sdmmc2: mmc@58007000 {
306 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
307 arm,primecell-periphid = <0x00253180>;
308 reg = <0x58007000 0x1000>;
309 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
310 clocks = <&rcc SDMMC2_K>;
311 clock-names = "apb_pclk";
312 resets = <&rcc SDMMC2_R>;
313 cap-sd-highspeed;
314 cap-mmc-highspeed;
315 max-frequency = <120000000>;
316 status = "disabled";
317 };
318
319 crc1: crc@58009000 {
320 compatible = "st,stm32f7-crc";
321 reg = <0x58009000 0x400>;
322 clocks = <&rcc CRC1>;
323 status = "disabled";
324 };
325
326 usbh_ohci: usb@5800c000 {
327 compatible = "generic-ohci";
328 reg = <0x5800c000 0x1000>;
329 clocks = <&usbphyc>, <&rcc USBH>;
330 resets = <&rcc USBH_R>;
331 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
332 phys = <&usbphyc_port0>;
333 phy-names = "usb";
334 status = "disabled";
335 };
336
337 usbh_ehci: usb@5800d000 {
338 compatible = "generic-ehci";
339 reg = <0x5800d000 0x1000>;
340 clocks = <&usbphyc>, <&rcc USBH>;
341 resets = <&rcc USBH_R>;
342 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
343 companion = <&usbh_ohci>;
344 phys = <&usbphyc_port0>;
345 phy-names = "usb";
346 status = "disabled";
347 };
348
349 ltdc: display-controller@5a001000 {
350 compatible = "st,stm32-ltdc";
351 reg = <0x5a001000 0x400>;
352 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
353 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&rcc LTDC_PX>;
355 clock-names = "lcd";
356 resets = <&rcc LTDC_R>;
357 status = "disabled";
358 };
359
360 iwdg2: watchdog@5a002000 {
361 compatible = "st,stm32mp1-iwdg";
362 reg = <0x5a002000 0x400>;
363 clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
364 clock-names = "pclk", "lsi";
365 interrupts-extended = <&exti 46 IRQ_TYPE_LEVEL_HIGH>;
366 wakeup-source;
367 status = "disabled";
368 };
369
370 usbphyc: usbphyc@5a006000 {
371 #address-cells = <1>;
372 #size-cells = <0>;
373 #clock-cells = <0>;
374 compatible = "st,stm32mp1-usbphyc";
375 reg = <0x5a006000 0x1000>;
376 clocks = <&rcc USBPHY_K>;
377 resets = <&rcc USBPHY_R>;
378 vdda1v1-supply = <®11>;
379 vdda1v8-supply = <®18>;
380 status = "disabled";
381
382 usbphyc_port0: usb-phy@0 {
383 #phy-cells = <0>;
384 reg = <0>;
385 };
386
387 usbphyc_port1: usb-phy@1 {
388 #phy-cells = <1>;
389 reg = <1>;
390 };
391 };
392
393 rtc: rtc@5c004000 {
394 compatible = "st,stm32mp1-rtc";
395 reg = <0x5c004000 0x400>;
396 clocks = <&rcc RTCAPB>, <&rcc RTC>;
397 clock-names = "pclk", "rtc_ck";
398 interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
399 status = "disabled";
400 };
401
402 bsec: efuse@5c005000 {
403 compatible = "st,stm32mp15-bsec";
404 reg = <0x5c005000 0x400>;
405 #address-cells = <1>;
406 #size-cells = <1>;
407 part_number_otp: part-number-otp@4 {
408 reg = <0x4 0x1>;
409 };
410 vrefint: vrefin-cal@52 {
411 reg = <0x52 0x2>;
412 };
413 ts_cal1: calib@5c {
414 reg = <0x5c 0x2>;
415 };
416 ts_cal2: calib@5e {
417 reg = <0x5e 0x2>;
418 };
419 };
420
421 etzpc: bus@5c007000 {
422 compatible = "st,stm32-etzpc", "simple-bus";
423 reg = <0x5c007000 0x400>;
424 #address-cells = <1>;
425 #size-cells = <1>;
426 #access-controller-cells = <1>;
427 ranges;
428
429 timers2: timer@40000000 {
430 #address-cells = <1>;
431 #size-cells = <0>;
432 compatible = "st,stm32-timers";
433 reg = <0x40000000 0x400>;
434 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
435 interrupt-names = "global";
436 clocks = <&rcc TIM2_K>;
437 clock-names = "int";
438 dmas = <&dmamux1 18 0x400 0x1>,
439 <&dmamux1 19 0x400 0x1>,
440 <&dmamux1 20 0x400 0x1>,
441 <&dmamux1 21 0x400 0x1>,
442 <&dmamux1 22 0x400 0x1>;
443 dma-names = "ch1", "ch2", "ch3", "ch4", "up";
444 access-controllers = <&etzpc 16>;
445 status = "disabled";
446
447 pwm {
448 compatible = "st,stm32-pwm";
449 #pwm-cells = <3>;
450 status = "disabled";
451 };
452
453 timer@1 {
454 compatible = "st,stm32h7-timer-trigger";
455 reg = <1>;
456 status = "disabled";
457 };
458
459 counter {
460 compatible = "st,stm32-timer-counter";
461 status = "disabled";
462 };
463 };
464
465 timers3: timer@40001000 {
466 #address-cells = <1>;
467 #size-cells = <0>;
468 compatible = "st,stm32-timers";
469 reg = <0x40001000 0x400>;
470 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
471 interrupt-names = "global";
472 clocks = <&rcc TIM3_K>;
473 clock-names = "int";
474 dmas = <&dmamux1 23 0x400 0x1>,
475 <&dmamux1 24 0x400 0x1>,
476 <&dmamux1 25 0x400 0x1>,
477 <&dmamux1 26 0x400 0x1>,
478 <&dmamux1 27 0x400 0x1>,
479 <&dmamux1 28 0x400 0x1>;
480 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
481 access-controllers = <&etzpc 17>;
482 status = "disabled";
483
484 pwm {
485 compatible = "st,stm32-pwm";
486 #pwm-cells = <3>;
487 status = "disabled";
488 };
489
490 timer@2 {
491 compatible = "st,stm32h7-timer-trigger";
492 reg = <2>;
493 status = "disabled";
494 };
495
496 counter {
497 compatible = "st,stm32-timer-counter";
498 status = "disabled";
499 };
500 };
501
502 timers4: timer@40002000 {
503 #address-cells = <1>;
504 #size-cells = <0>;
505 compatible = "st,stm32-timers";
506 reg = <0x40002000 0x400>;
507 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
508 interrupt-names = "global";
509 clocks = <&rcc TIM4_K>;
510 clock-names = "int";
511 dmas = <&dmamux1 29 0x400 0x1>,
512 <&dmamux1 30 0x400 0x1>,
513 <&dmamux1 31 0x400 0x1>,
514 <&dmamux1 32 0x400 0x1>;
515 dma-names = "ch1", "ch2", "ch3", "ch4";
516 access-controllers = <&etzpc 18>;
517 status = "disabled";
518
519 pwm {
520 compatible = "st,stm32-pwm";
521 #pwm-cells = <3>;
522 status = "disabled";
523 };
524
525 timer@3 {
526 compatible = "st,stm32h7-timer-trigger";
527 reg = <3>;
528 status = "disabled";
529 };
530
531 counter {
532 compatible = "st,stm32-timer-counter";
533 status = "disabled";
534 };
535 };
536
537 timers5: timer@40003000 {
538 #address-cells = <1>;
539 #size-cells = <0>;
540 compatible = "st,stm32-timers";
541 reg = <0x40003000 0x400>;
542 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
543 interrupt-names = "global";
544 clocks = <&rcc TIM5_K>;
545 clock-names = "int";
546 dmas = <&dmamux1 55 0x400 0x1>,
547 <&dmamux1 56 0x400 0x1>,
548 <&dmamux1 57 0x400 0x1>,
549 <&dmamux1 58 0x400 0x1>,
550 <&dmamux1 59 0x400 0x1>,
551 <&dmamux1 60 0x400 0x1>;
552 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
553 access-controllers = <&etzpc 19>;
554 status = "disabled";
555
556 pwm {
557 compatible = "st,stm32-pwm";
558 #pwm-cells = <3>;
559 status = "disabled";
560 };
561
562 timer@4 {
563 compatible = "st,stm32h7-timer-trigger";
564 reg = <4>;
565 status = "disabled";
566 };
567
568 counter {
569 compatible = "st,stm32-timer-counter";
570 status = "disabled";
571 };
572 };
573
574 timers6: timer@40004000 {
575 #address-cells = <1>;
576 #size-cells = <0>;
577 compatible = "st,stm32-timers";
578 reg = <0x40004000 0x400>;
579 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
580 interrupt-names = "global";
581 clocks = <&rcc TIM6_K>;
582 clock-names = "int";
583 dmas = <&dmamux1 69 0x400 0x1>;
584 dma-names = "up";
585 access-controllers = <&etzpc 20>;
586 status = "disabled";
587
588 counter {
589 compatible = "st,stm32-timer-counter";
590 status = "disabled";
591 };
592
593 timer@5 {
594 compatible = "st,stm32h7-timer-trigger";
595 reg = <5>;
596 status = "disabled";
597 };
598 };
599
600 timers7: timer@40005000 {
601 #address-cells = <1>;
602 #size-cells = <0>;
603 compatible = "st,stm32-timers";
604 reg = <0x40005000 0x400>;
605 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
606 interrupt-names = "global";
607 clocks = <&rcc TIM7_K>;
608 clock-names = "int";
609 dmas = <&dmamux1 70 0x400 0x1>;
610 dma-names = "up";
611 access-controllers = <&etzpc 21>;
612 status = "disabled";
613
614 counter {
615 compatible = "st,stm32-timer-counter";
616 status = "disabled";
617 };
618
619 timer@6 {
620 compatible = "st,stm32h7-timer-trigger";
621 reg = <6>;
622 status = "disabled";
623 };
624 };
625
626 timers12: timer@40006000 {
627 #address-cells = <1>;
628 #size-cells = <0>;
629 compatible = "st,stm32-timers";
630 reg = <0x40006000 0x400>;
631 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
632 interrupt-names = "global";
633 clocks = <&rcc TIM12_K>;
634 clock-names = "int";
635 access-controllers = <&etzpc 22>;
636 status = "disabled";
637
638 counter {
639 compatible = "st,stm32-timer-counter";
640 status = "disabled";
641 };
642
643 pwm {
644 compatible = "st,stm32-pwm";
645 #pwm-cells = <3>;
646 status = "disabled";
647 };
648
649 timer@11 {
650 compatible = "st,stm32h7-timer-trigger";
651 reg = <11>;
652 status = "disabled";
653 };
654 };
655
656 timers13: timer@40007000 {
657 #address-cells = <1>;
658 #size-cells = <0>;
659 compatible = "st,stm32-timers";
660 reg = <0x40007000 0x400>;
661 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
662 interrupt-names = "global";
663 clocks = <&rcc TIM13_K>;
664 clock-names = "int";
665 access-controllers = <&etzpc 23>;
666 status = "disabled";
667
668 counter {
669 compatible = "st,stm32-timer-counter";
670 status = "disabled";
671 };
672
673 pwm {
674 compatible = "st,stm32-pwm";
675 #pwm-cells = <3>;
676 status = "disabled";
677 };
678
679 timer@12 {
680 compatible = "st,stm32h7-timer-trigger";
681 reg = <12>;
682 status = "disabled";
683 };
684 };
685
686 timers14: timer@40008000 {
687 #address-cells = <1>;
688 #size-cells = <0>;
689 compatible = "st,stm32-timers";
690 reg = <0x40008000 0x400>;
691 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
692 interrupt-names = "global";
693 clocks = <&rcc TIM14_K>;
694 clock-names = "int";
695 access-controllers = <&etzpc 24>;
696 status = "disabled";
697
698 counter {
699 compatible = "st,stm32-timer-counter";
700 status = "disabled";
701 };
702
703 pwm {
704 compatible = "st,stm32-pwm";
705 #pwm-cells = <3>;
706 status = "disabled";
707 };
708
709 timer@13 {
710 compatible = "st,stm32h7-timer-trigger";
711 reg = <13>;
712 status = "disabled";
713 };
714 };
715
716 lptimer1: timer@40009000 {
717 #address-cells = <1>;
718 #size-cells = <0>;
719 compatible = "st,stm32-lptimer";
720 reg = <0x40009000 0x400>;
721 interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
722 clocks = <&rcc LPTIM1_K>;
723 clock-names = "mux";
724 wakeup-source;
725 access-controllers = <&etzpc 25>;
726 status = "disabled";
727
728 pwm {
729 compatible = "st,stm32-pwm-lp";
730 #pwm-cells = <3>;
731 status = "disabled";
732 };
733
734 trigger@0 {
735 compatible = "st,stm32-lptimer-trigger";
736 reg = <0>;
737 status = "disabled";
738 };
739
740 counter {
741 compatible = "st,stm32-lptimer-counter";
742 status = "disabled";
743 };
744 };
745
746 i2s2: audio-controller@4000b000 {
747 compatible = "st,stm32h7-i2s";
748 #sound-dai-cells = <0>;
749 reg = <0x4000b000 0x400>;
750 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
751 dmas = <&dmamux1 39 0x400 0x01>,
752 <&dmamux1 40 0x400 0x01>;
753 dma-names = "rx", "tx";
754 access-controllers = <&etzpc 27>;
755 status = "disabled";
756 };
757
758 spi2: spi@4000b000 {
759 #address-cells = <1>;
760 #size-cells = <0>;
761 compatible = "st,stm32h7-spi";
762 reg = <0x4000b000 0x400>;
763 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
764 clocks = <&rcc SPI2_K>;
765 resets = <&rcc SPI2_R>;
766 dmas = <&dmamux1 39 0x400 0x05>,
767 <&dmamux1 40 0x400 0x05>;
768 dma-names = "rx", "tx";
769 access-controllers = <&etzpc 27>;
770 status = "disabled";
771 };
772
773 i2s3: audio-controller@4000c000 {
774 compatible = "st,stm32h7-i2s";
775 #sound-dai-cells = <0>;
776 reg = <0x4000c000 0x400>;
777 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
778 dmas = <&dmamux1 61 0x400 0x01>,
779 <&dmamux1 62 0x400 0x01>;
780 dma-names = "rx", "tx";
781 access-controllers = <&etzpc 28>;
782 status = "disabled";
783 };
784
785 spi3: spi@4000c000 {
786 #address-cells = <1>;
787 #size-cells = <0>;
788 compatible = "st,stm32h7-spi";
789 reg = <0x4000c000 0x400>;
790 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
791 clocks = <&rcc SPI3_K>;
792 resets = <&rcc SPI3_R>;
793 dmas = <&dmamux1 61 0x400 0x05>,
794 <&dmamux1 62 0x400 0x05>;
795 dma-names = "rx", "tx";
796 access-controllers = <&etzpc 28>;
797 status = "disabled";
798 };
799
800 spdifrx: audio-controller@4000d000 {
801 compatible = "st,stm32h7-spdifrx";
802 #sound-dai-cells = <0>;
803 reg = <0x4000d000 0x400>;
804 clocks = <&rcc SPDIF_K>;
805 clock-names = "kclk";
806 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
807 dmas = <&dmamux1 93 0x400 0x01>,
808 <&dmamux1 94 0x400 0x01>;
809 dma-names = "rx", "rx-ctrl";
810 access-controllers = <&etzpc 29>;
811 status = "disabled";
812 };
813
814 usart2: serial@4000e000 {
815 compatible = "st,stm32h7-uart";
816 reg = <0x4000e000 0x400>;
817 interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
818 clocks = <&rcc USART2_K>;
819 wakeup-source;
820 dmas = <&dmamux1 43 0x400 0x15>,
821 <&dmamux1 44 0x400 0x11>;
822 dma-names = "rx", "tx";
823 access-controllers = <&etzpc 30>;
824 status = "disabled";
825 };
826
827 usart3: serial@4000f000 {
828 compatible = "st,stm32h7-uart";
829 reg = <0x4000f000 0x400>;
830 interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
831 clocks = <&rcc USART3_K>;
832 wakeup-source;
833 dmas = <&dmamux1 45 0x400 0x15>,
834 <&dmamux1 46 0x400 0x11>;
835 dma-names = "rx", "tx";
836 access-controllers = <&etzpc 31>;
837 status = "disabled";
838 };
839
840 uart4: serial@40010000 {
841 compatible = "st,stm32h7-uart";
842 reg = <0x40010000 0x400>;
843 interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
844 clocks = <&rcc UART4_K>;
845 wakeup-source;
846 dmas = <&dmamux1 63 0x400 0x15>,
847 <&dmamux1 64 0x400 0x11>;
848 dma-names = "rx", "tx";
849 access-controllers = <&etzpc 32>;
850 status = "disabled";
851 };
852
853 uart5: serial@40011000 {
854 compatible = "st,stm32h7-uart";
855 reg = <0x40011000 0x400>;
856 interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
857 clocks = <&rcc UART5_K>;
858 wakeup-source;
859 dmas = <&dmamux1 65 0x400 0x15>,
860 <&dmamux1 66 0x400 0x11>;
861 dma-names = "rx", "tx";
862 access-controllers = <&etzpc 33>;
863 status = "disabled";
864 };
865
866 i2c1: i2c@40012000 {
867 compatible = "st,stm32mp15-i2c";
868 reg = <0x40012000 0x400>;
869 interrupt-names = "event", "error";
870 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
871 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
872 clocks = <&rcc I2C1_K>;
873 resets = <&rcc I2C1_R>;
874 #address-cells = <1>;
875 #size-cells = <0>;
876 st,syscfg-fmp = <&syscfg 0x4 0x1>;
877 wakeup-source;
878 i2c-analog-filter;
879 access-controllers = <&etzpc 34>;
880 status = "disabled";
881 };
882
883 i2c2: i2c@40013000 {
884 compatible = "st,stm32mp15-i2c";
885 reg = <0x40013000 0x400>;
886 interrupt-names = "event", "error";
887 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
888 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
889 clocks = <&rcc I2C2_K>;
890 resets = <&rcc I2C2_R>;
891 #address-cells = <1>;
892 #size-cells = <0>;
893 st,syscfg-fmp = <&syscfg 0x4 0x2>;
894 wakeup-source;
895 i2c-analog-filter;
896 access-controllers = <&etzpc 35>;
897 status = "disabled";
898 };
899
900 i2c3: i2c@40014000 {
901 compatible = "st,stm32mp15-i2c";
902 reg = <0x40014000 0x400>;
903 interrupt-names = "event", "error";
904 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
905 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
906 clocks = <&rcc I2C3_K>;
907 resets = <&rcc I2C3_R>;
908 #address-cells = <1>;
909 #size-cells = <0>;
910 st,syscfg-fmp = <&syscfg 0x4 0x4>;
911 wakeup-source;
912 i2c-analog-filter;
913 access-controllers = <&etzpc 36>;
914 status = "disabled";
915 };
916
917 i2c5: i2c@40015000 {
918 compatible = "st,stm32mp15-i2c";
919 reg = <0x40015000 0x400>;
920 interrupt-names = "event", "error";
921 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
922 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
923 clocks = <&rcc I2C5_K>;
924 resets = <&rcc I2C5_R>;
925 #address-cells = <1>;
926 #size-cells = <0>;
927 st,syscfg-fmp = <&syscfg 0x4 0x10>;
928 wakeup-source;
929 i2c-analog-filter;
930 access-controllers = <&etzpc 37>;
931 status = "disabled";
932 };
933
934 cec: cec@40016000 {
935 compatible = "st,stm32-cec";
936 reg = <0x40016000 0x400>;
937 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
938 clocks = <&rcc CEC_K>, <&rcc CEC>;
939 clock-names = "cec", "hdmi-cec";
940 access-controllers = <&etzpc 38>;
941 status = "disabled";
942 };
943
944 dac: dac@40017000 {
945 compatible = "st,stm32h7-dac-core";
946 reg = <0x40017000 0x400>;
947 clocks = <&rcc DAC12>;
948 clock-names = "pclk";
949 #address-cells = <1>;
950 #size-cells = <0>;
951 access-controllers = <&etzpc 39>;
952 status = "disabled";
953
954 dac1: dac@1 {
955 compatible = "st,stm32-dac";
956 #io-channel-cells = <1>;
957 reg = <1>;
958 status = "disabled";
959 };
960
961 dac2: dac@2 {
962 compatible = "st,stm32-dac";
963 #io-channel-cells = <1>;
964 reg = <2>;
965 status = "disabled";
966 };
967 };
968
969 uart7: serial@40018000 {
970 compatible = "st,stm32h7-uart";
971 reg = <0x40018000 0x400>;
972 interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
973 clocks = <&rcc UART7_K>;
974 wakeup-source;
975 dmas = <&dmamux1 79 0x400 0x15>,
976 <&dmamux1 80 0x400 0x11>;
977 dma-names = "rx", "tx";
978 access-controllers = <&etzpc 40>;
979 status = "disabled";
980 };
981
982 uart8: serial@40019000 {
983 compatible = "st,stm32h7-uart";
984 reg = <0x40019000 0x400>;
985 interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
986 clocks = <&rcc UART8_K>;
987 wakeup-source;
988 dmas = <&dmamux1 81 0x400 0x15>,
989 <&dmamux1 82 0x400 0x11>;
990 dma-names = "rx", "tx";
991 access-controllers = <&etzpc 41>;
992 status = "disabled";
993 };
994
995 timers1: timer@44000000 {
996 #address-cells = <1>;
997 #size-cells = <0>;
998 compatible = "st,stm32-timers";
999 reg = <0x44000000 0x400>;
1000 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
1001 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
1002 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
1003 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
1004 interrupt-names = "brk", "up", "trg-com", "cc";
1005 clocks = <&rcc TIM1_K>;
1006 clock-names = "int";
1007 dmas = <&dmamux1 11 0x400 0x1>,
1008 <&dmamux1 12 0x400 0x1>,
1009 <&dmamux1 13 0x400 0x1>,
1010 <&dmamux1 14 0x400 0x1>,
1011 <&dmamux1 15 0x400 0x1>,
1012 <&dmamux1 16 0x400 0x1>,
1013 <&dmamux1 17 0x400 0x1>;
1014 dma-names = "ch1", "ch2", "ch3", "ch4",
1015 "up", "trig", "com";
1016 access-controllers = <&etzpc 48>;
1017 status = "disabled";
1018
1019 pwm {
1020 compatible = "st,stm32-pwm";
1021 #pwm-cells = <3>;
1022 status = "disabled";
1023 };
1024
1025 timer@0 {
1026 compatible = "st,stm32h7-timer-trigger";
1027 reg = <0>;
1028 status = "disabled";
1029 };
1030
1031 counter {
1032 compatible = "st,stm32-timer-counter";
1033 status = "disabled";
1034 };
1035 };
1036
1037 timers8: timer@44001000 {
1038 #address-cells = <1>;
1039 #size-cells = <0>;
1040 compatible = "st,stm32-timers";
1041 reg = <0x44001000 0x400>;
1042 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
1043 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
1044 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
1045 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
1046 interrupt-names = "brk", "up", "trg-com", "cc";
1047 clocks = <&rcc TIM8_K>;
1048 clock-names = "int";
1049 dmas = <&dmamux1 47 0x400 0x1>,
1050 <&dmamux1 48 0x400 0x1>,
1051 <&dmamux1 49 0x400 0x1>,
1052 <&dmamux1 50 0x400 0x1>,
1053 <&dmamux1 51 0x400 0x1>,
1054 <&dmamux1 52 0x400 0x1>,
1055 <&dmamux1 53 0x400 0x1>;
1056 dma-names = "ch1", "ch2", "ch3", "ch4",
1057 "up", "trig", "com";
1058 access-controllers = <&etzpc 49>;
1059 status = "disabled";
1060
1061 pwm {
1062 compatible = "st,stm32-pwm";
1063 #pwm-cells = <3>;
1064 status = "disabled";
1065 };
1066
1067 timer@7 {
1068 compatible = "st,stm32h7-timer-trigger";
1069 reg = <7>;
1070 status = "disabled";
1071 };
1072
1073 counter {
1074 compatible = "st,stm32-timer-counter";
1075 status = "disabled";
1076 };
1077 };
1078
1079 usart6: serial@44003000 {
1080 compatible = "st,stm32h7-uart";
1081 reg = <0x44003000 0x400>;
1082 interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
1083 clocks = <&rcc USART6_K>;
1084 wakeup-source;
1085 dmas = <&dmamux1 71 0x400 0x15>,
1086 <&dmamux1 72 0x400 0x11>;
1087 dma-names = "rx", "tx";
1088 access-controllers = <&etzpc 51>;
1089 status = "disabled";
1090 };
1091
1092 i2s1: audio-controller@44004000 {
1093 compatible = "st,stm32h7-i2s";
1094 #sound-dai-cells = <0>;
1095 reg = <0x44004000 0x400>;
1096 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1097 dmas = <&dmamux1 37 0x400 0x01>,
1098 <&dmamux1 38 0x400 0x01>;
1099 dma-names = "rx", "tx";
1100 access-controllers = <&etzpc 52>;
1101 status = "disabled";
1102 };
1103
1104 spi1: spi@44004000 {
1105 #address-cells = <1>;
1106 #size-cells = <0>;
1107 compatible = "st,stm32h7-spi";
1108 reg = <0x44004000 0x400>;
1109 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1110 clocks = <&rcc SPI1_K>;
1111 resets = <&rcc SPI1_R>;
1112 dmas = <&dmamux1 37 0x400 0x05>,
1113 <&dmamux1 38 0x400 0x05>;
1114 dma-names = "rx", "tx";
1115 access-controllers = <&etzpc 52>;
1116 status = "disabled";
1117 };
1118
1119 spi4: spi@44005000 {
1120 #address-cells = <1>;
1121 #size-cells = <0>;
1122 compatible = "st,stm32h7-spi";
1123 reg = <0x44005000 0x400>;
1124 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1125 clocks = <&rcc SPI4_K>;
1126 resets = <&rcc SPI4_R>;
1127 dmas = <&dmamux1 83 0x400 0x05>,
1128 <&dmamux1 84 0x400 0x05>;
1129 dma-names = "rx", "tx";
1130 access-controllers = <&etzpc 53>;
1131 status = "disabled";
1132 };
1133
1134 timers15: timer@44006000 {
1135 #address-cells = <1>;
1136 #size-cells = <0>;
1137 compatible = "st,stm32-timers";
1138 reg = <0x44006000 0x400>;
1139 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1140 interrupt-names = "global";
1141 clocks = <&rcc TIM15_K>;
1142 clock-names = "int";
1143 dmas = <&dmamux1 105 0x400 0x1>,
1144 <&dmamux1 106 0x400 0x1>,
1145 <&dmamux1 107 0x400 0x1>,
1146 <&dmamux1 108 0x400 0x1>;
1147 dma-names = "ch1", "up", "trig", "com";
1148 access-controllers = <&etzpc 54>;
1149 status = "disabled";
1150
1151 counter {
1152 compatible = "st,stm32-timer-counter";
1153 status = "disabled";
1154 };
1155
1156 pwm {
1157 compatible = "st,stm32-pwm";
1158 #pwm-cells = <3>;
1159 status = "disabled";
1160 };
1161
1162 timer@14 {
1163 compatible = "st,stm32h7-timer-trigger";
1164 reg = <14>;
1165 status = "disabled";
1166 };
1167 };
1168
1169 timers16: timer@44007000 {
1170 #address-cells = <1>;
1171 #size-cells = <0>;
1172 compatible = "st,stm32-timers";
1173 reg = <0x44007000 0x400>;
1174 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
1175 interrupt-names = "global";
1176 clocks = <&rcc TIM16_K>;
1177 clock-names = "int";
1178 dmas = <&dmamux1 109 0x400 0x1>,
1179 <&dmamux1 110 0x400 0x1>;
1180 dma-names = "ch1", "up";
1181 access-controllers = <&etzpc 55>;
1182 status = "disabled";
1183
1184 counter {
1185 compatible = "st,stm32-timer-counter";
1186 status = "disabled";
1187 };
1188
1189 pwm {
1190 compatible = "st,stm32-pwm";
1191 #pwm-cells = <3>;
1192 status = "disabled";
1193 };
1194
1195 timer@15 {
1196 compatible = "st,stm32h7-timer-trigger";
1197 reg = <15>;
1198 status = "disabled";
1199 };
1200 };
1201
1202 timers17: timer@44008000 {
1203 #address-cells = <1>;
1204 #size-cells = <0>;
1205 compatible = "st,stm32-timers";
1206 reg = <0x44008000 0x400>;
1207 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1208 interrupt-names = "global";
1209 clocks = <&rcc TIM17_K>;
1210 clock-names = "int";
1211 dmas = <&dmamux1 111 0x400 0x1>,
1212 <&dmamux1 112 0x400 0x1>;
1213 dma-names = "ch1", "up";
1214 access-controllers = <&etzpc 56>;
1215 status = "disabled";
1216
1217 counter {
1218 compatible = "st,stm32-timer-counter";
1219 status = "disabled";
1220 };
1221
1222 pwm {
1223 compatible = "st,stm32-pwm";
1224 #pwm-cells = <3>;
1225 status = "disabled";
1226 };
1227
1228 timer@16 {
1229 compatible = "st,stm32h7-timer-trigger";
1230 reg = <16>;
1231 status = "disabled";
1232 };
1233 };
1234
1235 spi5: spi@44009000 {
1236 #address-cells = <1>;
1237 #size-cells = <0>;
1238 compatible = "st,stm32h7-spi";
1239 reg = <0x44009000 0x400>;
1240 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1241 clocks = <&rcc SPI5_K>;
1242 resets = <&rcc SPI5_R>;
1243 dmas = <&dmamux1 85 0x400 0x05>,
1244 <&dmamux1 86 0x400 0x05>;
1245 dma-names = "rx", "tx";
1246 access-controllers = <&etzpc 57>;
1247 status = "disabled";
1248 };
1249
1250 sai1: sai@4400a000 {
1251 compatible = "st,stm32h7-sai";
1252 #address-cells = <1>;
1253 #size-cells = <1>;
1254 ranges = <0 0x4400a000 0x400>;
1255 reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
1256 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1257 resets = <&rcc SAI1_R>;
1258 access-controllers = <&etzpc 58>;
1259 status = "disabled";
1260
1261 sai1a: audio-controller@4400a004 {
1262 #sound-dai-cells = <0>;
1263
1264 compatible = "st,stm32-sai-sub-a";
1265 reg = <0x4 0x20>;
1266 clocks = <&rcc SAI1_K>;
1267 clock-names = "sai_ck";
1268 dmas = <&dmamux1 87 0x400 0x01>;
1269 status = "disabled";
1270 };
1271
1272 sai1b: audio-controller@4400a024 {
1273 #sound-dai-cells = <0>;
1274 compatible = "st,stm32-sai-sub-b";
1275 reg = <0x24 0x20>;
1276 clocks = <&rcc SAI1_K>;
1277 clock-names = "sai_ck";
1278 dmas = <&dmamux1 88 0x400 0x01>;
1279 status = "disabled";
1280 };
1281 };
1282
1283 sai2: sai@4400b000 {
1284 compatible = "st,stm32h7-sai";
1285 #address-cells = <1>;
1286 #size-cells = <1>;
1287 ranges = <0 0x4400b000 0x400>;
1288 reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
1289 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
1290 resets = <&rcc SAI2_R>;
1291 access-controllers = <&etzpc 59>;
1292 status = "disabled";
1293
1294 sai2a: audio-controller@4400b004 {
1295 #sound-dai-cells = <0>;
1296 compatible = "st,stm32-sai-sub-a";
1297 reg = <0x4 0x20>;
1298 clocks = <&rcc SAI2_K>;
1299 clock-names = "sai_ck";
1300 dmas = <&dmamux1 89 0x400 0x01>;
1301 status = "disabled";
1302 };
1303
1304 sai2b: audio-controller@4400b024 {
1305 #sound-dai-cells = <0>;
1306 compatible = "st,stm32-sai-sub-b";
1307 reg = <0x24 0x20>;
1308 clocks = <&rcc SAI2_K>;
1309 clock-names = "sai_ck";
1310 dmas = <&dmamux1 90 0x400 0x01>;
1311 status = "disabled";
1312 };
1313 };
1314
1315 sai3: sai@4400c000 {
1316 compatible = "st,stm32h7-sai";
1317 #address-cells = <1>;
1318 #size-cells = <1>;
1319 ranges = <0 0x4400c000 0x400>;
1320 reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
1321 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
1322 resets = <&rcc SAI3_R>;
1323 access-controllers = <&etzpc 60>;
1324 status = "disabled";
1325
1326 sai3a: audio-controller@4400c004 {
1327 #sound-dai-cells = <0>;
1328 compatible = "st,stm32-sai-sub-a";
1329 reg = <0x04 0x20>;
1330 clocks = <&rcc SAI3_K>;
1331 clock-names = "sai_ck";
1332 dmas = <&dmamux1 113 0x400 0x01>;
1333 status = "disabled";
1334 };
1335
1336 sai3b: audio-controller@4400c024 {
1337 #sound-dai-cells = <0>;
1338 compatible = "st,stm32-sai-sub-b";
1339 reg = <0x24 0x20>;
1340 clocks = <&rcc SAI3_K>;
1341 clock-names = "sai_ck";
1342 dmas = <&dmamux1 114 0x400 0x01>;
1343 status = "disabled";
1344 };
1345 };
1346
1347 dfsdm: dfsdm@4400d000 {
1348 compatible = "st,stm32mp1-dfsdm";
1349 reg = <0x4400d000 0x800>;
1350 clocks = <&rcc DFSDM_K>;
1351 clock-names = "dfsdm";
1352 #address-cells = <1>;
1353 #size-cells = <0>;
1354 access-controllers = <&etzpc 61>;
1355 status = "disabled";
1356
1357 dfsdm0: filter@0 {
1358 compatible = "st,stm32-dfsdm-adc";
1359 #io-channel-cells = <1>;
1360 reg = <0>;
1361 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
1362 dmas = <&dmamux1 101 0x400 0x01>;
1363 dma-names = "rx";
1364 status = "disabled";
1365 };
1366
1367 dfsdm1: filter@1 {
1368 compatible = "st,stm32-dfsdm-adc";
1369 #io-channel-cells = <1>;
1370 reg = <1>;
1371 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1372 dmas = <&dmamux1 102 0x400 0x01>;
1373 dma-names = "rx";
1374 status = "disabled";
1375 };
1376
1377 dfsdm2: filter@2 {
1378 compatible = "st,stm32-dfsdm-adc";
1379 #io-channel-cells = <1>;
1380 reg = <2>;
1381 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1382 dmas = <&dmamux1 103 0x400 0x01>;
1383 dma-names = "rx";
1384 status = "disabled";
1385 };
1386
1387 dfsdm3: filter@3 {
1388 compatible = "st,stm32-dfsdm-adc";
1389 #io-channel-cells = <1>;
1390 reg = <3>;
1391 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1392 dmas = <&dmamux1 104 0x400 0x01>;
1393 dma-names = "rx";
1394 status = "disabled";
1395 };
1396
1397 dfsdm4: filter@4 {
1398 compatible = "st,stm32-dfsdm-adc";
1399 #io-channel-cells = <1>;
1400 reg = <4>;
1401 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
1402 dmas = <&dmamux1 91 0x400 0x01>;
1403 dma-names = "rx";
1404 status = "disabled";
1405 };
1406
1407 dfsdm5: filter@5 {
1408 compatible = "st,stm32-dfsdm-adc";
1409 #io-channel-cells = <1>;
1410 reg = <5>;
1411 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1412 dmas = <&dmamux1 92 0x400 0x01>;
1413 dma-names = "rx";
1414 status = "disabled";
1415 };
1416 };
1417
1418 dma1: dma-controller@48000000 {
1419 compatible = "st,stm32-dma";
1420 reg = <0x48000000 0x400>;
1421 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
1422 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1423 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
1424 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
1425 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
1426 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
1427 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
1428 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
1429 clocks = <&rcc DMA1>;
1430 resets = <&rcc DMA1_R>;
1431 #dma-cells = <4>;
1432 st,mem2mem;
1433 dma-requests = <8>;
1434 access-controllers = <&etzpc 88>;
1435 };
1436
1437 dma2: dma-controller@48001000 {
1438 compatible = "st,stm32-dma";
1439 reg = <0x48001000 0x400>;
1440 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
1441 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
1442 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
1443 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
1444 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
1445 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
1446 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1447 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1448 clocks = <&rcc DMA2>;
1449 resets = <&rcc DMA2_R>;
1450 #dma-cells = <4>;
1451 st,mem2mem;
1452 dma-requests = <8>;
1453 access-controllers = <&etzpc 89>;
1454 };
1455
1456 dmamux1: dma-router@48002000 {
1457 compatible = "st,stm32h7-dmamux";
1458 reg = <0x48002000 0x40>;
1459 #dma-cells = <3>;
1460 dma-requests = <128>;
1461 dma-masters = <&dma1 &dma2>;
1462 dma-channels = <16>;
1463 clocks = <&rcc DMAMUX>;
1464 resets = <&rcc DMAMUX_R>;
1465 access-controllers = <&etzpc 90>;
1466 };
1467
1468 adc: adc@48003000 {
1469 compatible = "st,stm32mp1-adc-core";
1470 reg = <0x48003000 0x400>;
1471 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
1472 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1473 clocks = <&rcc ADC12>, <&rcc ADC12_K>;
1474 clock-names = "bus", "adc";
1475 interrupt-controller;
1476 st,syscfg = <&syscfg>;
1477 #interrupt-cells = <1>;
1478 #address-cells = <1>;
1479 #size-cells = <0>;
1480 access-controllers = <&etzpc 72>;
1481 status = "disabled";
1482
1483 adc1: adc@0 {
1484 compatible = "st,stm32mp1-adc";
1485 #io-channel-cells = <1>;
1486 #address-cells = <1>;
1487 #size-cells = <0>;
1488 reg = <0x0>;
1489 interrupt-parent = <&adc>;
1490 interrupts = <0>;
1491 dmas = <&dmamux1 9 0x400 0x01>;
1492 dma-names = "rx";
1493 status = "disabled";
1494 };
1495
1496 adc2: adc@100 {
1497 compatible = "st,stm32mp1-adc";
1498 #io-channel-cells = <1>;
1499 #address-cells = <1>;
1500 #size-cells = <0>;
1501 reg = <0x100>;
1502 interrupt-parent = <&adc>;
1503 interrupts = <1>;
1504 dmas = <&dmamux1 10 0x400 0x01>;
1505 dma-names = "rx";
1506 nvmem-cells = <&vrefint>;
1507 nvmem-cell-names = "vrefint";
1508 status = "disabled";
1509 channel@13 {
1510 reg = <13>;
1511 label = "vrefint";
1512 };
1513 channel@14 {
1514 reg = <14>;
1515 label = "vddcore";
1516 };
1517 };
1518 };
1519
1520 sdmmc3: mmc@48004000 {
1521 compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1522 arm,primecell-periphid = <0x00253180>;
1523 reg = <0x48004000 0x400>;
1524 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1525 clocks = <&rcc SDMMC3_K>;
1526 clock-names = "apb_pclk";
1527 resets = <&rcc SDMMC3_R>;
1528 cap-sd-highspeed;
1529 cap-mmc-highspeed;
1530 max-frequency = <120000000>;
1531 access-controllers = <&etzpc 86>;
1532 status = "disabled";
1533 };
1534
1535 usbotg_hs: usb-otg@49000000 {
1536 compatible = "st,stm32mp15-hsotg", "snps,dwc2";
1537 reg = <0x49000000 0x10000>;
1538 clocks = <&rcc USBO_K>, <&usbphyc>;
1539 clock-names = "otg", "utmi";
1540 resets = <&rcc USBO_R>;
1541 reset-names = "dwc2";
1542 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1543 g-rx-fifo-size = <512>;
1544 g-np-tx-fifo-size = <32>;
1545 g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
1546 dr_mode = "otg";
1547 otg-rev = <0x200>;
1548 usb33d-supply = <&usb33>;
1549 access-controllers = <&etzpc 85>;
1550 status = "disabled";
1551 };
1552
1553 dcmi: dcmi@4c006000 {
1554 compatible = "st,stm32-dcmi";
1555 reg = <0x4c006000 0x400>;
1556 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
1557 resets = <&rcc CAMITF_R>;
1558 clocks = <&rcc DCMI>;
1559 clock-names = "mclk";
1560 dmas = <&dmamux1 75 0x400 0x01>;
1561 dma-names = "tx";
1562 access-controllers = <&etzpc 70>;
1563 status = "disabled";
1564 };
1565
1566 lptimer2: timer@50021000 {
1567 #address-cells = <1>;
1568 #size-cells = <0>;
1569 compatible = "st,stm32-lptimer";
1570 reg = <0x50021000 0x400>;
1571 interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
1572 clocks = <&rcc LPTIM2_K>;
1573 clock-names = "mux";
1574 wakeup-source;
1575 access-controllers = <&etzpc 64>;
1576 status = "disabled";
1577
1578 pwm {
1579 compatible = "st,stm32-pwm-lp";
1580 #pwm-cells = <3>;
1581 status = "disabled";
1582 };
1583
1584 trigger@1 {
1585 compatible = "st,stm32-lptimer-trigger";
1586 reg = <1>;
1587 status = "disabled";
1588 };
1589
1590 counter {
1591 compatible = "st,stm32-lptimer-counter";
1592 status = "disabled";
1593 };
1594 };
1595
1596 lptimer3: timer@50022000 {
1597 #address-cells = <1>;
1598 #size-cells = <0>;
1599 compatible = "st,stm32-lptimer";
1600 reg = <0x50022000 0x400>;
1601 interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
1602 clocks = <&rcc LPTIM3_K>;
1603 clock-names = "mux";
1604 wakeup-source;
1605 access-controllers = <&etzpc 65>;
1606 status = "disabled";
1607
1608 pwm {
1609 compatible = "st,stm32-pwm-lp";
1610 #pwm-cells = <3>;
1611 status = "disabled";
1612 };
1613
1614 trigger@2 {
1615 compatible = "st,stm32-lptimer-trigger";
1616 reg = <2>;
1617 status = "disabled";
1618 };
1619 };
1620
1621 lptimer4: timer@50023000 {
1622 compatible = "st,stm32-lptimer";
1623 reg = <0x50023000 0x400>;
1624 interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
1625 clocks = <&rcc LPTIM4_K>;
1626 clock-names = "mux";
1627 wakeup-source;
1628 access-controllers = <&etzpc 66>;
1629 status = "disabled";
1630
1631 pwm {
1632 compatible = "st,stm32-pwm-lp";
1633 #pwm-cells = <3>;
1634 status = "disabled";
1635 };
1636 };
1637
1638 lptimer5: timer@50024000 {
1639 compatible = "st,stm32-lptimer";
1640 reg = <0x50024000 0x400>;
1641 interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
1642 clocks = <&rcc LPTIM5_K>;
1643 clock-names = "mux";
1644 wakeup-source;
1645 access-controllers = <&etzpc 67>;
1646 status = "disabled";
1647
1648 pwm {
1649 compatible = "st,stm32-pwm-lp";
1650 #pwm-cells = <3>;
1651 status = "disabled";
1652 };
1653 };
1654
1655 vrefbuf: vrefbuf@50025000 {
1656 compatible = "st,stm32-vrefbuf";
1657 reg = <0x50025000 0x8>;
1658 regulator-min-microvolt = <1500000>;
1659 regulator-max-microvolt = <2500000>;
1660 clocks = <&rcc VREF>;
1661 access-controllers = <&etzpc 69>;
1662 status = "disabled";
1663 };
1664
1665 sai4: sai@50027000 {
1666 compatible = "st,stm32h7-sai";
1667 #address-cells = <1>;
1668 #size-cells = <1>;
1669 ranges = <0 0x50027000 0x400>;
1670 reg = <0x50027000 0x4>, <0x500273f0 0x10>;
1671 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1672 resets = <&rcc SAI4_R>;
1673 access-controllers = <&etzpc 68>;
1674 status = "disabled";
1675
1676 sai4a: audio-controller@50027004 {
1677 #sound-dai-cells = <0>;
1678 compatible = "st,stm32-sai-sub-a";
1679 reg = <0x04 0x20>;
1680 clocks = <&rcc SAI4_K>;
1681 clock-names = "sai_ck";
1682 dmas = <&dmamux1 99 0x400 0x01>;
1683 status = "disabled";
1684 };
1685
1686 sai4b: audio-controller@50027024 {
1687 #sound-dai-cells = <0>;
1688 compatible = "st,stm32-sai-sub-b";
1689 reg = <0x24 0x20>;
1690 clocks = <&rcc SAI4_K>;
1691 clock-names = "sai_ck";
1692 dmas = <&dmamux1 100 0x400 0x01>;
1693 status = "disabled";
1694 };
1695 };
1696
1697 hash1: hash@54002000 {
1698 compatible = "st,stm32f756-hash";
1699 reg = <0x54002000 0x400>;
1700 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
1701 clocks = <&rcc HASH1>;
1702 resets = <&rcc HASH1_R>;
1703 dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
1704 dma-names = "in";
1705 dma-maxburst = <2>;
1706 access-controllers = <&etzpc 8>;
1707 status = "disabled";
1708 };
1709
1710 rng1: rng@54003000 {
1711 compatible = "st,stm32-rng";
1712 reg = <0x54003000 0x400>;
1713 clocks = <&rcc RNG1_K>;
1714 resets = <&rcc RNG1_R>;
1715 access-controllers = <&etzpc 7>;
1716 status = "disabled";
1717 };
1718
1719 fmc: memory-controller@58002000 {
1720 #address-cells = <2>;
1721 #size-cells = <1>;
1722 compatible = "st,stm32mp1-fmc2-ebi";
1723 reg = <0x58002000 0x1000>;
1724 clocks = <&rcc FMC_K>;
1725 resets = <&rcc FMC_R>;
1726 access-controllers = <&etzpc 91>;
1727 status = "disabled";
1728
1729 ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
1730 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
1731 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
1732 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
1733 <4 0 0x80000000 0x10000000>; /* NAND */
1734
1735 nand-controller@4,0 {
1736 #address-cells = <1>;
1737 #size-cells = <0>;
1738 compatible = "st,stm32mp1-fmc2-nfc";
1739 reg = <4 0x00000000 0x1000>,
1740 <4 0x08010000 0x1000>,
1741 <4 0x08020000 0x1000>,
1742 <4 0x01000000 0x1000>,
1743 <4 0x09010000 0x1000>,
1744 <4 0x09020000 0x1000>;
1745 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1746 dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
1747 <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
1748 <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
1749 dma-names = "tx", "rx", "ecc";
1750 status = "disabled";
1751 };
1752 };
1753
1754 qspi: spi@58003000 {
1755 compatible = "st,stm32f469-qspi";
1756 reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
1757 reg-names = "qspi", "qspi_mm";
1758 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
1759 dmas = <&mdma1 22 0x2 0x10100002 0x0 0x0>,
1760 <&mdma1 22 0x2 0x10100008 0x0 0x0>;
1761 dma-names = "tx", "rx";
1762 clocks = <&rcc QSPI_K>;
1763 resets = <&rcc QSPI_R>;
1764 #address-cells = <1>;
1765 #size-cells = <0>;
1766 access-controllers = <&etzpc 92>;
1767 status = "disabled";
1768 };
1769
1770 ethernet0: ethernet@5800a000 {
1771 compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
1772 reg = <0x5800a000 0x2000>;
1773 reg-names = "stmmaceth";
1774 interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
1775 interrupt-names = "macirq";
1776 clock-names = "stmmaceth",
1777 "mac-clk-tx",
1778 "mac-clk-rx",
1779 "eth-ck",
1780 "ptp_ref",
1781 "ethstp";
1782 clocks = <&rcc ETHMAC>,
1783 <&rcc ETHTX>,
1784 <&rcc ETHRX>,
1785 <&rcc ETHCK_K>,
1786 <&rcc ETHPTP_K>,
1787 <&rcc ETHSTP>;
1788 st,syscon = <&syscfg 0x4>;
1789 snps,mixed-burst;
1790 snps,pbl = <2>;
1791 snps,axi-config = <&stmmac_axi_config_0>;
1792 snps,tso;
1793 access-controllers = <&etzpc 94>;
1794 status = "disabled";
1795
1796 stmmac_axi_config_0: stmmac-axi-config {
1797 snps,wr_osr_lmt = <0x7>;
1798 snps,rd_osr_lmt = <0x7>;
1799 snps,blen = <0 0 0 0 16 8 4>;
1800 };
1801 };
1802
1803 usart1: serial@5c000000 {
1804 compatible = "st,stm32h7-uart";
1805 reg = <0x5c000000 0x400>;
1806 interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
1807 clocks = <&rcc USART1_K>;
1808 wakeup-source;
1809 access-controllers = <&etzpc 3>;
1810 status = "disabled";
1811 };
1812
1813 spi6: spi@5c001000 {
1814 #address-cells = <1>;
1815 #size-cells = <0>;
1816 compatible = "st,stm32h7-spi";
1817 reg = <0x5c001000 0x400>;
1818 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1819 clocks = <&rcc SPI6_K>;
1820 resets = <&rcc SPI6_R>;
1821 dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
1822 <&mdma1 35 0x0 0x40002 0x0 0x0>;
1823 access-controllers = <&etzpc 4>;
1824 dma-names = "rx", "tx";
1825 status = "disabled";
1826 };
1827
1828 i2c4: i2c@5c002000 {
1829 compatible = "st,stm32mp15-i2c";
1830 reg = <0x5c002000 0x400>;
1831 interrupt-names = "event", "error";
1832 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1833 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1834 clocks = <&rcc I2C4_K>;
1835 resets = <&rcc I2C4_R>;
1836 #address-cells = <1>;
1837 #size-cells = <0>;
1838 st,syscfg-fmp = <&syscfg 0x4 0x8>;
1839 wakeup-source;
1840 i2c-analog-filter;
1841 access-controllers = <&etzpc 5>;
1842 status = "disabled";
1843 };
1844
1845 i2c6: i2c@5c009000 {
1846 compatible = "st,stm32mp15-i2c";
1847 reg = <0x5c009000 0x400>;
1848 interrupt-names = "event", "error";
1849 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1850 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1851 clocks = <&rcc I2C6_K>;
1852 resets = <&rcc I2C6_R>;
1853 #address-cells = <1>;
1854 #size-cells = <0>;
1855 st,syscfg-fmp = <&syscfg 0x4 0x20>;
1856 wakeup-source;
1857 i2c-analog-filter;
1858 access-controllers = <&etzpc 12>;
1859 status = "disabled";
1860 };
1861 };
1862
1863 tamp: tamp@5c00a000 {
1864 compatible = "st,stm32-tamp", "syscon", "simple-mfd";
1865 reg = <0x5c00a000 0x400>;
1866 };
1867
1868 /*
1869 * Break node order to solve dependency probe issue between
1870 * pinctrl and exti.
1871 */
1872 pinctrl: pinctrl@50002000 {
1873 #address-cells = <1>;
1874 #size-cells = <1>;
1875 compatible = "st,stm32mp157-pinctrl";
1876 ranges = <0 0x50002000 0xa400>;
1877 interrupt-parent = <&exti>;
1878 st,syscfg = <&exti 0x60 0xff>;
1879
1880 gpioa: gpio@50002000 {
1881 gpio-controller;
1882 #gpio-cells = <2>;
1883 interrupt-controller;
1884 #interrupt-cells = <2>;
1885 reg = <0x0 0x400>;
1886 clocks = <&rcc GPIOA>;
1887 st,bank-name = "GPIOA";
1888 status = "disabled";
1889 };
1890
1891 gpiob: gpio@50003000 {
1892 gpio-controller;
1893 #gpio-cells = <2>;
1894 interrupt-controller;
1895 #interrupt-cells = <2>;
1896 reg = <0x1000 0x400>;
1897 clocks = <&rcc GPIOB>;
1898 st,bank-name = "GPIOB";
1899 status = "disabled";
1900 };
1901
1902 gpioc: gpio@50004000 {
1903 gpio-controller;
1904 #gpio-cells = <2>;
1905 interrupt-controller;
1906 #interrupt-cells = <2>;
1907 reg = <0x2000 0x400>;
1908 clocks = <&rcc GPIOC>;
1909 st,bank-name = "GPIOC";
1910 status = "disabled";
1911 };
1912
1913 gpiod: gpio@50005000 {
1914 gpio-controller;
1915 #gpio-cells = <2>;
1916 interrupt-controller;
1917 #interrupt-cells = <2>;
1918 reg = <0x3000 0x400>;
1919 clocks = <&rcc GPIOD>;
1920 st,bank-name = "GPIOD";
1921 status = "disabled";
1922 };
1923
1924 gpioe: gpio@50006000 {
1925 gpio-controller;
1926 #gpio-cells = <2>;
1927 interrupt-controller;
1928 #interrupt-cells = <2>;
1929 reg = <0x4000 0x400>;
1930 clocks = <&rcc GPIOE>;
1931 st,bank-name = "GPIOE";
1932 status = "disabled";
1933 };
1934
1935 gpiof: gpio@50007000 {
1936 gpio-controller;
1937 #gpio-cells = <2>;
1938 interrupt-controller;
1939 #interrupt-cells = <2>;
1940 reg = <0x5000 0x400>;
1941 clocks = <&rcc GPIOF>;
1942 st,bank-name = "GPIOF";
1943 status = "disabled";
1944 };
1945
1946 gpiog: gpio@50008000 {
1947 gpio-controller;
1948 #gpio-cells = <2>;
1949 interrupt-controller;
1950 #interrupt-cells = <2>;
1951 reg = <0x6000 0x400>;
1952 clocks = <&rcc GPIOG>;
1953 st,bank-name = "GPIOG";
1954 status = "disabled";
1955 };
1956
1957 gpioh: gpio@50009000 {
1958 gpio-controller;
1959 #gpio-cells = <2>;
1960 interrupt-controller;
1961 #interrupt-cells = <2>;
1962 reg = <0x7000 0x400>;
1963 clocks = <&rcc GPIOH>;
1964 st,bank-name = "GPIOH";
1965 status = "disabled";
1966 };
1967
1968 gpioi: gpio@5000a000 {
1969 gpio-controller;
1970 #gpio-cells = <2>;
1971 interrupt-controller;
1972 #interrupt-cells = <2>;
1973 reg = <0x8000 0x400>;
1974 clocks = <&rcc GPIOI>;
1975 st,bank-name = "GPIOI";
1976 status = "disabled";
1977 };
1978
1979 gpioj: gpio@5000b000 {
1980 gpio-controller;
1981 #gpio-cells = <2>;
1982 interrupt-controller;
1983 #interrupt-cells = <2>;
1984 reg = <0x9000 0x400>;
1985 clocks = <&rcc GPIOJ>;
1986 st,bank-name = "GPIOJ";
1987 status = "disabled";
1988 };
1989
1990 gpiok: gpio@5000c000 {
1991 gpio-controller;
1992 #gpio-cells = <2>;
1993 interrupt-controller;
1994 #interrupt-cells = <2>;
1995 reg = <0xa000 0x400>;
1996 clocks = <&rcc GPIOK>;
1997 st,bank-name = "GPIOK";
1998 status = "disabled";
1999 };
2000 };
2001
2002 pinctrl_z: pinctrl@54004000 {
2003 #address-cells = <1>;
2004 #size-cells = <1>;
2005 compatible = "st,stm32mp157-z-pinctrl";
2006 ranges = <0 0x54004000 0x400>;
2007 interrupt-parent = <&exti>;
2008 st,syscfg = <&exti 0x60 0xff>;
2009
2010 gpioz: gpio@54004000 {
2011 gpio-controller;
2012 #gpio-cells = <2>;
2013 interrupt-controller;
2014 #interrupt-cells = <2>;
2015 reg = <0 0x400>;
2016 clocks = <&rcc GPIOZ>;
2017 st,bank-name = "GPIOZ";
2018 st,bank-ioport = <11>;
2019 status = "disabled";
2020 };
2021 };
2022 };
2023
2024 mlahb: ahb {
2025 compatible = "st,mlahb", "simple-bus";
2026 #address-cells = <1>;
2027 #size-cells = <1>;
2028 ranges;
2029 dma-ranges = <0x00000000 0x38000000 0x10000>,
2030 <0x10000000 0x10000000 0x60000>,
2031 <0x30000000 0x30000000 0x60000>;
2032
2033 m4_rproc: m4@10000000 {
2034 compatible = "st,stm32mp1-m4";
2035 reg = <0x10000000 0x40000>,
2036 <0x30000000 0x40000>,
2037 <0x38000000 0x10000>;
2038 resets = <&rcc MCU_R>;
2039 reset-names = "mcu_rst";
2040 st,syscfg-holdboot = <&rcc 0x10C 0x1>;
2041 st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
2042 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
2043 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
2044 status = "disabled";
2045 };
2046 };
2047};