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