Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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