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