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 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 serial0 = &usart1; 51 serial1 = &usart2; 52 serial2 = &usart3; 53 serial3 = &uart4; 54 serial4 = &uart5; 55 serial5 = &usart6; 56 serial6 = &uart7; 57 serial7 = &uart8; 58 }; 59 60 intc: interrupt-controller@a0021000 { 61 compatible = "arm,cortex-a7-gic"; 62 #interrupt-cells = <3>; 63 interrupt-controller; 64 reg = <0xa0021000 0x1000>, 65 <0xa0022000 0x2000>; 66 }; 67 68 timer { 69 compatible = "arm,armv7-timer"; 70 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 71 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 72 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 73 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 74 interrupt-parent = <&intc>; 75 }; 76 77 clocks { 78 clk_hse: clk-hse { 79 #clock-cells = <0>; 80 compatible = "fixed-clock"; 81 clock-frequency = <24000000>; 82 }; 83 84 clk_hsi: clk-hsi { 85 #clock-cells = <0>; 86 compatible = "fixed-clock"; 87 clock-frequency = <64000000>; 88 }; 89 90 clk_lse: clk-lse { 91 #clock-cells = <0>; 92 compatible = "fixed-clock"; 93 clock-frequency = <32768>; 94 }; 95 96 clk_lsi: clk-lsi { 97 #clock-cells = <0>; 98 compatible = "fixed-clock"; 99 clock-frequency = <32000>; 100 }; 101 102 clk_csi: clk-csi { 103 #clock-cells = <0>; 104 compatible = "fixed-clock"; 105 clock-frequency = <4000000>; 106 }; 107 }; 108 109 pm_domain { 110 #address-cells = <1>; 111 #size-cells = <0>; 112 compatible = "st,stm32mp157c-pd"; 113 114 pd_core_ret: core-ret-power-domain@1 { 115 #address-cells = <1>; 116 #size-cells = <0>; 117 reg = <1>; 118 #power-domain-cells = <0>; 119 label = "CORE-RETENTION"; 120 121 pd_core: core-power-domain@2 { 122 reg = <2>; 123 #power-domain-cells = <0>; 124 label = "CORE"; 125 }; 126 }; 127 }; 128 129 soc { 130 compatible = "simple-bus"; 131 #address-cells = <1>; 132 #size-cells = <1>; 133 interrupt-parent = <&intc>; 134 ranges; 135 136 timers2: timer@40000000 { 137 #address-cells = <1>; 138 #size-cells = <0>; 139 compatible = "st,stm32-timers"; 140 reg = <0x40000000 0x400>; 141 clocks = <&rcc TIM2_K>; 142 clock-names = "int"; 143 status = "disabled"; 144 145 pwm { 146 compatible = "st,stm32-pwm"; 147 status = "disabled"; 148 }; 149 150 timer@1 { 151 compatible = "st,stm32h7-timer-trigger"; 152 reg = <1>; 153 status = "disabled"; 154 }; 155 }; 156 157 timers3: timer@40001000 { 158 #address-cells = <1>; 159 #size-cells = <0>; 160 compatible = "st,stm32-timers"; 161 reg = <0x40001000 0x400>; 162 clocks = <&rcc TIM3_K>; 163 clock-names = "int"; 164 status = "disabled"; 165 166 pwm { 167 compatible = "st,stm32-pwm"; 168 status = "disabled"; 169 }; 170 171 timer@2 { 172 compatible = "st,stm32h7-timer-trigger"; 173 reg = <2>; 174 status = "disabled"; 175 }; 176 }; 177 178 timers4: timer@40002000 { 179 #address-cells = <1>; 180 #size-cells = <0>; 181 compatible = "st,stm32-timers"; 182 reg = <0x40002000 0x400>; 183 clocks = <&rcc TIM4_K>; 184 clock-names = "int"; 185 status = "disabled"; 186 187 pwm { 188 compatible = "st,stm32-pwm"; 189 status = "disabled"; 190 }; 191 192 timer@3 { 193 compatible = "st,stm32h7-timer-trigger"; 194 reg = <3>; 195 status = "disabled"; 196 }; 197 }; 198 199 timers5: timer@40003000 { 200 #address-cells = <1>; 201 #size-cells = <0>; 202 compatible = "st,stm32-timers"; 203 reg = <0x40003000 0x400>; 204 clocks = <&rcc TIM5_K>; 205 clock-names = "int"; 206 status = "disabled"; 207 208 pwm { 209 compatible = "st,stm32-pwm"; 210 status = "disabled"; 211 }; 212 213 timer@4 { 214 compatible = "st,stm32h7-timer-trigger"; 215 reg = <4>; 216 status = "disabled"; 217 }; 218 }; 219 220 timers6: timer@40004000 { 221 #address-cells = <1>; 222 #size-cells = <0>; 223 compatible = "st,stm32-timers"; 224 reg = <0x40004000 0x400>; 225 clocks = <&rcc TIM6_K>; 226 clock-names = "int"; 227 status = "disabled"; 228 229 timer@5 { 230 compatible = "st,stm32h7-timer-trigger"; 231 reg = <5>; 232 status = "disabled"; 233 }; 234 }; 235 236 timers7: timer@40005000 { 237 #address-cells = <1>; 238 #size-cells = <0>; 239 compatible = "st,stm32-timers"; 240 reg = <0x40005000 0x400>; 241 clocks = <&rcc TIM7_K>; 242 clock-names = "int"; 243 status = "disabled"; 244 245 timer@6 { 246 compatible = "st,stm32h7-timer-trigger"; 247 reg = <6>; 248 status = "disabled"; 249 }; 250 }; 251 252 timers12: timer@40006000 { 253 #address-cells = <1>; 254 #size-cells = <0>; 255 compatible = "st,stm32-timers"; 256 reg = <0x40006000 0x400>; 257 clocks = <&rcc TIM12_K>; 258 clock-names = "int"; 259 status = "disabled"; 260 261 pwm { 262 compatible = "st,stm32-pwm"; 263 status = "disabled"; 264 }; 265 266 timer@11 { 267 compatible = "st,stm32h7-timer-trigger"; 268 reg = <11>; 269 status = "disabled"; 270 }; 271 }; 272 273 timers13: timer@40007000 { 274 #address-cells = <1>; 275 #size-cells = <0>; 276 compatible = "st,stm32-timers"; 277 reg = <0x40007000 0x400>; 278 clocks = <&rcc TIM13_K>; 279 clock-names = "int"; 280 status = "disabled"; 281 282 pwm { 283 compatible = "st,stm32-pwm"; 284 status = "disabled"; 285 }; 286 287 timer@12 { 288 compatible = "st,stm32h7-timer-trigger"; 289 reg = <12>; 290 status = "disabled"; 291 }; 292 }; 293 294 timers14: timer@40008000 { 295 #address-cells = <1>; 296 #size-cells = <0>; 297 compatible = "st,stm32-timers"; 298 reg = <0x40008000 0x400>; 299 clocks = <&rcc TIM14_K>; 300 clock-names = "int"; 301 status = "disabled"; 302 303 pwm { 304 compatible = "st,stm32-pwm"; 305 status = "disabled"; 306 }; 307 308 timer@13 { 309 compatible = "st,stm32h7-timer-trigger"; 310 reg = <13>; 311 status = "disabled"; 312 }; 313 }; 314 315 lptimer1: timer@40009000 { 316 #address-cells = <1>; 317 #size-cells = <0>; 318 compatible = "st,stm32-lptimer"; 319 reg = <0x40009000 0x400>; 320 clocks = <&rcc LPTIM1_K>; 321 clock-names = "mux"; 322 status = "disabled"; 323 324 pwm { 325 compatible = "st,stm32-pwm-lp"; 326 #pwm-cells = <3>; 327 status = "disabled"; 328 }; 329 330 trigger@0 { 331 compatible = "st,stm32-lptimer-trigger"; 332 reg = <0>; 333 status = "disabled"; 334 }; 335 336 counter { 337 compatible = "st,stm32-lptimer-counter"; 338 status = "disabled"; 339 }; 340 }; 341 342 usart2: serial@4000e000 { 343 compatible = "st,stm32h7-uart"; 344 reg = <0x4000e000 0x400>; 345 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 346 clocks = <&rcc USART2_K>; 347 status = "disabled"; 348 }; 349 350 usart3: serial@4000f000 { 351 compatible = "st,stm32h7-uart"; 352 reg = <0x4000f000 0x400>; 353 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 354 clocks = <&rcc USART3_K>; 355 status = "disabled"; 356 }; 357 358 uart4: serial@40010000 { 359 compatible = "st,stm32h7-uart"; 360 reg = <0x40010000 0x400>; 361 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 362 clocks = <&rcc UART4_K>; 363 status = "disabled"; 364 }; 365 366 uart5: serial@40011000 { 367 compatible = "st,stm32h7-uart"; 368 reg = <0x40011000 0x400>; 369 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 370 clocks = <&rcc UART5_K>; 371 status = "disabled"; 372 }; 373 374 i2c1: i2c@40012000 { 375 compatible = "st,stm32f7-i2c"; 376 reg = <0x40012000 0x400>; 377 interrupt-names = "event", "error"; 378 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 379 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 380 clocks = <&rcc I2C1_K>; 381 resets = <&rcc I2C1_R>; 382 #address-cells = <1>; 383 #size-cells = <0>; 384 status = "disabled"; 385 }; 386 387 i2c2: i2c@40013000 { 388 compatible = "st,stm32f7-i2c"; 389 reg = <0x40013000 0x400>; 390 interrupt-names = "event", "error"; 391 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 392 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 393 clocks = <&rcc I2C2_K>; 394 resets = <&rcc I2C2_R>; 395 #address-cells = <1>; 396 #size-cells = <0>; 397 status = "disabled"; 398 }; 399 400 i2c3: i2c@40014000 { 401 compatible = "st,stm32f7-i2c"; 402 reg = <0x40014000 0x400>; 403 interrupt-names = "event", "error"; 404 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 405 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 406 clocks = <&rcc I2C3_K>; 407 resets = <&rcc I2C3_R>; 408 #address-cells = <1>; 409 #size-cells = <0>; 410 status = "disabled"; 411 }; 412 413 i2c5: i2c@40015000 { 414 compatible = "st,stm32f7-i2c"; 415 reg = <0x40015000 0x400>; 416 interrupt-names = "event", "error"; 417 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 418 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 419 clocks = <&rcc I2C5_K>; 420 resets = <&rcc I2C5_R>; 421 #address-cells = <1>; 422 #size-cells = <0>; 423 status = "disabled"; 424 }; 425 426 cec: cec@40016000 { 427 compatible = "st,stm32-cec"; 428 reg = <0x40016000 0x400>; 429 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 430 clocks = <&rcc CEC_K>, <&clk_lse>; 431 clock-names = "cec", "hdmi-cec"; 432 status = "disabled"; 433 }; 434 435 dac: dac@40017000 { 436 compatible = "st,stm32h7-dac-core"; 437 reg = <0x40017000 0x400>; 438 clocks = <&rcc DAC12>; 439 clock-names = "pclk"; 440 #address-cells = <1>; 441 #size-cells = <0>; 442 status = "disabled"; 443 444 dac1: dac@1 { 445 compatible = "st,stm32-dac"; 446 #io-channels-cells = <1>; 447 reg = <1>; 448 status = "disabled"; 449 }; 450 451 dac2: dac@2 { 452 compatible = "st,stm32-dac"; 453 #io-channels-cells = <1>; 454 reg = <2>; 455 status = "disabled"; 456 }; 457 }; 458 459 uart7: serial@40018000 { 460 compatible = "st,stm32h7-uart"; 461 reg = <0x40018000 0x400>; 462 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 463 clocks = <&rcc UART7_K>; 464 status = "disabled"; 465 }; 466 467 uart8: serial@40019000 { 468 compatible = "st,stm32h7-uart"; 469 reg = <0x40019000 0x400>; 470 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 471 clocks = <&rcc UART8_K>; 472 status = "disabled"; 473 }; 474 475 timers1: timer@44000000 { 476 #address-cells = <1>; 477 #size-cells = <0>; 478 compatible = "st,stm32-timers"; 479 reg = <0x44000000 0x400>; 480 clocks = <&rcc TIM1_K>; 481 clock-names = "int"; 482 status = "disabled"; 483 484 pwm { 485 compatible = "st,stm32-pwm"; 486 status = "disabled"; 487 }; 488 489 timer@0 { 490 compatible = "st,stm32h7-timer-trigger"; 491 reg = <0>; 492 status = "disabled"; 493 }; 494 }; 495 496 timers8: timer@44001000 { 497 #address-cells = <1>; 498 #size-cells = <0>; 499 compatible = "st,stm32-timers"; 500 reg = <0x44001000 0x400>; 501 clocks = <&rcc TIM8_K>; 502 clock-names = "int"; 503 status = "disabled"; 504 505 pwm { 506 compatible = "st,stm32-pwm"; 507 status = "disabled"; 508 }; 509 510 timer@7 { 511 compatible = "st,stm32h7-timer-trigger"; 512 reg = <7>; 513 status = "disabled"; 514 }; 515 }; 516 517 usart6: serial@44003000 { 518 compatible = "st,stm32h7-uart"; 519 reg = <0x44003000 0x400>; 520 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 521 clocks = <&rcc USART6_K>; 522 status = "disabled"; 523 }; 524 525 timers15: timer@44006000 { 526 #address-cells = <1>; 527 #size-cells = <0>; 528 compatible = "st,stm32-timers"; 529 reg = <0x44006000 0x400>; 530 clocks = <&rcc TIM15_K>; 531 clock-names = "int"; 532 status = "disabled"; 533 534 pwm { 535 compatible = "st,stm32-pwm"; 536 status = "disabled"; 537 }; 538 539 timer@14 { 540 compatible = "st,stm32h7-timer-trigger"; 541 reg = <14>; 542 status = "disabled"; 543 }; 544 }; 545 546 timers16: timer@44007000 { 547 #address-cells = <1>; 548 #size-cells = <0>; 549 compatible = "st,stm32-timers"; 550 reg = <0x44007000 0x400>; 551 clocks = <&rcc TIM16_K>; 552 clock-names = "int"; 553 status = "disabled"; 554 555 pwm { 556 compatible = "st,stm32-pwm"; 557 status = "disabled"; 558 }; 559 timer@15 { 560 compatible = "st,stm32h7-timer-trigger"; 561 reg = <15>; 562 status = "disabled"; 563 }; 564 }; 565 566 timers17: timer@44008000 { 567 #address-cells = <1>; 568 #size-cells = <0>; 569 compatible = "st,stm32-timers"; 570 reg = <0x44008000 0x400>; 571 clocks = <&rcc TIM17_K>; 572 clock-names = "int"; 573 status = "disabled"; 574 575 pwm { 576 compatible = "st,stm32-pwm"; 577 status = "disabled"; 578 }; 579 580 timer@16 { 581 compatible = "st,stm32h7-timer-trigger"; 582 reg = <16>; 583 status = "disabled"; 584 }; 585 }; 586 587 dma1: dma@48000000 { 588 compatible = "st,stm32-dma"; 589 reg = <0x48000000 0x400>; 590 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 591 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 592 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 593 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 594 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 595 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 596 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 597 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 598 clocks = <&rcc DMA1>; 599 #dma-cells = <4>; 600 st,mem2mem; 601 dma-requests = <8>; 602 }; 603 604 dma2: dma@48001000 { 605 compatible = "st,stm32-dma"; 606 reg = <0x48001000 0x400>; 607 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 608 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 609 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 610 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 611 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 612 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 613 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 614 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 615 clocks = <&rcc DMA2>; 616 #dma-cells = <4>; 617 st,mem2mem; 618 dma-requests = <8>; 619 }; 620 621 dmamux1: dma-router@48002000 { 622 compatible = "st,stm32h7-dmamux"; 623 reg = <0x48002000 0x1c>; 624 #dma-cells = <3>; 625 dma-requests = <128>; 626 dma-masters = <&dma1 &dma2>; 627 dma-channels = <16>; 628 clocks = <&rcc DMAMUX>; 629 }; 630 631 adc: adc@48003000 { 632 compatible = "st,stm32mp1-adc-core"; 633 reg = <0x48003000 0x400>; 634 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 635 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 636 clocks = <&rcc ADC12>, <&rcc ADC12_K>; 637 clock-names = "bus", "adc"; 638 interrupt-controller; 639 #interrupt-cells = <1>; 640 #address-cells = <1>; 641 #size-cells = <0>; 642 status = "disabled"; 643 644 adc1: adc@0 { 645 compatible = "st,stm32mp1-adc"; 646 #io-channel-cells = <1>; 647 reg = <0x0>; 648 interrupt-parent = <&adc>; 649 interrupts = <0>; 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 status = "disabled"; 660 }; 661 }; 662 663 sdmmc3: sdmmc@48004000 { 664 compatible = "st,stm32-sdmmc2"; 665 reg = <0x48004000 0x400>, <0x48005000 0x400>; 666 reg-names = "sdmmc", "delay"; 667 interrupts = <GIC_SPI 137 IRQ_TYPE_NONE>; 668 clocks = <&rcc SDMMC3_K>; 669 resets = <&rcc SDMMC3_R>; 670 st,idma = <1>; 671 cap-sd-highspeed; 672 cap-mmc-highspeed; 673 max-frequency = <120000000>; 674 status = "disabled"; 675 }; 676 677 usbotg_hs: usb-otg@49000000 { 678 compatible = "st,stm32mp1-hsotg", "snps,dwc2"; 679 reg = <0x49000000 0x10000>; 680 clocks = <&rcc USBO_K>; 681 clock-names = "otg"; 682 resets = <&rcc USBO_R>; 683 reset-names = "dwc2"; 684 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 685 g-rx-fifo-size = <256>; 686 g-np-tx-fifo-size = <32>; 687 g-tx-fifo-size = <128 128 64 64 64 64 32 32>; 688 dr_mode = "otg"; 689 power-domains = <&pd_core>; 690 status = "disabled"; 691 }; 692 693 hwspinlock: hwspinlock@4c000000 { 694 compatible = "st,stm32-hwspinlock"; 695 #hwlock-cells = <1>; 696 reg = <0x4c000000 0x400>; 697 clocks = <&rcc HSEM>; 698 clock-names = "hwspinlock"; 699 status = "disabled"; 700 }; 701 702 rcc: rcc@50000000 { 703 compatible = "st,stm32mp1-rcc", "syscon"; 704 reg = <0x50000000 0x1000>; 705 #clock-cells = <1>; 706 #reset-cells = <1>; 707 }; 708 709 rcc_reboot: rcc-reboot@50000000 { 710 compatible = "syscon-reboot"; 711 regmap = <&rcc>; 712 offset = <0x404>; 713 mask = <0x1>; 714 }; 715 716 pwr: pwr@50001000 { 717 compatible = "st,stm32mp1-pwr", "st,stm32-pwr", "syscon", "simple-mfd"; 718 reg = <0x50001000 0x400>; 719 system-power-controller; 720 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 721 st,sysrcc = <&rcc>; 722 clocks = <&rcc PLL2_R>; 723 clock-names = "phyclk"; 724 725 pwr-regulators@c { 726 compatible = "st,stm32mp1,pwr-reg"; 727 st,tzcr = <&rcc 0x0 0x1>; 728 729 reg11: reg11 { 730 regulator-name = "reg11"; 731 regulator-min-microvolt = <1100000>; 732 regulator-max-microvolt = <1100000>; 733 }; 734 735 reg18: reg18 { 736 regulator-name = "reg18"; 737 regulator-min-microvolt = <1800000>; 738 regulator-max-microvolt = <1800000>; 739 }; 740 741 usb33: usb33 { 742 regulator-name = "usb33"; 743 regulator-min-microvolt = <3300000>; 744 regulator-max-microvolt = <3300000>; 745 }; 746 }; 747 }; 748 749 exti: interrupt-controller@5000d000 { 750 compatible = "st,stm32mp1-exti", "syscon"; 751 interrupt-controller; 752 #interrupt-cells = <2>; 753 reg = <0x5000d000 0x400>; 754 }; 755 756 syscfg: system-config@50020000 { 757 compatible = "st,stm32-syscfg", "syscon"; 758 reg = <0x50020000 0x400>; 759 }; 760 761 lptimer2: timer@50021000 { 762 #address-cells = <1>; 763 #size-cells = <0>; 764 compatible = "st,stm32-lptimer"; 765 reg = <0x50021000 0x400>; 766 clocks = <&rcc LPTIM2_K>; 767 clock-names = "mux"; 768 status = "disabled"; 769 770 pwm { 771 compatible = "st,stm32-pwm-lp"; 772 #pwm-cells = <3>; 773 status = "disabled"; 774 }; 775 776 trigger@1 { 777 compatible = "st,stm32-lptimer-trigger"; 778 reg = <1>; 779 status = "disabled"; 780 }; 781 782 counter { 783 compatible = "st,stm32-lptimer-counter"; 784 status = "disabled"; 785 }; 786 }; 787 788 lptimer3: timer@50022000 { 789 #address-cells = <1>; 790 #size-cells = <0>; 791 compatible = "st,stm32-lptimer"; 792 reg = <0x50022000 0x400>; 793 clocks = <&rcc LPTIM3_K>; 794 clock-names = "mux"; 795 status = "disabled"; 796 797 pwm { 798 compatible = "st,stm32-pwm-lp"; 799 #pwm-cells = <3>; 800 status = "disabled"; 801 }; 802 803 trigger@2 { 804 compatible = "st,stm32-lptimer-trigger"; 805 reg = <2>; 806 status = "disabled"; 807 }; 808 }; 809 810 lptimer4: timer@50023000 { 811 compatible = "st,stm32-lptimer"; 812 reg = <0x50023000 0x400>; 813 clocks = <&rcc LPTIM4_K>; 814 clock-names = "mux"; 815 status = "disabled"; 816 817 pwm { 818 compatible = "st,stm32-pwm-lp"; 819 #pwm-cells = <3>; 820 status = "disabled"; 821 }; 822 }; 823 824 lptimer5: timer@50024000 { 825 compatible = "st,stm32-lptimer"; 826 reg = <0x50024000 0x400>; 827 clocks = <&rcc LPTIM5_K>; 828 clock-names = "mux"; 829 status = "disabled"; 830 831 pwm { 832 compatible = "st,stm32-pwm-lp"; 833 #pwm-cells = <3>; 834 status = "disabled"; 835 }; 836 }; 837 838 vrefbuf: vrefbuf@50025000 { 839 compatible = "st,stm32-vrefbuf"; 840 reg = <0x50025000 0x8>; 841 regulator-min-microvolt = <1500000>; 842 regulator-max-microvolt = <2500000>; 843 clocks = <&rcc VREF>; 844 status = "disabled"; 845 }; 846 847 cryp1: cryp@54001000 { 848 compatible = "st,stm32mp1-cryp"; 849 reg = <0x54001000 0x400>; 850 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 851 clocks = <&rcc CRYP1>; 852 resets = <&rcc CRYP1_R>; 853 status = "disabled"; 854 }; 855 856 rng1: rng@54003000 { 857 compatible = "st,stm32-rng"; 858 reg = <0x54003000 0x400>; 859 clocks = <&rcc RNG1_K>; 860 resets = <&rcc RNG1_R>; 861 status = "disabled"; 862 }; 863 864 mdma1: dma@58000000 { 865 compatible = "st,stm32h7-mdma"; 866 reg = <0x58000000 0x1000>; 867 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 868 clocks = <&rcc MDMA>; 869 #dma-cells = <5>; 870 dma-channels = <32>; 871 dma-requests = <48>; 872 }; 873 874 qspi: qspi@58003000 { 875 compatible = "st,stm32f469-qspi"; 876 reg = <0x58003000 0x1000>, <0x70000000 0x10000000>; 877 reg-names = "qspi", "qspi_mm"; 878 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 879 clocks = <&rcc QSPI_K>; 880 resets = <&rcc QSPI_R>; 881 status = "disabled"; 882 }; 883 884 sdmmc1: sdmmc@58005000 { 885 compatible = "st,stm32-sdmmc2"; 886 reg = <0x58005000 0x1000>, <0x58006000 0x1000>; 887 reg-names = "sdmmc", "delay"; 888 clocks = <&rcc SDMMC1_K>; 889 resets = <&rcc SDMMC1_R>; 890 st,idma = <1>; 891 cap-sd-highspeed; 892 cap-mmc-highspeed; 893 max-frequency = <120000000>; 894 status = "disabled"; 895 }; 896 897 sdmmc2: sdmmc@58007000 { 898 compatible = "st,stm32-sdmmc2"; 899 reg = <0x58007000 0x1000>, <0x58008000 0x1000>; 900 reg-names = "sdmmc", "delay"; 901 interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>; 902 clocks = <&rcc SDMMC2_K>; 903 resets = <&rcc SDMMC2_R>; 904 st,idma = <1>; 905 cap-sd-highspeed; 906 cap-mmc-highspeed; 907 max-frequency = <120000000>; 908 status = "disabled"; 909 }; 910 911 crc1: crc@58009000 { 912 compatible = "st,stm32f7-crc"; 913 reg = <0x58009000 0x400>; 914 clocks = <&rcc CRC1>; 915 status = "disabled"; 916 }; 917 918 usbh_ohci: usbh-ohci@5800c000 { 919 compatible = "generic-ohci"; 920 reg = <0x5800c000 0x1000>; 921 clocks = <&rcc USBH>; 922 resets = <&rcc USBH_R>; 923 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 924 status = "disabled"; 925 }; 926 927 usbh_ehci: usbh-ehci@5800d000 { 928 compatible = "generic-ehci"; 929 reg = <0x5800d000 0x1000>; 930 clocks = <&rcc USBH>; 931 resets = <&rcc USBH_R>; 932 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 933 companion = <&usbh_ohci>; 934 status = "disabled"; 935 }; 936 937 dsi: dsi@5a000000 { 938 compatible = "st,stm32-dsi"; 939 reg = <0x5a000000 0x800>; 940 clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>; 941 clock-names = "pclk", "ref", "px_clk"; 942 resets = <&rcc DSI_R>; 943 reset-names = "apb"; 944 status = "disabled"; 945 }; 946 947 ltdc: display-controller@5a001000 { 948 compatible = "st,stm32-ltdc"; 949 reg = <0x5a001000 0x400>; 950 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 951 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 952 clocks = <&rcc LTDC_PX>; 953 clock-names = "lcd"; 954 resets = <&rcc LTDC_R>; 955 status = "disabled"; 956 }; 957 958 usbphyc: usbphyc@5a006000 { 959 #address-cells = <1>; 960 #size-cells = <0>; 961 compatible = "st,stm32mp1-usbphyc"; 962 reg = <0x5a006000 0x1000>; 963 clocks = <&rcc USBPHY_K>; 964 resets = <&rcc USBPHY_R>; 965 status = "disabled"; 966 967 usbphyc_port0: usb-phy@0 { 968 #phy-cells = <0>; 969 reg = <0>; 970 }; 971 972 usbphyc_port1: usb-phy@1 { 973 #phy-cells = <1>; 974 reg = <1>; 975 }; 976 }; 977 978 usart1: serial@5c000000 { 979 compatible = "st,stm32h7-uart"; 980 reg = <0x5c000000 0x400>; 981 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 982 clocks = <&rcc USART1_K>; 983 status = "disabled"; 984 }; 985 986 i2c4: i2c@5c002000 { 987 compatible = "st,stm32f7-i2c"; 988 reg = <0x5c002000 0x400>; 989 interrupt-names = "event", "error"; 990 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 991 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 992 clocks = <&rcc I2C4_K>; 993 resets = <&rcc I2C4_R>; 994 #address-cells = <1>; 995 #size-cells = <0>; 996 status = "disabled"; 997 }; 998 999 i2c6: i2c@5c009000 { 1000 compatible = "st,stm32f7-i2c"; 1001 reg = <0x5c009000 0x400>; 1002 interrupt-names = "event", "error"; 1003 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 1004 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 1005 clocks = <&rcc I2C6_K>; 1006 resets = <&rcc I2C6_R>; 1007 #address-cells = <1>; 1008 #size-cells = <0>; 1009 status = "disabled"; 1010 }; 1011 }; 1012}; 1013