blob: 19b003f81a26cd0973677c9b45aaa90f14a39233 [file] [log] [blame]
Ludovic Barre8471a202018-02-26 16:35:40 +01001// 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>
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +01007#include <dt-bindings/clock/stm32mp1-clks.h>
Gabriel Fernandezbde22822018-05-02 14:14:44 +02008#include <dt-bindings/reset/stm32mp1-resets.h>
Ludovic Barre8471a202018-02-26 16:35:40 +01009
10/ {
11 #address-cells = <1>;
12 #size-cells = <1>;
13
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
17
18 cpu0: cpu@0 {
19 compatible = "arm,cortex-a7";
20 device_type = "cpu";
21 reg = <0>;
22 };
23
24 cpu1: cpu@1 {
25 compatible = "arm,cortex-a7";
26 device_type = "cpu";
27 reg = <1>;
28 };
29 };
30
31 psci {
32 compatible = "arm,psci";
33 method = "smc";
34 cpu_off = <0x84000002>;
35 cpu_on = <0x84000003>;
36 };
37
38 aliases {
39 gpio0 = &gpioa;
40 gpio1 = &gpiob;
41 gpio2 = &gpioc;
42 gpio3 = &gpiod;
43 gpio4 = &gpioe;
44 gpio5 = &gpiof;
45 gpio6 = &gpiog;
46 gpio7 = &gpioh;
47 gpio8 = &gpioi;
48 gpio9 = &gpioj;
49 gpio10 = &gpiok;
50 };
51
52 intc: interrupt-controller@a0021000 {
53 compatible = "arm,cortex-a7-gic";
54 #interrupt-cells = <3>;
55 interrupt-controller;
56 reg = <0xa0021000 0x1000>,
57 <0xa0022000 0x2000>;
58 };
59
60 timer {
61 compatible = "arm,armv7-timer";
62 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
63 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
64 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
65 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
66 interrupt-parent = <&intc>;
67 };
68
69 clocks {
70 clk_hse: clk-hse {
71 #clock-cells = <0>;
72 compatible = "fixed-clock";
73 clock-frequency = <24000000>;
74 };
75
Ludovic Barre8471a202018-02-26 16:35:40 +010076 clk_hsi: clk-hsi {
77 #clock-cells = <0>;
78 compatible = "fixed-clock";
79 clock-frequency = <64000000>;
80 };
81
82 clk_lse: clk-lse {
83 #clock-cells = <0>;
84 compatible = "fixed-clock";
85 clock-frequency = <32768>;
86 };
87
88 clk_lsi: clk-lsi {
89 #clock-cells = <0>;
90 compatible = "fixed-clock";
91 clock-frequency = <32000>;
92 };
93
94 clk_csi: clk-csi {
95 #clock-cells = <0>;
96 compatible = "fixed-clock";
97 clock-frequency = <4000000>;
98 };
Ludovic Barre8471a202018-02-26 16:35:40 +010099 };
100
101 soc {
102 compatible = "simple-bus";
103 #address-cells = <1>;
104 #size-cells = <1>;
105 interrupt-parent = <&intc>;
106 ranges;
107
Fabrice Gasnier61fc2112018-04-17 15:45:00 +0200108 timers2: timer@40000000 {
109 #address-cells = <1>;
110 #size-cells = <0>;
111 compatible = "st,stm32-timers";
112 reg = <0x40000000 0x400>;
113 clocks = <&rcc TIM2_K>;
114 clock-names = "int";
115 status = "disabled";
116
117 pwm {
118 compatible = "st,stm32-pwm";
119 status = "disabled";
120 };
121
122 timer@1 {
123 compatible = "st,stm32h7-timer-trigger";
124 reg = <1>;
125 status = "disabled";
126 };
127 };
128
129 timers3: timer@40001000 {
130 #address-cells = <1>;
131 #size-cells = <0>;
132 compatible = "st,stm32-timers";
133 reg = <0x40001000 0x400>;
134 clocks = <&rcc TIM3_K>;
135 clock-names = "int";
136 status = "disabled";
137
138 pwm {
139 compatible = "st,stm32-pwm";
140 status = "disabled";
141 };
142
143 timer@2 {
144 compatible = "st,stm32h7-timer-trigger";
145 reg = <2>;
146 status = "disabled";
147 };
148 };
149
150 timers4: timer@40002000 {
151 #address-cells = <1>;
152 #size-cells = <0>;
153 compatible = "st,stm32-timers";
154 reg = <0x40002000 0x400>;
155 clocks = <&rcc TIM4_K>;
156 clock-names = "int";
157 status = "disabled";
158
159 pwm {
160 compatible = "st,stm32-pwm";
161 status = "disabled";
162 };
163
164 timer@3 {
165 compatible = "st,stm32h7-timer-trigger";
166 reg = <3>;
167 status = "disabled";
168 };
169 };
170
171 timers5: timer@40003000 {
172 #address-cells = <1>;
173 #size-cells = <0>;
174 compatible = "st,stm32-timers";
175 reg = <0x40003000 0x400>;
176 clocks = <&rcc TIM5_K>;
177 clock-names = "int";
178 status = "disabled";
179
180 pwm {
181 compatible = "st,stm32-pwm";
182 status = "disabled";
183 };
184
185 timer@4 {
186 compatible = "st,stm32h7-timer-trigger";
187 reg = <4>;
188 status = "disabled";
189 };
190 };
191
192 timers6: timer@40004000 {
193 #address-cells = <1>;
194 #size-cells = <0>;
195 compatible = "st,stm32-timers";
196 reg = <0x40004000 0x400>;
197 clocks = <&rcc TIM6_K>;
198 clock-names = "int";
199 status = "disabled";
200
201 timer@5 {
202 compatible = "st,stm32h7-timer-trigger";
203 reg = <5>;
204 status = "disabled";
205 };
206 };
207
208 timers7: timer@40005000 {
209 #address-cells = <1>;
210 #size-cells = <0>;
211 compatible = "st,stm32-timers";
212 reg = <0x40005000 0x400>;
213 clocks = <&rcc TIM7_K>;
214 clock-names = "int";
215 status = "disabled";
216
217 timer@6 {
218 compatible = "st,stm32h7-timer-trigger";
219 reg = <6>;
220 status = "disabled";
221 };
222 };
223
224 timers12: timer@40006000 {
225 #address-cells = <1>;
226 #size-cells = <0>;
227 compatible = "st,stm32-timers";
228 reg = <0x40006000 0x400>;
229 clocks = <&rcc TIM12_K>;
230 clock-names = "int";
231 status = "disabled";
232
233 pwm {
234 compatible = "st,stm32-pwm";
235 status = "disabled";
236 };
237
238 timer@11 {
239 compatible = "st,stm32h7-timer-trigger";
240 reg = <11>;
241 status = "disabled";
242 };
243 };
244
245 timers13: timer@40007000 {
246 #address-cells = <1>;
247 #size-cells = <0>;
248 compatible = "st,stm32-timers";
249 reg = <0x40007000 0x400>;
250 clocks = <&rcc TIM13_K>;
251 clock-names = "int";
252 status = "disabled";
253
254 pwm {
255 compatible = "st,stm32-pwm";
256 status = "disabled";
257 };
258
259 timer@12 {
260 compatible = "st,stm32h7-timer-trigger";
261 reg = <12>;
262 status = "disabled";
263 };
264 };
265
266 timers14: timer@40008000 {
267 #address-cells = <1>;
268 #size-cells = <0>;
269 compatible = "st,stm32-timers";
270 reg = <0x40008000 0x400>;
271 clocks = <&rcc TIM14_K>;
272 clock-names = "int";
273 status = "disabled";
274
275 pwm {
276 compatible = "st,stm32-pwm";
277 status = "disabled";
278 };
279
280 timer@13 {
281 compatible = "st,stm32h7-timer-trigger";
282 reg = <13>;
283 status = "disabled";
284 };
285 };
286
Fabrice Gasnier966ed872018-05-02 13:53:38 +0200287 lptimer1: timer@40009000 {
288 #address-cells = <1>;
289 #size-cells = <0>;
290 compatible = "st,stm32-lptimer";
291 reg = <0x40009000 0x400>;
292 clocks = <&rcc LPTIM1_K>;
293 clock-names = "mux";
294 status = "disabled";
295
296 pwm {
297 compatible = "st,stm32-pwm-lp";
298 #pwm-cells = <3>;
299 status = "disabled";
300 };
301
302 trigger@0 {
303 compatible = "st,stm32-lptimer-trigger";
304 reg = <0>;
305 status = "disabled";
306 };
307
308 counter {
309 compatible = "st,stm32-lptimer-counter";
310 status = "disabled";
311 };
312 };
313
Ludovic Barre8471a202018-02-26 16:35:40 +0100314 usart2: serial@4000e000 {
315 compatible = "st,stm32h7-uart";
316 reg = <0x4000e000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200317 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100318 clocks = <&rcc USART2_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100319 status = "disabled";
320 };
321
322 usart3: serial@4000f000 {
323 compatible = "st,stm32h7-uart";
324 reg = <0x4000f000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200325 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100326 clocks = <&rcc USART3_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100327 status = "disabled";
328 };
329
330 uart4: serial@40010000 {
331 compatible = "st,stm32h7-uart";
332 reg = <0x40010000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200333 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100334 clocks = <&rcc UART4_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100335 status = "disabled";
336 };
337
338 uart5: serial@40011000 {
339 compatible = "st,stm32h7-uart";
340 reg = <0x40011000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200341 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100342 clocks = <&rcc UART5_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100343 status = "disabled";
344 };
345
Pierre-Yves MORDRETd126e862018-04-23 11:48:00 +0200346 i2c1: i2c@40012000 {
347 compatible = "st,stm32f7-i2c";
348 reg = <0x40012000 0x400>;
349 interrupt-names = "event", "error";
350 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
351 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
352 clocks = <&rcc I2C1_K>;
353 resets = <&rcc I2C1_R>;
354 #address-cells = <1>;
355 #size-cells = <0>;
356 status = "disabled";
357 };
358
359 i2c2: i2c@40013000 {
360 compatible = "st,stm32f7-i2c";
361 reg = <0x40013000 0x400>;
362 interrupt-names = "event", "error";
363 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
364 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
365 clocks = <&rcc I2C2_K>;
366 resets = <&rcc I2C2_R>;
367 #address-cells = <1>;
368 #size-cells = <0>;
369 status = "disabled";
370 };
371
372 i2c3: i2c@40014000 {
373 compatible = "st,stm32f7-i2c";
374 reg = <0x40014000 0x400>;
375 interrupt-names = "event", "error";
376 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
377 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
378 clocks = <&rcc I2C3_K>;
379 resets = <&rcc I2C3_R>;
380 #address-cells = <1>;
381 #size-cells = <0>;
382 status = "disabled";
383 };
384
385 i2c5: i2c@40015000 {
386 compatible = "st,stm32f7-i2c";
387 reg = <0x40015000 0x400>;
388 interrupt-names = "event", "error";
389 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
390 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
391 clocks = <&rcc I2C5_K>;
392 resets = <&rcc I2C5_R>;
393 #address-cells = <1>;
394 #size-cells = <0>;
395 status = "disabled";
396 };
397
yannick fertre066f3712018-04-24 09:54:00 +0200398 cec: cec@40016000 {
399 compatible = "st,stm32-cec";
400 reg = <0x40016000 0x400>;
401 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
402 clocks = <&rcc CEC_K>, <&clk_lse>;
403 clock-names = "cec", "hdmi-cec";
404 status = "disabled";
405 };
406
Fabrice Gasnierda6cddc2018-04-18 17:46:00 +0200407 dac: dac@40017000 {
408 compatible = "st,stm32h7-dac-core";
409 reg = <0x40017000 0x400>;
410 clocks = <&rcc DAC12>;
411 clock-names = "pclk";
412 #address-cells = <1>;
413 #size-cells = <0>;
414 status = "disabled";
415
416 dac1: dac@1 {
417 compatible = "st,stm32-dac";
418 #io-channels-cells = <1>;
419 reg = <1>;
420 status = "disabled";
421 };
422
423 dac2: dac@2 {
424 compatible = "st,stm32-dac";
425 #io-channels-cells = <1>;
426 reg = <2>;
427 status = "disabled";
428 };
429 };
430
Ludovic Barre8471a202018-02-26 16:35:40 +0100431 uart7: serial@40018000 {
432 compatible = "st,stm32h7-uart";
433 reg = <0x40018000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200434 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100435 clocks = <&rcc UART7_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100436 status = "disabled";
437 };
438
439 uart8: serial@40019000 {
440 compatible = "st,stm32h7-uart";
441 reg = <0x40019000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200442 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100443 clocks = <&rcc UART8_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100444 status = "disabled";
445 };
446
Fabrice Gasnier61fc2112018-04-17 15:45:00 +0200447 timers1: timer@44000000 {
448 #address-cells = <1>;
449 #size-cells = <0>;
450 compatible = "st,stm32-timers";
451 reg = <0x44000000 0x400>;
452 clocks = <&rcc TIM1_K>;
453 clock-names = "int";
454 status = "disabled";
455
456 pwm {
457 compatible = "st,stm32-pwm";
458 status = "disabled";
459 };
460
461 timer@0 {
462 compatible = "st,stm32h7-timer-trigger";
463 reg = <0>;
464 status = "disabled";
465 };
466 };
467
468 timers8: timer@44001000 {
469 #address-cells = <1>;
470 #size-cells = <0>;
471 compatible = "st,stm32-timers";
472 reg = <0x44001000 0x400>;
473 clocks = <&rcc TIM8_K>;
474 clock-names = "int";
475 status = "disabled";
476
477 pwm {
478 compatible = "st,stm32-pwm";
479 status = "disabled";
480 };
481
482 timer@7 {
483 compatible = "st,stm32h7-timer-trigger";
484 reg = <7>;
485 status = "disabled";
486 };
487 };
488
Ludovic Barre8471a202018-02-26 16:35:40 +0100489 usart6: serial@44003000 {
490 compatible = "st,stm32h7-uart";
491 reg = <0x44003000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200492 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100493 clocks = <&rcc USART6_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100494 status = "disabled";
495 };
496
Fabrice Gasnier61fc2112018-04-17 15:45:00 +0200497 timers15: timer@44006000 {
498 #address-cells = <1>;
499 #size-cells = <0>;
500 compatible = "st,stm32-timers";
501 reg = <0x44006000 0x400>;
502 clocks = <&rcc TIM15_K>;
503 clock-names = "int";
504 status = "disabled";
505
506 pwm {
507 compatible = "st,stm32-pwm";
508 status = "disabled";
509 };
510
511 timer@14 {
512 compatible = "st,stm32h7-timer-trigger";
513 reg = <14>;
514 status = "disabled";
515 };
516 };
517
518 timers16: timer@44007000 {
519 #address-cells = <1>;
520 #size-cells = <0>;
521 compatible = "st,stm32-timers";
522 reg = <0x44007000 0x400>;
523 clocks = <&rcc TIM16_K>;
524 clock-names = "int";
525 status = "disabled";
526
527 pwm {
528 compatible = "st,stm32-pwm";
529 status = "disabled";
530 };
531 timer@15 {
532 compatible = "st,stm32h7-timer-trigger";
533 reg = <15>;
534 status = "disabled";
535 };
536 };
537
538 timers17: timer@44008000 {
539 #address-cells = <1>;
540 #size-cells = <0>;
541 compatible = "st,stm32-timers";
542 reg = <0x44008000 0x400>;
543 clocks = <&rcc TIM17_K>;
544 clock-names = "int";
545 status = "disabled";
546
547 pwm {
548 compatible = "st,stm32-pwm";
549 status = "disabled";
550 };
551
552 timer@16 {
553 compatible = "st,stm32h7-timer-trigger";
554 reg = <16>;
555 status = "disabled";
556 };
557 };
558
Erwan Le Rayc322d962018-05-15 14:23:00 +0200559 m_can1: can@4400e000 {
560 compatible = "bosch,m_can";
561 reg = <0x4400e000 0x400>, <0x44011000 0x2800>;
562 reg-names = "m_can", "message_ram";
563 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
564 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
565 interrupt-names = "int0", "int1";
566 clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
567 clock-names = "hclk", "cclk";
568 bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>;
569 status = "disabled";
570 };
571
572 m_can2: can@4400f000 {
573 compatible = "bosch,m_can";
574 reg = <0x4400f000 0x400>, <0x44011000 0x2800>;
575 reg-names = "m_can", "message_ram";
576 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
577 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
578 interrupt-names = "int0", "int1";
579 clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
580 clock-names = "hclk", "cclk";
581 bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>;
582 status = "disabled";
583 };
584
Pierre-Yves MORDRETea1c4042018-04-20 11:14:00 +0200585 dma1: dma@48000000 {
586 compatible = "st,stm32-dma";
587 reg = <0x48000000 0x400>;
588 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
589 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
590 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
591 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
592 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
593 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
594 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
595 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
596 clocks = <&rcc DMA1>;
597 #dma-cells = <4>;
598 st,mem2mem;
Pierre-Yves MORDRET1cffb562018-04-20 11:14:00 +0200599 dma-requests = <8>;
Pierre-Yves MORDRETea1c4042018-04-20 11:14:00 +0200600 };
601
602 dma2: dma@48001000 {
603 compatible = "st,stm32-dma";
604 reg = <0x48001000 0x400>;
605 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
606 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
607 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
608 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
609 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
610 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
611 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
612 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
613 clocks = <&rcc DMA2>;
614 #dma-cells = <4>;
615 st,mem2mem;
Pierre-Yves MORDRET1cffb562018-04-20 11:14:00 +0200616 dma-requests = <8>;
617 };
618
619 dmamux1: dma-router@48002000 {
620 compatible = "st,stm32h7-dmamux";
621 reg = <0x48002000 0x1c>;
622 #dma-cells = <3>;
623 dma-requests = <128>;
624 dma-masters = <&dma1 &dma2>;
625 dma-channels = <16>;
626 clocks = <&rcc DMAMUX>;
Pierre-Yves MORDRETea1c4042018-04-20 11:14:00 +0200627 };
628
Fabrice Gasnier2dca78992018-05-22 17:45:00 +0200629 adc: adc@48003000 {
630 compatible = "st,stm32mp1-adc-core";
631 reg = <0x48003000 0x400>;
632 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
633 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
634 clocks = <&rcc ADC12>, <&rcc ADC12_K>;
635 clock-names = "bus", "adc";
636 interrupt-controller;
637 #interrupt-cells = <1>;
638 #address-cells = <1>;
639 #size-cells = <0>;
640 status = "disabled";
641
642 adc1: adc@0 {
643 compatible = "st,stm32mp1-adc";
644 #io-channel-cells = <1>;
645 reg = <0x0>;
646 interrupt-parent = <&adc>;
647 interrupts = <0>;
648 dmas = <&dmamux1 9 0x400 0x01>;
649 dma-names = "rx";
650 status = "disabled";
651 };
652
653 adc2: adc@100 {
654 compatible = "st,stm32mp1-adc";
655 #io-channel-cells = <1>;
656 reg = <0x100>;
657 interrupt-parent = <&adc>;
658 interrupts = <1>;
659 dmas = <&dmamux1 10 0x400 0x01>;
660 dma-names = "rx";
661 status = "disabled";
662 };
663 };
664
Amelie Delaunaye2c205a2018-05-17 17:47:00 +0200665 usbotg_hs: usb-otg@49000000 {
666 compatible = "snps,dwc2";
667 reg = <0x49000000 0x10000>;
668 clocks = <&rcc USBO_K>;
669 clock-names = "otg";
670 resets = <&rcc USBO_R>;
671 reset-names = "dwc2";
672 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
673 g-rx-fifo-size = <256>;
674 g-np-tx-fifo-size = <32>;
675 g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
676 dr_mode = "otg";
677 status = "disabled";
678 };
679
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100680 rcc: rcc@50000000 {
681 compatible = "st,stm32mp1-rcc", "syscon";
682 reg = <0x50000000 0x1000>;
683 #clock-cells = <1>;
684 #reset-cells = <1>;
685 };
686
Ludovic Barre5f0e9d22018-04-26 18:18:33 +0200687 exti: interrupt-controller@5000d000 {
688 compatible = "st,stm32mp1-exti", "syscon";
689 interrupt-controller;
690 #interrupt-cells = <2>;
691 reg = <0x5000d000 0x400>;
692 };
693
Fabrice Gasnier966ed872018-05-02 13:53:38 +0200694 lptimer2: timer@50021000 {
695 #address-cells = <1>;
696 #size-cells = <0>;
697 compatible = "st,stm32-lptimer";
698 reg = <0x50021000 0x400>;
699 clocks = <&rcc LPTIM2_K>;
700 clock-names = "mux";
701 status = "disabled";
702
703 pwm {
704 compatible = "st,stm32-pwm-lp";
705 #pwm-cells = <3>;
706 status = "disabled";
707 };
708
709 trigger@1 {
710 compatible = "st,stm32-lptimer-trigger";
711 reg = <1>;
712 status = "disabled";
713 };
714
715 counter {
716 compatible = "st,stm32-lptimer-counter";
717 status = "disabled";
718 };
719 };
720
721 lptimer3: timer@50022000 {
722 #address-cells = <1>;
723 #size-cells = <0>;
724 compatible = "st,stm32-lptimer";
725 reg = <0x50022000 0x400>;
726 clocks = <&rcc LPTIM3_K>;
727 clock-names = "mux";
728 status = "disabled";
729
730 pwm {
731 compatible = "st,stm32-pwm-lp";
732 #pwm-cells = <3>;
733 status = "disabled";
734 };
735
736 trigger@2 {
737 compatible = "st,stm32-lptimer-trigger";
738 reg = <2>;
739 status = "disabled";
740 };
741 };
742
743 lptimer4: timer@50023000 {
744 compatible = "st,stm32-lptimer";
745 reg = <0x50023000 0x400>;
746 clocks = <&rcc LPTIM4_K>;
747 clock-names = "mux";
748 status = "disabled";
749
750 pwm {
751 compatible = "st,stm32-pwm-lp";
752 #pwm-cells = <3>;
753 status = "disabled";
754 };
755 };
756
757 lptimer5: timer@50024000 {
758 compatible = "st,stm32-lptimer";
759 reg = <0x50024000 0x400>;
760 clocks = <&rcc LPTIM5_K>;
761 clock-names = "mux";
762 status = "disabled";
763
764 pwm {
765 compatible = "st,stm32-pwm-lp";
766 #pwm-cells = <3>;
767 status = "disabled";
768 };
769 };
770
Fabrice Gasnier9f790af2018-04-18 09:47:00 +0200771 vrefbuf: vrefbuf@50025000 {
772 compatible = "st,stm32-vrefbuf";
773 reg = <0x50025000 0x8>;
774 regulator-min-microvolt = <1500000>;
775 regulator-max-microvolt = <2500000>;
776 clocks = <&rcc VREF>;
777 status = "disabled";
778 };
779
Lionel Debievefc9962c2018-04-23 17:19:00 +0200780 cryp1: cryp@54001000 {
781 compatible = "st,stm32mp1-cryp";
782 reg = <0x54001000 0x400>;
783 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
784 clocks = <&rcc CRYP1>;
785 resets = <&rcc CRYP1_R>;
786 status = "disabled";
787 };
788
Lionel Debieve1e726a42018-05-14 12:00:00 +0200789 hash1: hash@54002000 {
790 compatible = "st,stm32f756-hash";
791 reg = <0x54002000 0x400>;
792 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
793 clocks = <&rcc HASH1>;
794 resets = <&rcc HASH1_R>;
795 dmas = <&mdma1 31 0x10 0x1000A02 0x0 0x0 0x0>;
796 dma-names = "in";
797 dma-maxburst = <2>;
798 status = "disabled";
799 };
800
Lionel Debieve6973f0a2018-04-23 17:19:00 +0200801 rng1: rng@54003000 {
802 compatible = "st,stm32-rng";
803 reg = <0x54003000 0x400>;
804 clocks = <&rcc RNG1_K>;
805 resets = <&rcc RNG1_R>;
806 status = "disabled";
807 };
808
Pierre-Yves MORDRET8ecf9102018-04-20 11:15:00 +0200809 mdma1: dma@58000000 {
810 compatible = "st,stm32h7-mdma";
811 reg = <0x58000000 0x1000>;
812 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
813 clocks = <&rcc MDMA>;
814 #dma-cells = <5>;
815 dma-channels = <32>;
816 dma-requests = <48>;
817 };
818
Ludovic Barrec38928d2018-04-30 09:11:00 +0200819 qspi: qspi@58003000 {
820 compatible = "st,stm32f469-qspi";
821 reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
822 reg-names = "qspi", "qspi_mm";
823 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
824 clocks = <&rcc QSPI_K>;
825 resets = <&rcc QSPI_R>;
826 status = "disabled";
827 };
828
Lionel Debieve8b2820a2018-04-23 17:19:00 +0200829 crc1: crc@58009000 {
830 compatible = "st,stm32f7-crc";
831 reg = <0x58009000 0x400>;
832 clocks = <&rcc CRC1>;
833 status = "disabled";
834 };
835
Amelie Delaunay949a0c02018-04-24 13:24:00 +0200836 usbh_ohci: usbh-ohci@5800c000 {
837 compatible = "generic-ohci";
838 reg = <0x5800c000 0x1000>;
839 clocks = <&rcc USBH>;
840 resets = <&rcc USBH_R>;
841 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
842 status = "disabled";
843 };
844
845 usbh_ehci: usbh-ehci@5800d000 {
846 compatible = "generic-ehci";
847 reg = <0x5800d000 0x1000>;
848 clocks = <&rcc USBH>;
849 resets = <&rcc USBH_R>;
850 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
851 companion = <&usbh_ohci>;
852 status = "disabled";
853 };
854
yannick fertre9d603e42018-04-24 09:54:00 +0200855 dsi: dsi@5a000000 {
856 compatible = "st,stm32-dsi";
857 reg = <0x5a000000 0x800>;
858 clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
859 clock-names = "pclk", "ref", "px_clk";
860 resets = <&rcc DSI_R>;
861 reset-names = "apb";
862 status = "disabled";
863 };
864
yannick fertre570cae62018-04-24 09:54:00 +0200865 ltdc: display-controller@5a001000 {
866 compatible = "st,stm32-ltdc";
867 reg = <0x5a001000 0x400>;
868 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
869 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
870 clocks = <&rcc LTDC_PX>;
871 clock-names = "lcd";
872 resets = <&rcc LTDC_R>;
873 status = "disabled";
874 };
875
Amelie Delaunay3c004362018-04-24 11:41:00 +0200876 usbphyc: usbphyc@5a006000 {
877 #address-cells = <1>;
878 #size-cells = <0>;
879 compatible = "st,stm32mp1-usbphyc";
880 reg = <0x5a006000 0x1000>;
881 clocks = <&rcc USBPHY_K>;
882 resets = <&rcc USBPHY_R>;
883 status = "disabled";
884
885 usbphyc_port0: usb-phy@0 {
886 #phy-cells = <0>;
887 reg = <0>;
888 };
889
890 usbphyc_port1: usb-phy@1 {
891 #phy-cells = <1>;
892 reg = <1>;
893 };
894 };
895
Ludovic Barre8471a202018-02-26 16:35:40 +0100896 usart1: serial@5c000000 {
897 compatible = "st,stm32h7-uart";
898 reg = <0x5c000000 0x400>;
Alexandre Torgue2ff04d02018-05-03 15:28:28 +0200899 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Gabriel Fernandez3599a8a2018-03-15 08:18:00 +0100900 clocks = <&rcc USART1_K>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100901 status = "disabled";
902 };
Pierre-Yves MORDRETd126e862018-04-23 11:48:00 +0200903
904 i2c4: i2c@5c002000 {
905 compatible = "st,stm32f7-i2c";
906 reg = <0x5c002000 0x400>;
907 interrupt-names = "event", "error";
908 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
909 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
910 clocks = <&rcc I2C4_K>;
911 resets = <&rcc I2C4_R>;
912 #address-cells = <1>;
913 #size-cells = <0>;
914 status = "disabled";
915 };
916
Amelie Delaunay84991632018-05-17 14:07:00 +0200917 rtc: rtc@5c004000 {
918 compatible = "st,stm32mp1-rtc";
919 reg = <0x5c004000 0x400>;
920 clocks = <&rcc RTCAPB>, <&rcc RTC>;
921 clock-names = "pclk", "rtc_ck";
922 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
923 status = "disabled";
924 };
925
Pierre-Yves MORDRETd126e862018-04-23 11:48:00 +0200926 i2c6: i2c@5c009000 {
927 compatible = "st,stm32f7-i2c";
928 reg = <0x5c009000 0x400>;
929 interrupt-names = "event", "error";
930 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
931 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
932 clocks = <&rcc I2C6_K>;
933 resets = <&rcc I2C6_R>;
934 #address-cells = <1>;
935 #size-cells = <0>;
Ludovic Barre8471a202018-02-26 16:35:40 +0100936 status = "disabled";
937 };
938 };
939};