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