1*91f16700Schasinglulu// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2*91f16700Schasinglulu/* 3*91f16700Schasinglulu * Copyright (c) 2017-2023, STMicroelectronics - All Rights Reserved 4*91f16700Schasinglulu * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics. 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu#include <dt-bindings/interrupt-controller/arm-gic.h> 7*91f16700Schasinglulu#include <dt-bindings/clock/stm32mp1-clks.h> 8*91f16700Schasinglulu#include <dt-bindings/reset/stm32mp1-resets.h> 9*91f16700Schasinglulu 10*91f16700Schasinglulu/ { 11*91f16700Schasinglulu #address-cells = <1>; 12*91f16700Schasinglulu #size-cells = <1>; 13*91f16700Schasinglulu 14*91f16700Schasinglulu cpus { 15*91f16700Schasinglulu #address-cells = <1>; 16*91f16700Schasinglulu #size-cells = <0>; 17*91f16700Schasinglulu 18*91f16700Schasinglulu cpu0: cpu@0 { 19*91f16700Schasinglulu compatible = "arm,cortex-a7"; 20*91f16700Schasinglulu device_type = "cpu"; 21*91f16700Schasinglulu reg = <0>; 22*91f16700Schasinglulu nvmem-cells = <&part_number_otp>; 23*91f16700Schasinglulu nvmem-cell-names = "part_number"; 24*91f16700Schasinglulu }; 25*91f16700Schasinglulu }; 26*91f16700Schasinglulu 27*91f16700Schasinglulu psci { 28*91f16700Schasinglulu compatible = "arm,psci-1.0"; 29*91f16700Schasinglulu method = "smc"; 30*91f16700Schasinglulu }; 31*91f16700Schasinglulu 32*91f16700Schasinglulu intc: interrupt-controller@a0021000 { 33*91f16700Schasinglulu compatible = "arm,cortex-a7-gic"; 34*91f16700Schasinglulu #interrupt-cells = <3>; 35*91f16700Schasinglulu interrupt-controller; 36*91f16700Schasinglulu reg = <0xa0021000 0x1000>, 37*91f16700Schasinglulu <0xa0022000 0x2000>; 38*91f16700Schasinglulu }; 39*91f16700Schasinglulu 40*91f16700Schasinglulu clocks { 41*91f16700Schasinglulu clk_hse: clk-hse { 42*91f16700Schasinglulu #clock-cells = <0>; 43*91f16700Schasinglulu compatible = "fixed-clock"; 44*91f16700Schasinglulu clock-frequency = <24000000>; 45*91f16700Schasinglulu }; 46*91f16700Schasinglulu 47*91f16700Schasinglulu clk_hsi: clk-hsi { 48*91f16700Schasinglulu #clock-cells = <0>; 49*91f16700Schasinglulu compatible = "fixed-clock"; 50*91f16700Schasinglulu clock-frequency = <64000000>; 51*91f16700Schasinglulu }; 52*91f16700Schasinglulu 53*91f16700Schasinglulu clk_lse: clk-lse { 54*91f16700Schasinglulu #clock-cells = <0>; 55*91f16700Schasinglulu compatible = "fixed-clock"; 56*91f16700Schasinglulu clock-frequency = <32768>; 57*91f16700Schasinglulu }; 58*91f16700Schasinglulu 59*91f16700Schasinglulu clk_lsi: clk-lsi { 60*91f16700Schasinglulu #clock-cells = <0>; 61*91f16700Schasinglulu compatible = "fixed-clock"; 62*91f16700Schasinglulu clock-frequency = <32000>; 63*91f16700Schasinglulu }; 64*91f16700Schasinglulu 65*91f16700Schasinglulu clk_csi: clk-csi { 66*91f16700Schasinglulu #clock-cells = <0>; 67*91f16700Schasinglulu compatible = "fixed-clock"; 68*91f16700Schasinglulu clock-frequency = <4000000>; 69*91f16700Schasinglulu }; 70*91f16700Schasinglulu }; 71*91f16700Schasinglulu 72*91f16700Schasinglulu soc { 73*91f16700Schasinglulu compatible = "simple-bus"; 74*91f16700Schasinglulu #address-cells = <1>; 75*91f16700Schasinglulu #size-cells = <1>; 76*91f16700Schasinglulu interrupt-parent = <&intc>; 77*91f16700Schasinglulu ranges; 78*91f16700Schasinglulu 79*91f16700Schasinglulu timers12: timer@40006000 { 80*91f16700Schasinglulu #address-cells = <1>; 81*91f16700Schasinglulu #size-cells = <0>; 82*91f16700Schasinglulu compatible = "st,stm32-timers"; 83*91f16700Schasinglulu reg = <0x40006000 0x400>; 84*91f16700Schasinglulu clocks = <&rcc TIM12_K>; 85*91f16700Schasinglulu clock-names = "int"; 86*91f16700Schasinglulu status = "disabled"; 87*91f16700Schasinglulu }; 88*91f16700Schasinglulu 89*91f16700Schasinglulu usart2: serial@4000e000 { 90*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 91*91f16700Schasinglulu reg = <0x4000e000 0x400>; 92*91f16700Schasinglulu interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>; 93*91f16700Schasinglulu clocks = <&rcc USART2_K>; 94*91f16700Schasinglulu resets = <&rcc USART2_R>; 95*91f16700Schasinglulu status = "disabled"; 96*91f16700Schasinglulu }; 97*91f16700Schasinglulu 98*91f16700Schasinglulu usart3: serial@4000f000 { 99*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 100*91f16700Schasinglulu reg = <0x4000f000 0x400>; 101*91f16700Schasinglulu interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>; 102*91f16700Schasinglulu clocks = <&rcc USART3_K>; 103*91f16700Schasinglulu resets = <&rcc USART3_R>; 104*91f16700Schasinglulu status = "disabled"; 105*91f16700Schasinglulu }; 106*91f16700Schasinglulu 107*91f16700Schasinglulu uart4: serial@40010000 { 108*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 109*91f16700Schasinglulu reg = <0x40010000 0x400>; 110*91f16700Schasinglulu interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>; 111*91f16700Schasinglulu clocks = <&rcc UART4_K>; 112*91f16700Schasinglulu resets = <&rcc UART4_R>; 113*91f16700Schasinglulu wakeup-source; 114*91f16700Schasinglulu status = "disabled"; 115*91f16700Schasinglulu }; 116*91f16700Schasinglulu 117*91f16700Schasinglulu uart5: serial@40011000 { 118*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 119*91f16700Schasinglulu reg = <0x40011000 0x400>; 120*91f16700Schasinglulu interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>; 121*91f16700Schasinglulu clocks = <&rcc UART5_K>; 122*91f16700Schasinglulu resets = <&rcc UART5_R>; 123*91f16700Schasinglulu status = "disabled"; 124*91f16700Schasinglulu }; 125*91f16700Schasinglulu 126*91f16700Schasinglulu i2c2: i2c@40013000 { 127*91f16700Schasinglulu compatible = "st,stm32mp15-i2c"; 128*91f16700Schasinglulu reg = <0x40013000 0x400>; 129*91f16700Schasinglulu interrupt-names = "event", "error"; 130*91f16700Schasinglulu interrupts-extended = <&exti 22 IRQ_TYPE_LEVEL_HIGH>, 131*91f16700Schasinglulu <&intc GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 132*91f16700Schasinglulu clocks = <&rcc I2C2_K>; 133*91f16700Schasinglulu resets = <&rcc I2C2_R>; 134*91f16700Schasinglulu #address-cells = <1>; 135*91f16700Schasinglulu #size-cells = <0>; 136*91f16700Schasinglulu st,syscfg-fmp = <&syscfg 0x4 0x2>; 137*91f16700Schasinglulu wakeup-source; 138*91f16700Schasinglulu status = "disabled"; 139*91f16700Schasinglulu }; 140*91f16700Schasinglulu 141*91f16700Schasinglulu uart7: serial@40018000 { 142*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 143*91f16700Schasinglulu reg = <0x40018000 0x400>; 144*91f16700Schasinglulu interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>; 145*91f16700Schasinglulu clocks = <&rcc UART7_K>; 146*91f16700Schasinglulu resets = <&rcc UART7_R>; 147*91f16700Schasinglulu status = "disabled"; 148*91f16700Schasinglulu }; 149*91f16700Schasinglulu 150*91f16700Schasinglulu uart8: serial@40019000 { 151*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 152*91f16700Schasinglulu reg = <0x40019000 0x400>; 153*91f16700Schasinglulu interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>; 154*91f16700Schasinglulu clocks = <&rcc UART8_K>; 155*91f16700Schasinglulu resets = <&rcc UART8_R>; 156*91f16700Schasinglulu status = "disabled"; 157*91f16700Schasinglulu }; 158*91f16700Schasinglulu 159*91f16700Schasinglulu usart6: serial@44003000 { 160*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 161*91f16700Schasinglulu reg = <0x44003000 0x400>; 162*91f16700Schasinglulu interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>; 163*91f16700Schasinglulu clocks = <&rcc USART6_K>; 164*91f16700Schasinglulu resets = <&rcc USART6_R>; 165*91f16700Schasinglulu status = "disabled"; 166*91f16700Schasinglulu }; 167*91f16700Schasinglulu 168*91f16700Schasinglulu timers15: timer@44006000 { 169*91f16700Schasinglulu #address-cells = <1>; 170*91f16700Schasinglulu #size-cells = <0>; 171*91f16700Schasinglulu compatible = "st,stm32-timers"; 172*91f16700Schasinglulu reg = <0x44006000 0x400>; 173*91f16700Schasinglulu clocks = <&rcc TIM15_K>; 174*91f16700Schasinglulu clock-names = "int"; 175*91f16700Schasinglulu status = "disabled"; 176*91f16700Schasinglulu }; 177*91f16700Schasinglulu 178*91f16700Schasinglulu usbotg_hs: usb-otg@49000000 { 179*91f16700Schasinglulu compatible = "st,stm32mp15-hsotg", "snps,dwc2"; 180*91f16700Schasinglulu reg = <0x49000000 0x10000>; 181*91f16700Schasinglulu clocks = <&rcc USBO_K>; 182*91f16700Schasinglulu clock-names = "otg"; 183*91f16700Schasinglulu resets = <&rcc USBO_R>; 184*91f16700Schasinglulu reset-names = "dwc2"; 185*91f16700Schasinglulu interrupts-extended = <&exti 44 IRQ_TYPE_LEVEL_HIGH>; 186*91f16700Schasinglulu g-rx-fifo-size = <512>; 187*91f16700Schasinglulu g-np-tx-fifo-size = <32>; 188*91f16700Schasinglulu g-tx-fifo-size = <256 16 16 16 16 16 16 16>; 189*91f16700Schasinglulu dr_mode = "otg"; 190*91f16700Schasinglulu usb33d-supply = <&usb33>; 191*91f16700Schasinglulu status = "disabled"; 192*91f16700Schasinglulu }; 193*91f16700Schasinglulu 194*91f16700Schasinglulu rcc: rcc@50000000 { 195*91f16700Schasinglulu compatible = "st,stm32mp1-rcc", "syscon"; 196*91f16700Schasinglulu reg = <0x50000000 0x1000>; 197*91f16700Schasinglulu #address-cells = <1>; 198*91f16700Schasinglulu #size-cells = <0>; 199*91f16700Schasinglulu #clock-cells = <1>; 200*91f16700Schasinglulu #reset-cells = <1>; 201*91f16700Schasinglulu interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 202*91f16700Schasinglulu secure-interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 203*91f16700Schasinglulu secure-interrupt-names = "wakeup"; 204*91f16700Schasinglulu }; 205*91f16700Schasinglulu 206*91f16700Schasinglulu pwr_regulators: pwr@50001000 { 207*91f16700Schasinglulu compatible = "st,stm32mp1,pwr-reg"; 208*91f16700Schasinglulu reg = <0x50001000 0x10>; 209*91f16700Schasinglulu st,tzcr = <&rcc 0x0 0x1>; 210*91f16700Schasinglulu 211*91f16700Schasinglulu reg11: reg11 { 212*91f16700Schasinglulu regulator-name = "reg11"; 213*91f16700Schasinglulu regulator-min-microvolt = <1100000>; 214*91f16700Schasinglulu regulator-max-microvolt = <1100000>; 215*91f16700Schasinglulu }; 216*91f16700Schasinglulu 217*91f16700Schasinglulu reg18: reg18 { 218*91f16700Schasinglulu regulator-name = "reg18"; 219*91f16700Schasinglulu regulator-min-microvolt = <1800000>; 220*91f16700Schasinglulu regulator-max-microvolt = <1800000>; 221*91f16700Schasinglulu }; 222*91f16700Schasinglulu 223*91f16700Schasinglulu usb33: usb33 { 224*91f16700Schasinglulu regulator-name = "usb33"; 225*91f16700Schasinglulu regulator-min-microvolt = <3300000>; 226*91f16700Schasinglulu regulator-max-microvolt = <3300000>; 227*91f16700Schasinglulu }; 228*91f16700Schasinglulu }; 229*91f16700Schasinglulu 230*91f16700Schasinglulu pwr_mcu: pwr_mcu@50001014 { 231*91f16700Schasinglulu compatible = "st,stm32mp151-pwr-mcu", "syscon"; 232*91f16700Schasinglulu reg = <0x50001014 0x4>; 233*91f16700Schasinglulu }; 234*91f16700Schasinglulu 235*91f16700Schasinglulu pwr_irq: pwr@50001020 { 236*91f16700Schasinglulu compatible = "st,stm32mp1-pwr"; 237*91f16700Schasinglulu reg = <0x50001020 0x100>; 238*91f16700Schasinglulu interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 239*91f16700Schasinglulu interrupt-controller; 240*91f16700Schasinglulu #interrupt-cells = <3>; 241*91f16700Schasinglulu }; 242*91f16700Schasinglulu 243*91f16700Schasinglulu exti: interrupt-controller@5000d000 { 244*91f16700Schasinglulu compatible = "st,stm32mp1-exti", "syscon"; 245*91f16700Schasinglulu interrupt-controller; 246*91f16700Schasinglulu #interrupt-cells = <2>; 247*91f16700Schasinglulu reg = <0x5000d000 0x400>; 248*91f16700Schasinglulu 249*91f16700Schasinglulu /* exti_pwr is an extra interrupt controller used for 250*91f16700Schasinglulu * EXTI 55 to 60. It's mapped on pwr interrupt 251*91f16700Schasinglulu * controller. 252*91f16700Schasinglulu */ 253*91f16700Schasinglulu exti_pwr: exti-pwr { 254*91f16700Schasinglulu interrupt-controller; 255*91f16700Schasinglulu #interrupt-cells = <2>; 256*91f16700Schasinglulu interrupt-parent = <&pwr_irq>; 257*91f16700Schasinglulu st,irq-number = <6>; 258*91f16700Schasinglulu }; 259*91f16700Schasinglulu }; 260*91f16700Schasinglulu 261*91f16700Schasinglulu syscfg: syscon@50020000 { 262*91f16700Schasinglulu compatible = "st,stm32mp157-syscfg", "syscon"; 263*91f16700Schasinglulu reg = <0x50020000 0x400>; 264*91f16700Schasinglulu clocks = <&rcc SYSCFG>; 265*91f16700Schasinglulu }; 266*91f16700Schasinglulu 267*91f16700Schasinglulu hash1: hash@54002000 { 268*91f16700Schasinglulu compatible = "st,stm32f756-hash"; 269*91f16700Schasinglulu reg = <0x54002000 0x400>; 270*91f16700Schasinglulu interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 271*91f16700Schasinglulu clocks = <&rcc HASH1>; 272*91f16700Schasinglulu resets = <&rcc HASH1_R>; 273*91f16700Schasinglulu status = "disabled"; 274*91f16700Schasinglulu }; 275*91f16700Schasinglulu 276*91f16700Schasinglulu rng1: rng@54003000 { 277*91f16700Schasinglulu compatible = "st,stm32-rng"; 278*91f16700Schasinglulu reg = <0x54003000 0x400>; 279*91f16700Schasinglulu clocks = <&rcc RNG1_K>; 280*91f16700Schasinglulu resets = <&rcc RNG1_R>; 281*91f16700Schasinglulu status = "disabled"; 282*91f16700Schasinglulu }; 283*91f16700Schasinglulu 284*91f16700Schasinglulu fmc: memory-controller@58002000 { 285*91f16700Schasinglulu #address-cells = <2>; 286*91f16700Schasinglulu #size-cells = <1>; 287*91f16700Schasinglulu compatible = "st,stm32mp1-fmc2-ebi"; 288*91f16700Schasinglulu reg = <0x58002000 0x1000>; 289*91f16700Schasinglulu clocks = <&rcc FMC_K>; 290*91f16700Schasinglulu resets = <&rcc FMC_R>; 291*91f16700Schasinglulu status = "disabled"; 292*91f16700Schasinglulu 293*91f16700Schasinglulu ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */ 294*91f16700Schasinglulu <1 0 0x64000000 0x04000000>, /* EBI CS 2 */ 295*91f16700Schasinglulu <2 0 0x68000000 0x04000000>, /* EBI CS 3 */ 296*91f16700Schasinglulu <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */ 297*91f16700Schasinglulu <4 0 0x80000000 0x10000000>; /* NAND */ 298*91f16700Schasinglulu 299*91f16700Schasinglulu nand-controller@4,0 { 300*91f16700Schasinglulu #address-cells = <1>; 301*91f16700Schasinglulu #size-cells = <0>; 302*91f16700Schasinglulu compatible = "st,stm32mp1-fmc2-nfc"; 303*91f16700Schasinglulu reg = <4 0x00000000 0x1000>, 304*91f16700Schasinglulu <4 0x08010000 0x1000>, 305*91f16700Schasinglulu <4 0x08020000 0x1000>, 306*91f16700Schasinglulu <4 0x01000000 0x1000>, 307*91f16700Schasinglulu <4 0x09010000 0x1000>, 308*91f16700Schasinglulu <4 0x09020000 0x1000>; 309*91f16700Schasinglulu interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 310*91f16700Schasinglulu status = "disabled"; 311*91f16700Schasinglulu }; 312*91f16700Schasinglulu }; 313*91f16700Schasinglulu 314*91f16700Schasinglulu qspi: spi@58003000 { 315*91f16700Schasinglulu compatible = "st,stm32f469-qspi"; 316*91f16700Schasinglulu reg = <0x58003000 0x1000>, <0x70000000 0x10000000>; 317*91f16700Schasinglulu reg-names = "qspi", "qspi_mm"; 318*91f16700Schasinglulu interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 319*91f16700Schasinglulu clocks = <&rcc QSPI_K>; 320*91f16700Schasinglulu resets = <&rcc QSPI_R>; 321*91f16700Schasinglulu status = "disabled"; 322*91f16700Schasinglulu }; 323*91f16700Schasinglulu 324*91f16700Schasinglulu sdmmc1: mmc@58005000 { 325*91f16700Schasinglulu compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 326*91f16700Schasinglulu arm,primecell-periphid = <0x00253180>; 327*91f16700Schasinglulu reg = <0x58005000 0x1000>; 328*91f16700Schasinglulu interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 329*91f16700Schasinglulu clocks = <&rcc SDMMC1_K>; 330*91f16700Schasinglulu clock-names = "apb_pclk"; 331*91f16700Schasinglulu resets = <&rcc SDMMC1_R>; 332*91f16700Schasinglulu cap-sd-highspeed; 333*91f16700Schasinglulu cap-mmc-highspeed; 334*91f16700Schasinglulu max-frequency = <120000000>; 335*91f16700Schasinglulu status = "disabled"; 336*91f16700Schasinglulu }; 337*91f16700Schasinglulu 338*91f16700Schasinglulu sdmmc2: mmc@58007000 { 339*91f16700Schasinglulu compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 340*91f16700Schasinglulu arm,primecell-periphid = <0x00253180>; 341*91f16700Schasinglulu reg = <0x58007000 0x1000>; 342*91f16700Schasinglulu interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 343*91f16700Schasinglulu clocks = <&rcc SDMMC2_K>; 344*91f16700Schasinglulu clock-names = "apb_pclk"; 345*91f16700Schasinglulu resets = <&rcc SDMMC2_R>; 346*91f16700Schasinglulu cap-sd-highspeed; 347*91f16700Schasinglulu cap-mmc-highspeed; 348*91f16700Schasinglulu max-frequency = <120000000>; 349*91f16700Schasinglulu status = "disabled"; 350*91f16700Schasinglulu }; 351*91f16700Schasinglulu 352*91f16700Schasinglulu iwdg2: watchdog@5a002000 { 353*91f16700Schasinglulu compatible = "st,stm32mp1-iwdg"; 354*91f16700Schasinglulu reg = <0x5a002000 0x400>; 355*91f16700Schasinglulu secure-interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 356*91f16700Schasinglulu clocks = <&rcc IWDG2>, <&rcc CK_LSI>; 357*91f16700Schasinglulu clock-names = "pclk", "lsi"; 358*91f16700Schasinglulu status = "disabled"; 359*91f16700Schasinglulu }; 360*91f16700Schasinglulu 361*91f16700Schasinglulu ddr: ddr@5a003000 { 362*91f16700Schasinglulu compatible = "st,stm32mp1-ddr"; 363*91f16700Schasinglulu reg = <0x5A003000 0x550 0x5A004000 0x234>; 364*91f16700Schasinglulu clocks = <&rcc AXIDCG>, 365*91f16700Schasinglulu <&rcc DDRC1>, 366*91f16700Schasinglulu <&rcc DDRC2>, 367*91f16700Schasinglulu <&rcc DDRPHYC>, 368*91f16700Schasinglulu <&rcc DDRCAPB>, 369*91f16700Schasinglulu <&rcc DDRPHYCAPB>; 370*91f16700Schasinglulu clock-names = "axidcg", 371*91f16700Schasinglulu "ddrc1", 372*91f16700Schasinglulu "ddrc2", 373*91f16700Schasinglulu "ddrphyc", 374*91f16700Schasinglulu "ddrcapb", 375*91f16700Schasinglulu "ddrphycapb"; 376*91f16700Schasinglulu status = "okay"; 377*91f16700Schasinglulu }; 378*91f16700Schasinglulu 379*91f16700Schasinglulu usbphyc: usbphyc@5a006000 { 380*91f16700Schasinglulu #address-cells = <1>; 381*91f16700Schasinglulu #size-cells = <0>; 382*91f16700Schasinglulu #clock-cells = <0>; 383*91f16700Schasinglulu compatible = "st,stm32mp1-usbphyc"; 384*91f16700Schasinglulu reg = <0x5a006000 0x1000>; 385*91f16700Schasinglulu clocks = <&rcc USBPHY_K>; 386*91f16700Schasinglulu resets = <&rcc USBPHY_R>; 387*91f16700Schasinglulu vdda1v1-supply = <®11>; 388*91f16700Schasinglulu vdda1v8-supply = <®18>; 389*91f16700Schasinglulu status = "disabled"; 390*91f16700Schasinglulu 391*91f16700Schasinglulu usbphyc_port0: usb-phy@0 { 392*91f16700Schasinglulu #phy-cells = <0>; 393*91f16700Schasinglulu reg = <0>; 394*91f16700Schasinglulu }; 395*91f16700Schasinglulu 396*91f16700Schasinglulu usbphyc_port1: usb-phy@1 { 397*91f16700Schasinglulu #phy-cells = <1>; 398*91f16700Schasinglulu reg = <1>; 399*91f16700Schasinglulu }; 400*91f16700Schasinglulu }; 401*91f16700Schasinglulu 402*91f16700Schasinglulu usart1: serial@5c000000 { 403*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 404*91f16700Schasinglulu reg = <0x5c000000 0x400>; 405*91f16700Schasinglulu interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 406*91f16700Schasinglulu clocks = <&rcc USART1_K>; 407*91f16700Schasinglulu resets = <&rcc USART1_R>; 408*91f16700Schasinglulu status = "disabled"; 409*91f16700Schasinglulu }; 410*91f16700Schasinglulu 411*91f16700Schasinglulu spi6: spi@5c001000 { 412*91f16700Schasinglulu #address-cells = <1>; 413*91f16700Schasinglulu #size-cells = <0>; 414*91f16700Schasinglulu compatible = "st,stm32h7-spi"; 415*91f16700Schasinglulu reg = <0x5c001000 0x400>; 416*91f16700Schasinglulu interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 417*91f16700Schasinglulu clocks = <&rcc SPI6_K>; 418*91f16700Schasinglulu resets = <&rcc SPI6_R>; 419*91f16700Schasinglulu status = "disabled"; 420*91f16700Schasinglulu }; 421*91f16700Schasinglulu 422*91f16700Schasinglulu i2c4: i2c@5c002000 { 423*91f16700Schasinglulu compatible = "st,stm32mp15-i2c"; 424*91f16700Schasinglulu reg = <0x5c002000 0x400>; 425*91f16700Schasinglulu interrupt-names = "event", "error"; 426*91f16700Schasinglulu interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>, 427*91f16700Schasinglulu <&intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 428*91f16700Schasinglulu clocks = <&rcc I2C4_K>; 429*91f16700Schasinglulu resets = <&rcc I2C4_R>; 430*91f16700Schasinglulu #address-cells = <1>; 431*91f16700Schasinglulu #size-cells = <0>; 432*91f16700Schasinglulu st,syscfg-fmp = <&syscfg 0x4 0x8>; 433*91f16700Schasinglulu wakeup-source; 434*91f16700Schasinglulu status = "disabled"; 435*91f16700Schasinglulu }; 436*91f16700Schasinglulu 437*91f16700Schasinglulu iwdg1: watchdog@5c003000 { 438*91f16700Schasinglulu compatible = "st,stm32mp1-iwdg"; 439*91f16700Schasinglulu reg = <0x5C003000 0x400>; 440*91f16700Schasinglulu interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 441*91f16700Schasinglulu clocks = <&rcc IWDG1>, <&rcc CK_LSI>; 442*91f16700Schasinglulu clock-names = "pclk", "lsi"; 443*91f16700Schasinglulu status = "disabled"; 444*91f16700Schasinglulu }; 445*91f16700Schasinglulu 446*91f16700Schasinglulu rtc: rtc@5c004000 { 447*91f16700Schasinglulu compatible = "st,stm32mp1-rtc"; 448*91f16700Schasinglulu reg = <0x5c004000 0x400>; 449*91f16700Schasinglulu clocks = <&rcc RTCAPB>, <&rcc RTC>; 450*91f16700Schasinglulu clock-names = "pclk", "rtc_ck"; 451*91f16700Schasinglulu interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>; 452*91f16700Schasinglulu status = "disabled"; 453*91f16700Schasinglulu }; 454*91f16700Schasinglulu 455*91f16700Schasinglulu bsec: efuse@5c005000 { 456*91f16700Schasinglulu compatible = "st,stm32mp15-bsec"; 457*91f16700Schasinglulu reg = <0x5c005000 0x400>; 458*91f16700Schasinglulu #address-cells = <1>; 459*91f16700Schasinglulu #size-cells = <1>; 460*91f16700Schasinglulu 461*91f16700Schasinglulu cfg0_otp: cfg0_otp@0 { 462*91f16700Schasinglulu reg = <0x0 0x1>; 463*91f16700Schasinglulu }; 464*91f16700Schasinglulu part_number_otp: part-number-otp@4 { 465*91f16700Schasinglulu reg = <0x4 0x1>; 466*91f16700Schasinglulu }; 467*91f16700Schasinglulu monotonic_otp: monotonic_otp@10 { 468*91f16700Schasinglulu reg = <0x10 0x4>; 469*91f16700Schasinglulu }; 470*91f16700Schasinglulu nand_otp: nand_otp@24 { 471*91f16700Schasinglulu reg = <0x24 0x4>; 472*91f16700Schasinglulu }; 473*91f16700Schasinglulu uid_otp: uid_otp@34 { 474*91f16700Schasinglulu reg = <0x34 0xc>; 475*91f16700Schasinglulu }; 476*91f16700Schasinglulu package_otp: package_otp@40 { 477*91f16700Schasinglulu reg = <0x40 0x4>; 478*91f16700Schasinglulu }; 479*91f16700Schasinglulu hw2_otp: hw2_otp@48 { 480*91f16700Schasinglulu reg = <0x48 0x4>; 481*91f16700Schasinglulu }; 482*91f16700Schasinglulu ts_cal1: calib@5c { 483*91f16700Schasinglulu reg = <0x5c 0x2>; 484*91f16700Schasinglulu }; 485*91f16700Schasinglulu ts_cal2: calib@5e { 486*91f16700Schasinglulu reg = <0x5e 0x2>; 487*91f16700Schasinglulu }; 488*91f16700Schasinglulu pkh_otp: pkh_otp@60 { 489*91f16700Schasinglulu reg = <0x60 0x20>; 490*91f16700Schasinglulu }; 491*91f16700Schasinglulu mac_addr: mac_addr@e4 { 492*91f16700Schasinglulu reg = <0xe4 0x8>; 493*91f16700Schasinglulu st,non-secure-otp; 494*91f16700Schasinglulu }; 495*91f16700Schasinglulu }; 496*91f16700Schasinglulu 497*91f16700Schasinglulu etzpc: etzpc@5c007000 { 498*91f16700Schasinglulu compatible = "st,stm32-etzpc"; 499*91f16700Schasinglulu reg = <0x5C007000 0x400>; 500*91f16700Schasinglulu clocks = <&rcc TZPC>; 501*91f16700Schasinglulu }; 502*91f16700Schasinglulu 503*91f16700Schasinglulu stgen: stgen@5c008000 { 504*91f16700Schasinglulu compatible = "st,stm32-stgen"; 505*91f16700Schasinglulu reg = <0x5C008000 0x1000>; 506*91f16700Schasinglulu }; 507*91f16700Schasinglulu 508*91f16700Schasinglulu i2c6: i2c@5c009000 { 509*91f16700Schasinglulu compatible = "st,stm32mp15-i2c"; 510*91f16700Schasinglulu reg = <0x5c009000 0x400>; 511*91f16700Schasinglulu interrupt-names = "event", "error"; 512*91f16700Schasinglulu interrupts-extended = <&exti 54 IRQ_TYPE_LEVEL_HIGH>, 513*91f16700Schasinglulu <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 514*91f16700Schasinglulu clocks = <&rcc I2C6_K>; 515*91f16700Schasinglulu resets = <&rcc I2C6_R>; 516*91f16700Schasinglulu #address-cells = <1>; 517*91f16700Schasinglulu #size-cells = <0>; 518*91f16700Schasinglulu st,syscfg-fmp = <&syscfg 0x4 0x20>; 519*91f16700Schasinglulu wakeup-source; 520*91f16700Schasinglulu status = "disabled"; 521*91f16700Schasinglulu }; 522*91f16700Schasinglulu 523*91f16700Schasinglulu tamp: tamp@5c00a000 { 524*91f16700Schasinglulu compatible = "st,stm32-tamp", "syscon", "simple-mfd"; 525*91f16700Schasinglulu reg = <0x5c00a000 0x400>; 526*91f16700Schasinglulu secure-interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; 527*91f16700Schasinglulu clocks = <&rcc RTCAPB>; 528*91f16700Schasinglulu }; 529*91f16700Schasinglulu 530*91f16700Schasinglulu /* 531*91f16700Schasinglulu * Break node order to solve dependency probe issue between 532*91f16700Schasinglulu * pinctrl and exti. 533*91f16700Schasinglulu */ 534*91f16700Schasinglulu pinctrl: pinctrl@50002000 { 535*91f16700Schasinglulu #address-cells = <1>; 536*91f16700Schasinglulu #size-cells = <1>; 537*91f16700Schasinglulu compatible = "st,stm32mp157-pinctrl"; 538*91f16700Schasinglulu ranges = <0 0x50002000 0xa400>; 539*91f16700Schasinglulu interrupt-parent = <&exti>; 540*91f16700Schasinglulu st,syscfg = <&exti 0x60 0xff>; 541*91f16700Schasinglulu 542*91f16700Schasinglulu gpioa: gpio@50002000 { 543*91f16700Schasinglulu gpio-controller; 544*91f16700Schasinglulu #gpio-cells = <2>; 545*91f16700Schasinglulu interrupt-controller; 546*91f16700Schasinglulu #interrupt-cells = <2>; 547*91f16700Schasinglulu reg = <0x0 0x400>; 548*91f16700Schasinglulu clocks = <&rcc GPIOA>; 549*91f16700Schasinglulu st,bank-name = "GPIOA"; 550*91f16700Schasinglulu status = "disabled"; 551*91f16700Schasinglulu }; 552*91f16700Schasinglulu 553*91f16700Schasinglulu gpiob: gpio@50003000 { 554*91f16700Schasinglulu gpio-controller; 555*91f16700Schasinglulu #gpio-cells = <2>; 556*91f16700Schasinglulu interrupt-controller; 557*91f16700Schasinglulu #interrupt-cells = <2>; 558*91f16700Schasinglulu reg = <0x1000 0x400>; 559*91f16700Schasinglulu clocks = <&rcc GPIOB>; 560*91f16700Schasinglulu st,bank-name = "GPIOB"; 561*91f16700Schasinglulu status = "disabled"; 562*91f16700Schasinglulu }; 563*91f16700Schasinglulu 564*91f16700Schasinglulu gpioc: gpio@50004000 { 565*91f16700Schasinglulu gpio-controller; 566*91f16700Schasinglulu #gpio-cells = <2>; 567*91f16700Schasinglulu interrupt-controller; 568*91f16700Schasinglulu #interrupt-cells = <2>; 569*91f16700Schasinglulu reg = <0x2000 0x400>; 570*91f16700Schasinglulu clocks = <&rcc GPIOC>; 571*91f16700Schasinglulu st,bank-name = "GPIOC"; 572*91f16700Schasinglulu status = "disabled"; 573*91f16700Schasinglulu }; 574*91f16700Schasinglulu 575*91f16700Schasinglulu gpiod: gpio@50005000 { 576*91f16700Schasinglulu gpio-controller; 577*91f16700Schasinglulu #gpio-cells = <2>; 578*91f16700Schasinglulu interrupt-controller; 579*91f16700Schasinglulu #interrupt-cells = <2>; 580*91f16700Schasinglulu reg = <0x3000 0x400>; 581*91f16700Schasinglulu clocks = <&rcc GPIOD>; 582*91f16700Schasinglulu st,bank-name = "GPIOD"; 583*91f16700Schasinglulu status = "disabled"; 584*91f16700Schasinglulu }; 585*91f16700Schasinglulu 586*91f16700Schasinglulu gpioe: gpio@50006000 { 587*91f16700Schasinglulu gpio-controller; 588*91f16700Schasinglulu #gpio-cells = <2>; 589*91f16700Schasinglulu interrupt-controller; 590*91f16700Schasinglulu #interrupt-cells = <2>; 591*91f16700Schasinglulu reg = <0x4000 0x400>; 592*91f16700Schasinglulu clocks = <&rcc GPIOE>; 593*91f16700Schasinglulu st,bank-name = "GPIOE"; 594*91f16700Schasinglulu status = "disabled"; 595*91f16700Schasinglulu }; 596*91f16700Schasinglulu 597*91f16700Schasinglulu gpiof: gpio@50007000 { 598*91f16700Schasinglulu gpio-controller; 599*91f16700Schasinglulu #gpio-cells = <2>; 600*91f16700Schasinglulu interrupt-controller; 601*91f16700Schasinglulu #interrupt-cells = <2>; 602*91f16700Schasinglulu reg = <0x5000 0x400>; 603*91f16700Schasinglulu clocks = <&rcc GPIOF>; 604*91f16700Schasinglulu st,bank-name = "GPIOF"; 605*91f16700Schasinglulu status = "disabled"; 606*91f16700Schasinglulu }; 607*91f16700Schasinglulu 608*91f16700Schasinglulu gpiog: gpio@50008000 { 609*91f16700Schasinglulu gpio-controller; 610*91f16700Schasinglulu #gpio-cells = <2>; 611*91f16700Schasinglulu interrupt-controller; 612*91f16700Schasinglulu #interrupt-cells = <2>; 613*91f16700Schasinglulu reg = <0x6000 0x400>; 614*91f16700Schasinglulu clocks = <&rcc GPIOG>; 615*91f16700Schasinglulu st,bank-name = "GPIOG"; 616*91f16700Schasinglulu status = "disabled"; 617*91f16700Schasinglulu }; 618*91f16700Schasinglulu 619*91f16700Schasinglulu gpioh: gpio@50009000 { 620*91f16700Schasinglulu gpio-controller; 621*91f16700Schasinglulu #gpio-cells = <2>; 622*91f16700Schasinglulu interrupt-controller; 623*91f16700Schasinglulu #interrupt-cells = <2>; 624*91f16700Schasinglulu reg = <0x7000 0x400>; 625*91f16700Schasinglulu clocks = <&rcc GPIOH>; 626*91f16700Schasinglulu st,bank-name = "GPIOH"; 627*91f16700Schasinglulu status = "disabled"; 628*91f16700Schasinglulu }; 629*91f16700Schasinglulu 630*91f16700Schasinglulu gpioi: gpio@5000a000 { 631*91f16700Schasinglulu gpio-controller; 632*91f16700Schasinglulu #gpio-cells = <2>; 633*91f16700Schasinglulu interrupt-controller; 634*91f16700Schasinglulu #interrupt-cells = <2>; 635*91f16700Schasinglulu reg = <0x8000 0x400>; 636*91f16700Schasinglulu clocks = <&rcc GPIOI>; 637*91f16700Schasinglulu st,bank-name = "GPIOI"; 638*91f16700Schasinglulu status = "disabled"; 639*91f16700Schasinglulu }; 640*91f16700Schasinglulu 641*91f16700Schasinglulu gpioj: gpio@5000b000 { 642*91f16700Schasinglulu gpio-controller; 643*91f16700Schasinglulu #gpio-cells = <2>; 644*91f16700Schasinglulu interrupt-controller; 645*91f16700Schasinglulu #interrupt-cells = <2>; 646*91f16700Schasinglulu reg = <0x9000 0x400>; 647*91f16700Schasinglulu clocks = <&rcc GPIOJ>; 648*91f16700Schasinglulu st,bank-name = "GPIOJ"; 649*91f16700Schasinglulu status = "disabled"; 650*91f16700Schasinglulu }; 651*91f16700Schasinglulu 652*91f16700Schasinglulu gpiok: gpio@5000c000 { 653*91f16700Schasinglulu gpio-controller; 654*91f16700Schasinglulu #gpio-cells = <2>; 655*91f16700Schasinglulu interrupt-controller; 656*91f16700Schasinglulu #interrupt-cells = <2>; 657*91f16700Schasinglulu reg = <0xa000 0x400>; 658*91f16700Schasinglulu clocks = <&rcc GPIOK>; 659*91f16700Schasinglulu st,bank-name = "GPIOK"; 660*91f16700Schasinglulu status = "disabled"; 661*91f16700Schasinglulu }; 662*91f16700Schasinglulu }; 663*91f16700Schasinglulu 664*91f16700Schasinglulu pinctrl_z: pinctrl@54004000 { 665*91f16700Schasinglulu #address-cells = <1>; 666*91f16700Schasinglulu #size-cells = <1>; 667*91f16700Schasinglulu compatible = "st,stm32mp157-z-pinctrl"; 668*91f16700Schasinglulu ranges = <0 0x54004000 0x400>; 669*91f16700Schasinglulu interrupt-parent = <&exti>; 670*91f16700Schasinglulu st,syscfg = <&exti 0x60 0xff>; 671*91f16700Schasinglulu 672*91f16700Schasinglulu gpioz: gpio@54004000 { 673*91f16700Schasinglulu gpio-controller; 674*91f16700Schasinglulu #gpio-cells = <2>; 675*91f16700Schasinglulu interrupt-controller; 676*91f16700Schasinglulu #interrupt-cells = <2>; 677*91f16700Schasinglulu reg = <0 0x400>; 678*91f16700Schasinglulu clocks = <&rcc GPIOZ>; 679*91f16700Schasinglulu st,bank-name = "GPIOZ"; 680*91f16700Schasinglulu st,bank-ioport = <11>; 681*91f16700Schasinglulu status = "disabled"; 682*91f16700Schasinglulu }; 683*91f16700Schasinglulu }; 684*91f16700Schasinglulu }; 685*91f16700Schasinglulu}; 686