blob: a81e916064ccf19a1b3541c2043aa4b579fb0430 [file] [log] [blame]
Patrick Delaunayc5c90692019-11-06 16:16:32 +01001// SPDX-License-Identifier: GPL-2.0+ OR X11
Patrice Chotardf13ff072017-12-12 09:49:32 +01002/*
Patrice Chotard2f4b6422019-02-18 22:54:35 +01003 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
Patrice Chotardf13ff072017-12-12 09:49:32 +01004 *
Patrice Chotardf13ff072017-12-12 09:49:32 +01005 */
6
Patrice Chotardf13ff072017-12-12 09:49:32 +01007#include "armv7-m.dtsi"
8#include <dt-bindings/clock/stm32fx-clock.h>
9#include <dt-bindings/mfd/stm32f4-rcc.h>
10
11/ {
Patrick Delaunayc5c90692019-11-06 16:16:32 +010012 #address-cells = <1>;
13 #size-cells = <1>;
14
Patrice Chotardf13ff072017-12-12 09:49:32 +010015 clocks {
16 clk_hse: clk-hse {
17 #clock-cells = <0>;
18 compatible = "fixed-clock";
19 clock-frequency = <0>;
20 };
21
22 clk_lse: clk-lse {
23 #clock-cells = <0>;
24 compatible = "fixed-clock";
25 clock-frequency = <32768>;
26 };
27
28 clk_lsi: clk-lsi {
29 #clock-cells = <0>;
30 compatible = "fixed-clock";
31 clock-frequency = <32000>;
32 };
33
34 clk_i2s_ckin: i2s-ckin {
35 #clock-cells = <0>;
36 compatible = "fixed-clock";
37 clock-frequency = <0>;
38 };
39 };
40
41 soc {
Patrice Chotard62f56162020-11-06 08:11:58 +010042 romem: efuse@1fff7800 {
Patrick Delaunayc5c90692019-11-06 16:16:32 +010043 compatible = "st,stm32f4-otp";
44 reg = <0x1fff7800 0x400>;
45 #address-cells = <1>;
46 #size-cells = <1>;
47 ts_cal1: calib@22c {
48 reg = <0x22c 0x2>;
49 };
50 ts_cal2: calib@22e {
51 reg = <0x22e 0x2>;
52 };
53 };
54
Patrice Chotardf13ff072017-12-12 09:49:32 +010055 timer2: timer@40000000 {
56 compatible = "st,stm32-timer";
57 reg = <0x40000000 0x400>;
58 interrupts = <28>;
59 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM2)>;
60 status = "disabled";
61 };
62
63 timers2: timers@40000000 {
64 #address-cells = <1>;
65 #size-cells = <0>;
66 compatible = "st,stm32-timers";
67 reg = <0x40000000 0x400>;
68 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM2)>;
69 clock-names = "int";
70 status = "disabled";
71
72 pwm {
73 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +010074 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +010075 status = "disabled";
76 };
77
78 timer@1 {
79 compatible = "st,stm32-timer-trigger";
80 reg = <1>;
81 status = "disabled";
82 };
83 };
84
85 timer3: timer@40000400 {
86 compatible = "st,stm32-timer";
87 reg = <0x40000400 0x400>;
88 interrupts = <29>;
89 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM3)>;
90 status = "disabled";
91 };
92
93 timers3: timers@40000400 {
94 #address-cells = <1>;
95 #size-cells = <0>;
96 compatible = "st,stm32-timers";
97 reg = <0x40000400 0x400>;
98 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM3)>;
99 clock-names = "int";
100 status = "disabled";
101
102 pwm {
103 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100104 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100105 status = "disabled";
106 };
107
108 timer@2 {
109 compatible = "st,stm32-timer-trigger";
110 reg = <2>;
111 status = "disabled";
112 };
113 };
114
115 timer4: timer@40000800 {
116 compatible = "st,stm32-timer";
117 reg = <0x40000800 0x400>;
118 interrupts = <30>;
119 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM4)>;
120 status = "disabled";
121 };
122
123 timers4: timers@40000800 {
124 #address-cells = <1>;
125 #size-cells = <0>;
126 compatible = "st,stm32-timers";
127 reg = <0x40000800 0x400>;
128 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM4)>;
129 clock-names = "int";
130 status = "disabled";
131
132 pwm {
133 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100134 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100135 status = "disabled";
136 };
137
138 timer@3 {
139 compatible = "st,stm32-timer-trigger";
140 reg = <3>;
141 status = "disabled";
142 };
143 };
144
145 timer5: timer@40000c00 {
146 compatible = "st,stm32-timer";
147 reg = <0x40000c00 0x400>;
148 interrupts = <50>;
149 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM5)>;
150 };
151
152 timers5: timers@40000c00 {
153 #address-cells = <1>;
154 #size-cells = <0>;
155 compatible = "st,stm32-timers";
156 reg = <0x40000C00 0x400>;
157 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM5)>;
158 clock-names = "int";
159 status = "disabled";
160
161 pwm {
162 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100163 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100164 status = "disabled";
165 };
166
167 timer@4 {
168 compatible = "st,stm32-timer-trigger";
169 reg = <4>;
170 status = "disabled";
171 };
172 };
173
174 timer6: timer@40001000 {
175 compatible = "st,stm32-timer";
176 reg = <0x40001000 0x400>;
177 interrupts = <54>;
178 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM6)>;
179 status = "disabled";
180 };
181
182 timers6: timers@40001000 {
183 #address-cells = <1>;
184 #size-cells = <0>;
185 compatible = "st,stm32-timers";
186 reg = <0x40001000 0x400>;
187 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM6)>;
188 clock-names = "int";
189 status = "disabled";
190
191 timer@5 {
192 compatible = "st,stm32-timer-trigger";
193 reg = <5>;
194 status = "disabled";
195 };
196 };
197
198 timer7: timer@40001400 {
199 compatible = "st,stm32-timer";
200 reg = <0x40001400 0x400>;
201 interrupts = <55>;
202 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM7)>;
203 status = "disabled";
204 };
205
206 timers7: timers@40001400 {
207 #address-cells = <1>;
208 #size-cells = <0>;
209 compatible = "st,stm32-timers";
210 reg = <0x40001400 0x400>;
211 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM7)>;
212 clock-names = "int";
213 status = "disabled";
214
215 timer@6 {
216 compatible = "st,stm32-timer-trigger";
217 reg = <6>;
218 status = "disabled";
219 };
220 };
221
222 timers12: timers@40001800 {
223 #address-cells = <1>;
224 #size-cells = <0>;
225 compatible = "st,stm32-timers";
226 reg = <0x40001800 0x400>;
227 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM12)>;
228 clock-names = "int";
229 status = "disabled";
230
231 pwm {
232 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100233 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100234 status = "disabled";
235 };
236
237 timer@11 {
238 compatible = "st,stm32-timer-trigger";
239 reg = <11>;
240 status = "disabled";
241 };
242 };
243
244 timers13: timers@40001c00 {
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100245 #address-cells = <1>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100246 #size-cells = <0>;
247 compatible = "st,stm32-timers";
248 reg = <0x40001C00 0x400>;
249 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM13)>;
250 clock-names = "int";
251 status = "disabled";
252
253 pwm {
254 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100255 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100256 status = "disabled";
257 };
258 };
259
260 timers14: timers@40002000 {
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100261 #address-cells = <1>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100262 #size-cells = <0>;
263 compatible = "st,stm32-timers";
264 reg = <0x40002000 0x400>;
265 clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM14)>;
266 clock-names = "int";
267 status = "disabled";
268
269 pwm {
270 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100271 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100272 status = "disabled";
273 };
274 };
275
276 rtc: rtc@40002800 {
277 compatible = "st,stm32-rtc";
278 reg = <0x40002800 0x400>;
279 clocks = <&rcc 1 CLK_RTC>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100280 assigned-clocks = <&rcc 1 CLK_RTC>;
281 assigned-clock-parents = <&rcc 1 CLK_LSE>;
282 interrupt-parent = <&exti>;
283 interrupts = <17 1>;
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100284 st,syscfg = <&pwrcfg 0x00 0x100>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100285 status = "disabled";
286 };
287
288 iwdg: watchdog@40003000 {
289 compatible = "st,stm32-iwdg";
290 reg = <0x40003000 0x400>;
291 clocks = <&clk_lsi>;
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100292 clock-names = "lsi";
Patrice Chotardf13ff072017-12-12 09:49:32 +0100293 status = "disabled";
294 };
295
Patrick Delaunayc5c90692019-11-06 16:16:32 +0100296 spi2: spi@40003800 {
297 #address-cells = <1>;
298 #size-cells = <0>;
299 compatible = "st,stm32f4-spi";
300 reg = <0x40003800 0x400>;
301 interrupts = <36>;
302 clocks = <&rcc 0 STM32F4_APB1_CLOCK(SPI2)>;
303 status = "disabled";
304 };
305
306 spi3: spi@40003c00 {
307 #address-cells = <1>;
308 #size-cells = <0>;
309 compatible = "st,stm32f4-spi";
310 reg = <0x40003c00 0x400>;
311 interrupts = <51>;
312 clocks = <&rcc 0 STM32F4_APB1_CLOCK(SPI3)>;
313 status = "disabled";
314 };
315
Patrice Chotardf13ff072017-12-12 09:49:32 +0100316 usart2: serial@40004400 {
317 compatible = "st,stm32-uart";
318 reg = <0x40004400 0x400>;
319 interrupts = <38>;
320 clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART2)>;
321 status = "disabled";
322 };
323
324 usart3: serial@40004800 {
325 compatible = "st,stm32-uart";
326 reg = <0x40004800 0x400>;
327 interrupts = <39>;
328 clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART3)>;
329 status = "disabled";
330 dmas = <&dma1 1 4 0x400 0x0>,
331 <&dma1 3 4 0x400 0x0>;
332 dma-names = "rx", "tx";
333 };
334
335 usart4: serial@40004c00 {
336 compatible = "st,stm32-uart";
337 reg = <0x40004c00 0x400>;
338 interrupts = <52>;
339 clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART4)>;
340 status = "disabled";
341 };
342
343 usart5: serial@40005000 {
344 compatible = "st,stm32-uart";
345 reg = <0x40005000 0x400>;
346 interrupts = <53>;
347 clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART5)>;
348 status = "disabled";
349 };
350
351 i2c1: i2c@40005400 {
352 compatible = "st,stm32f4-i2c";
353 reg = <0x40005400 0x400>;
354 interrupts = <31>,
355 <32>;
356 resets = <&rcc STM32F4_APB1_RESET(I2C1)>;
357 clocks = <&rcc 0 STM32F4_APB1_CLOCK(I2C1)>;
358 #address-cells = <1>;
359 #size-cells = <0>;
360 status = "disabled";
361 };
362
Patrice Chotard62f56162020-11-06 08:11:58 +0100363 i2c3: i2c@40005c00 {
364 compatible = "st,stm32f4-i2c";
365 reg = <0x40005c00 0x400>;
366 interrupts = <72>,
367 <73>;
368 resets = <&rcc STM32F4_APB1_RESET(I2C3)>;
369 clocks = <&rcc 0 STM32F4_APB1_CLOCK(I2C3)>;
370 #address-cells = <1>;
371 #size-cells = <0>;
372 status = "disabled";
373 };
374
Patrice Chotardf13ff072017-12-12 09:49:32 +0100375 dac: dac@40007400 {
376 compatible = "st,stm32f4-dac-core";
377 reg = <0x40007400 0x400>;
378 resets = <&rcc STM32F4_APB1_RESET(DAC)>;
379 clocks = <&rcc 0 STM32F4_APB1_CLOCK(DAC)>;
380 clock-names = "pclk";
381 #address-cells = <1>;
382 #size-cells = <0>;
383 status = "disabled";
384
385 dac1: dac@1 {
386 compatible = "st,stm32-dac";
Patrice Chotard62f56162020-11-06 08:11:58 +0100387 #io-channel-cells = <1>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100388 reg = <1>;
389 status = "disabled";
390 };
391
392 dac2: dac@2 {
393 compatible = "st,stm32-dac";
Patrice Chotard62f56162020-11-06 08:11:58 +0100394 #io-channel-cells = <1>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100395 reg = <2>;
396 status = "disabled";
397 };
398 };
399
400 usart7: serial@40007800 {
401 compatible = "st,stm32-uart";
402 reg = <0x40007800 0x400>;
403 interrupts = <82>;
404 clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART7)>;
405 status = "disabled";
406 };
407
408 usart8: serial@40007c00 {
409 compatible = "st,stm32-uart";
410 reg = <0x40007c00 0x400>;
411 interrupts = <83>;
412 clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART8)>;
413 status = "disabled";
414 };
415
416 timers1: timers@40010000 {
417 #address-cells = <1>;
418 #size-cells = <0>;
419 compatible = "st,stm32-timers";
420 reg = <0x40010000 0x400>;
421 clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM1)>;
422 clock-names = "int";
423 status = "disabled";
424
425 pwm {
426 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100427 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100428 status = "disabled";
429 };
430
431 timer@0 {
432 compatible = "st,stm32-timer-trigger";
433 reg = <0>;
434 status = "disabled";
435 };
436 };
437
438 timers8: timers@40010400 {
439 #address-cells = <1>;
440 #size-cells = <0>;
441 compatible = "st,stm32-timers";
442 reg = <0x40010400 0x400>;
443 clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM8)>;
444 clock-names = "int";
445 status = "disabled";
446
447 pwm {
448 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100449 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100450 status = "disabled";
451 };
452
453 timer@7 {
454 compatible = "st,stm32-timer-trigger";
455 reg = <7>;
456 status = "disabled";
457 };
458 };
459
460 usart1: serial@40011000 {
461 compatible = "st,stm32-uart";
462 reg = <0x40011000 0x400>;
463 interrupts = <37>;
464 clocks = <&rcc 0 STM32F4_APB2_CLOCK(USART1)>;
465 status = "disabled";
466 dmas = <&dma2 2 4 0x400 0x0>,
467 <&dma2 7 4 0x400 0x0>;
468 dma-names = "rx", "tx";
469 };
470
471 usart6: serial@40011400 {
472 compatible = "st,stm32-uart";
473 reg = <0x40011400 0x400>;
474 interrupts = <71>;
475 clocks = <&rcc 0 STM32F4_APB2_CLOCK(USART6)>;
476 status = "disabled";
477 };
478
479 adc: adc@40012000 {
480 compatible = "st,stm32f4-adc-core";
481 reg = <0x40012000 0x400>;
482 interrupts = <18>;
483 clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC1)>;
484 clock-names = "adc";
485 interrupt-controller;
486 #interrupt-cells = <1>;
487 #address-cells = <1>;
488 #size-cells = <0>;
489 status = "disabled";
490
491 adc1: adc@0 {
492 compatible = "st,stm32f4-adc";
493 #io-channel-cells = <1>;
494 reg = <0x0>;
495 clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC1)>;
496 interrupt-parent = <&adc>;
497 interrupts = <0>;
498 dmas = <&dma2 0 0 0x400 0x0>;
499 dma-names = "rx";
500 status = "disabled";
501 };
502
503 adc2: adc@100 {
504 compatible = "st,stm32f4-adc";
505 #io-channel-cells = <1>;
506 reg = <0x100>;
507 clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC2)>;
508 interrupt-parent = <&adc>;
509 interrupts = <1>;
510 dmas = <&dma2 3 1 0x400 0x0>;
511 dma-names = "rx";
512 status = "disabled";
513 };
514
515 adc3: adc@200 {
516 compatible = "st,stm32f4-adc";
517 #io-channel-cells = <1>;
518 reg = <0x200>;
519 clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC3)>;
520 interrupt-parent = <&adc>;
521 interrupts = <2>;
522 dmas = <&dma2 1 2 0x400 0x0>;
523 dma-names = "rx";
524 status = "disabled";
525 };
526 };
527
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100528 sdio: sdio@40012c00 {
529 compatible = "arm,pl180", "arm,primecell";
530 arm,primecell-periphid = <0x00880180>;
531 reg = <0x40012c00 0x400>;
532 clocks = <&rcc 0 STM32F4_APB2_CLOCK(SDIO)>;
533 clock-names = "apb_pclk";
534 interrupts = <49>;
535 max-frequency = <48000000>;
536 status = "disabled";
537 };
538
Patrick Delaunayc5c90692019-11-06 16:16:32 +0100539 spi1: spi@40013000 {
540 #address-cells = <1>;
541 #size-cells = <0>;
542 compatible = "st,stm32f4-spi";
543 reg = <0x40013000 0x400>;
544 interrupts = <35>;
545 clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI1)>;
546 status = "disabled";
547 };
548
549 spi4: spi@40013400 {
550 #address-cells = <1>;
551 #size-cells = <0>;
552 compatible = "st,stm32f4-spi";
553 reg = <0x40013400 0x400>;
554 interrupts = <84>;
555 clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI4)>;
556 status = "disabled";
557 };
558
Patrice Chotard62f56162020-11-06 08:11:58 +0100559 syscfg: syscon@40013800 {
560 compatible = "st,stm32-syscfg", "syscon";
Patrice Chotardf13ff072017-12-12 09:49:32 +0100561 reg = <0x40013800 0x400>;
562 };
563
564 exti: interrupt-controller@40013c00 {
565 compatible = "st,stm32-exti";
566 interrupt-controller;
567 #interrupt-cells = <2>;
568 reg = <0x40013C00 0x400>;
569 interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
570 };
571
572 timers9: timers@40014000 {
573 #address-cells = <1>;
574 #size-cells = <0>;
575 compatible = "st,stm32-timers";
576 reg = <0x40014000 0x400>;
577 clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM9)>;
578 clock-names = "int";
579 status = "disabled";
580
581 pwm {
582 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100583 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100584 status = "disabled";
585 };
586
587 timer@8 {
588 compatible = "st,stm32-timer-trigger";
589 reg = <8>;
590 status = "disabled";
591 };
592 };
593
594 timers10: timers@40014400 {
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100595 #address-cells = <1>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100596 #size-cells = <0>;
597 compatible = "st,stm32-timers";
598 reg = <0x40014400 0x400>;
599 clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM10)>;
600 clock-names = "int";
601 status = "disabled";
602
603 pwm {
604 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100605 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100606 status = "disabled";
607 };
608 };
609
610 timers11: timers@40014800 {
Patrice Chotard2f4b6422019-02-18 22:54:35 +0100611 #address-cells = <1>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100612 #size-cells = <0>;
613 compatible = "st,stm32-timers";
614 reg = <0x40014800 0x400>;
615 clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM11)>;
616 clock-names = "int";
617 status = "disabled";
618
619 pwm {
620 compatible = "st,stm32-pwm";
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100621 #pwm-cells = <3>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100622 status = "disabled";
623 };
624 };
625
Patrick Delaunayc5c90692019-11-06 16:16:32 +0100626 spi5: spi@40015000 {
627 #address-cells = <1>;
628 #size-cells = <0>;
629 compatible = "st,stm32f4-spi";
630 reg = <0x40015000 0x400>;
631 interrupts = <85>;
632 clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI5)>;
Patrice Chotard62f56162020-11-06 08:11:58 +0100633 dmas = <&dma2 3 2 0x400 0x0>,
634 <&dma2 4 2 0x400 0x0>;
635 dma-names = "rx", "tx";
Patrick Delaunayc5c90692019-11-06 16:16:32 +0100636 status = "disabled";
637 };
638
639 spi6: spi@40015400 {
640 #address-cells = <1>;
641 #size-cells = <0>;
642 compatible = "st,stm32f4-spi";
643 reg = <0x40015400 0x400>;
644 interrupts = <86>;
645 clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI6)>;
646 status = "disabled";
647 };
648
Patrice Chotardf13ff072017-12-12 09:49:32 +0100649 pwrcfg: power-config@40007000 {
Patrice Chotard62f56162020-11-06 08:11:58 +0100650 compatible = "st,stm32-power-config", "syscon";
Patrice Chotardf13ff072017-12-12 09:49:32 +0100651 reg = <0x40007000 0x400>;
652 };
653
Patrice Chotardf13ff072017-12-12 09:49:32 +0100654 ltdc: display-controller@40016800 {
655 compatible = "st,stm32-ltdc";
656 reg = <0x40016800 0x200>;
657 interrupts = <88>, <89>;
658 resets = <&rcc STM32F4_APB2_RESET(LTDC)>;
659 clocks = <&rcc 1 CLK_LCD>;
660 clock-names = "lcd";
661 status = "disabled";
662 };
663
664 crc: crc@40023000 {
665 compatible = "st,stm32f4-crc";
666 reg = <0x40023000 0x400>;
667 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(CRC)>;
668 status = "disabled";
669 };
670
671 rcc: rcc@40023810 {
672 #reset-cells = <1>;
673 #clock-cells = <2>;
674 compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
675 reg = <0x40023800 0x400>;
676 clocks = <&clk_hse>, <&clk_i2s_ckin>;
677 st,syscfg = <&pwrcfg>;
678 assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
679 assigned-clock-rates = <1000000>;
680 };
681
682 dma1: dma-controller@40026000 {
683 compatible = "st,stm32-dma";
684 reg = <0x40026000 0x400>;
685 interrupts = <11>,
686 <12>,
687 <13>,
688 <14>,
689 <15>,
690 <16>,
691 <17>,
692 <47>;
693 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA1)>;
694 #dma-cells = <4>;
695 };
696
697 dma2: dma-controller@40026400 {
698 compatible = "st,stm32-dma";
699 reg = <0x40026400 0x400>;
700 interrupts = <56>,
701 <57>,
702 <58>,
703 <59>,
704 <60>,
705 <68>,
706 <69>,
707 <70>;
708 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA2)>;
709 #dma-cells = <4>;
710 st,mem2mem;
711 };
712
713 mac: ethernet@40028000 {
714 compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
715 reg = <0x40028000 0x8000>;
716 reg-names = "stmmaceth";
717 interrupts = <61>;
718 interrupt-names = "macirq";
719 clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
720 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(ETHMAC)>,
721 <&rcc 0 STM32F4_AHB1_CLOCK(ETHMACTX)>,
722 <&rcc 0 STM32F4_AHB1_CLOCK(ETHMACRX)>;
723 st,syscon = <&syscfg 0x4>;
724 snps,pbl = <8>;
725 snps,mixed-burst;
726 status = "disabled";
727 };
728
729 usbotg_hs: usb@40040000 {
730 compatible = "snps,dwc2";
731 reg = <0x40040000 0x40000>;
732 interrupts = <77>;
733 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHS)>;
734 clock-names = "otg";
735 status = "disabled";
736 };
737
738 usbotg_fs: usb@50000000 {
739 compatible = "st,stm32f4x9-fsotg";
740 reg = <0x50000000 0x40000>;
741 interrupts = <67>;
742 clocks = <&rcc 0 39>;
743 clock-names = "otg";
744 status = "disabled";
745 };
746
747 dcmi: dcmi@50050000 {
748 compatible = "st,stm32-dcmi";
749 reg = <0x50050000 0x400>;
750 interrupts = <78>;
751 resets = <&rcc STM32F4_AHB2_RESET(DCMI)>;
752 clocks = <&rcc 0 STM32F4_AHB2_CLOCK(DCMI)>;
753 clock-names = "mclk";
754 pinctrl-names = "default";
755 pinctrl-0 = <&dcmi_pins>;
756 dmas = <&dma2 1 1 0x414 0x3>;
757 dma-names = "tx";
758 status = "disabled";
759 };
760
761 rng: rng@50060800 {
762 compatible = "st,stm32-rng";
763 reg = <0x50060800 0x400>;
Patrice Chotardf13ff072017-12-12 09:49:32 +0100764 clocks = <&rcc 0 STM32F4_AHB2_CLOCK(RNG)>;
765
766 };
767 };
768};
769
770&systick {
771 clocks = <&rcc 1 SYSTICK>;
772 status = "okay";
773};