1*b4cf4102SNicolas Le Bayon// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 2*b4cf4102SNicolas Le Bayon/* 3*b4cf4102SNicolas Le Bayon * Copyright (c) 2026, STMicroelectronics - All Rights Reserved 4*b4cf4102SNicolas Le Bayon * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5*b4cf4102SNicolas Le Bayon */ 6*b4cf4102SNicolas Le Bayon#include <dt-bindings/clock/st,stm32mp21-rcc.h> 7*b4cf4102SNicolas Le Bayon#include <dt-bindings/interrupt-controller/arm-gic.h> 8*b4cf4102SNicolas Le Bayon#include <dt-bindings/reset/st,stm32mp21-rcc.h> 9*b4cf4102SNicolas Le Bayon 10*b4cf4102SNicolas Le Bayon/ { 11*b4cf4102SNicolas Le Bayon #address-cells = <2>; 12*b4cf4102SNicolas Le Bayon #size-cells = <2>; 13*b4cf4102SNicolas Le Bayon 14*b4cf4102SNicolas Le Bayon cpus { 15*b4cf4102SNicolas Le Bayon #address-cells = <1>; 16*b4cf4102SNicolas Le Bayon #size-cells = <0>; 17*b4cf4102SNicolas Le Bayon 18*b4cf4102SNicolas Le Bayon cpu0: cpu@0 { 19*b4cf4102SNicolas Le Bayon compatible = "arm,cortex-a35"; 20*b4cf4102SNicolas Le Bayon device_type = "cpu"; 21*b4cf4102SNicolas Le Bayon reg = <0>; 22*b4cf4102SNicolas Le Bayon enable-method = "psci"; 23*b4cf4102SNicolas Le Bayon }; 24*b4cf4102SNicolas Le Bayon 25*b4cf4102SNicolas Le Bayon domain-idle-states { 26*b4cf4102SNicolas Le Bayon domain-stop1 { 27*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 28*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x00000011>; 29*b4cf4102SNicolas Le Bayon }; 30*b4cf4102SNicolas Le Bayon 31*b4cf4102SNicolas Le Bayon domain-lp-stop1 { 32*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 33*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x00000021>; 34*b4cf4102SNicolas Le Bayon }; 35*b4cf4102SNicolas Le Bayon 36*b4cf4102SNicolas Le Bayon domain-lplv-stop1 { 37*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 38*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x00000211>; 39*b4cf4102SNicolas Le Bayon }; 40*b4cf4102SNicolas Le Bayon 41*b4cf4102SNicolas Le Bayon domain-stop2 { 42*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 43*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x40001333>; 44*b4cf4102SNicolas Le Bayon }; 45*b4cf4102SNicolas Le Bayon 46*b4cf4102SNicolas Le Bayon domain-lp-stop2 { 47*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 48*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x40002333>; 49*b4cf4102SNicolas Le Bayon }; 50*b4cf4102SNicolas Le Bayon 51*b4cf4102SNicolas Le Bayon domain-lplv-stop2 { 52*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 53*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x40023333>; 54*b4cf4102SNicolas Le Bayon }; 55*b4cf4102SNicolas Le Bayon 56*b4cf4102SNicolas Le Bayon domain-standby { 57*b4cf4102SNicolas Le Bayon compatible = "domain-idle-state"; 58*b4cf4102SNicolas Le Bayon arm,psci-suspend-param = <0x40033333>; 59*b4cf4102SNicolas Le Bayon }; 60*b4cf4102SNicolas Le Bayon }; 61*b4cf4102SNicolas Le Bayon }; 62*b4cf4102SNicolas Le Bayon 63*b4cf4102SNicolas Le Bayon intc: interrupt-controller@4ac00000 { 64*b4cf4102SNicolas Le Bayon compatible = "arm,cortex-a7-gic"; 65*b4cf4102SNicolas Le Bayon #interrupt-cells = <3>; 66*b4cf4102SNicolas Le Bayon interrupt-controller; 67*b4cf4102SNicolas Le Bayon reg = <0x0 0x4ac10000 0x0 0x1000>, 68*b4cf4102SNicolas Le Bayon <0x0 0x4ac20000 0x0 0x2000>, 69*b4cf4102SNicolas Le Bayon <0x0 0x4ac40000 0x0 0x2000>, 70*b4cf4102SNicolas Le Bayon <0x0 0x4ac60000 0x0 0x2000>; 71*b4cf4102SNicolas Le Bayon }; 72*b4cf4102SNicolas Le Bayon 73*b4cf4102SNicolas Le Bayon timer: timer { 74*b4cf4102SNicolas Le Bayon compatible = "arm,armv8-timer"; 75*b4cf4102SNicolas Le Bayon interrupt-parent = <&intc>; 76*b4cf4102SNicolas Le Bayon interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 77*b4cf4102SNicolas Le Bayon <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 78*b4cf4102SNicolas Le Bayon <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 79*b4cf4102SNicolas Le Bayon <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 80*b4cf4102SNicolas Le Bayon always-on; 81*b4cf4102SNicolas Le Bayon }; 82*b4cf4102SNicolas Le Bayon 83*b4cf4102SNicolas Le Bayon clocks { 84*b4cf4102SNicolas Le Bayon clk_hse: clk-hse { 85*b4cf4102SNicolas Le Bayon #clock-cells = <0>; 86*b4cf4102SNicolas Le Bayon compatible = "fixed-clock"; 87*b4cf4102SNicolas Le Bayon clock-frequency = <48000000>; 88*b4cf4102SNicolas Le Bayon }; 89*b4cf4102SNicolas Le Bayon 90*b4cf4102SNicolas Le Bayon clk_hsi: clk-hsi { 91*b4cf4102SNicolas Le Bayon #clock-cells = <0>; 92*b4cf4102SNicolas Le Bayon compatible = "fixed-clock"; 93*b4cf4102SNicolas Le Bayon clock-frequency = <64000000>; 94*b4cf4102SNicolas Le Bayon }; 95*b4cf4102SNicolas Le Bayon 96*b4cf4102SNicolas Le Bayon clk_lse: clk-lse { 97*b4cf4102SNicolas Le Bayon #clock-cells = <0>; 98*b4cf4102SNicolas Le Bayon compatible = "fixed-clock"; 99*b4cf4102SNicolas Le Bayon clock-frequency = <32768>; 100*b4cf4102SNicolas Le Bayon }; 101*b4cf4102SNicolas Le Bayon 102*b4cf4102SNicolas Le Bayon clk_lsi: clk-lsi { 103*b4cf4102SNicolas Le Bayon #clock-cells = <0>; 104*b4cf4102SNicolas Le Bayon compatible = "fixed-clock"; 105*b4cf4102SNicolas Le Bayon clock-frequency = <32000>; 106*b4cf4102SNicolas Le Bayon }; 107*b4cf4102SNicolas Le Bayon 108*b4cf4102SNicolas Le Bayon clk_msi: clk-msi { 109*b4cf4102SNicolas Le Bayon #clock-cells = <0>; 110*b4cf4102SNicolas Le Bayon compatible = "fixed-clock"; 111*b4cf4102SNicolas Le Bayon clock-frequency = <16000000>; 112*b4cf4102SNicolas Le Bayon }; 113*b4cf4102SNicolas Le Bayon }; 114*b4cf4102SNicolas Le Bayon 115*b4cf4102SNicolas Le Bayon soc@0 { 116*b4cf4102SNicolas Le Bayon compatible = "simple-bus"; 117*b4cf4102SNicolas Le Bayon #address-cells = <1>; 118*b4cf4102SNicolas Le Bayon #size-cells = <1>; 119*b4cf4102SNicolas Le Bayon interrupt-parent = <&intc>; 120*b4cf4102SNicolas Le Bayon ranges = <0x0 0x0 0x0 0x80000000>; 121*b4cf4102SNicolas Le Bayon 122*b4cf4102SNicolas Le Bayon rifsc: bus@42080000 { 123*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-rifsc", "simple-bus"; 124*b4cf4102SNicolas Le Bayon reg = <0x42080000 0x1000>; 125*b4cf4102SNicolas Le Bayon #address-cells = <1>; 126*b4cf4102SNicolas Le Bayon #size-cells = <1>; 127*b4cf4102SNicolas Le Bayon 128*b4cf4102SNicolas Le Bayon usart2: serial@400e0000 { 129*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 130*b4cf4102SNicolas Le Bayon reg = <0x400e0000 0x400>; 131*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_USART2>; 132*b4cf4102SNicolas Le Bayon resets = <&rcc USART2_R>; 133*b4cf4102SNicolas Le Bayon status = "disabled"; 134*b4cf4102SNicolas Le Bayon }; 135*b4cf4102SNicolas Le Bayon 136*b4cf4102SNicolas Le Bayon usart3: serial@400f0000 { 137*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 138*b4cf4102SNicolas Le Bayon reg = <0x400f0000 0x400>; 139*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_USART3>; 140*b4cf4102SNicolas Le Bayon resets = <&rcc USART3_R>; 141*b4cf4102SNicolas Le Bayon status = "disabled"; 142*b4cf4102SNicolas Le Bayon }; 143*b4cf4102SNicolas Le Bayon 144*b4cf4102SNicolas Le Bayon uart4: serial@40100000 { 145*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 146*b4cf4102SNicolas Le Bayon reg = <0x40100000 0x400>; 147*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_UART4>; 148*b4cf4102SNicolas Le Bayon resets = <&rcc UART4_R>; 149*b4cf4102SNicolas Le Bayon status = "disabled"; 150*b4cf4102SNicolas Le Bayon }; 151*b4cf4102SNicolas Le Bayon 152*b4cf4102SNicolas Le Bayon uart5: serial@40110000 { 153*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 154*b4cf4102SNicolas Le Bayon reg = <0x40110000 0x400>; 155*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_UART5>; 156*b4cf4102SNicolas Le Bayon resets = <&rcc UART5_R>; 157*b4cf4102SNicolas Le Bayon status = "disabled"; 158*b4cf4102SNicolas Le Bayon }; 159*b4cf4102SNicolas Le Bayon 160*b4cf4102SNicolas Le Bayon i2c1: i2c@40170000 { 161*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-i2c"; 162*b4cf4102SNicolas Le Bayon reg = <0x40170000 0x400>; 163*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_I2C1>; 164*b4cf4102SNicolas Le Bayon resets = <&rcc I2C1_R>; 165*b4cf4102SNicolas Le Bayon status = "disabled"; 166*b4cf4102SNicolas Le Bayon }; 167*b4cf4102SNicolas Le Bayon 168*b4cf4102SNicolas Le Bayon i2c2: i2c@40180000 { 169*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-i2c"; 170*b4cf4102SNicolas Le Bayon reg = <0x40180000 0x400>; 171*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_I2C2>; 172*b4cf4102SNicolas Le Bayon resets = <&rcc I2C2_R>; 173*b4cf4102SNicolas Le Bayon status = "disabled"; 174*b4cf4102SNicolas Le Bayon }; 175*b4cf4102SNicolas Le Bayon 176*b4cf4102SNicolas Le Bayon usart6: serial@40220000 { 177*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 178*b4cf4102SNicolas Le Bayon reg = <0x40220000 0x400>; 179*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_USART6>; 180*b4cf4102SNicolas Le Bayon resets = <&rcc USART6_R>; 181*b4cf4102SNicolas Le Bayon status = "disabled"; 182*b4cf4102SNicolas Le Bayon }; 183*b4cf4102SNicolas Le Bayon 184*b4cf4102SNicolas Le Bayon usart1: serial@40330000 { 185*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 186*b4cf4102SNicolas Le Bayon reg = <0x40330000 0x400>; 187*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_USART1>; 188*b4cf4102SNicolas Le Bayon resets = <&rcc USART1_R>; 189*b4cf4102SNicolas Le Bayon status = "disabled"; 190*b4cf4102SNicolas Le Bayon }; 191*b4cf4102SNicolas Le Bayon 192*b4cf4102SNicolas Le Bayon uart7: serial@40370000 { 193*b4cf4102SNicolas Le Bayon compatible = "st,stm32h7-uart"; 194*b4cf4102SNicolas Le Bayon reg = <0x40370000 0x400>; 195*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_UART7>; 196*b4cf4102SNicolas Le Bayon resets = <&rcc UART7_R>; 197*b4cf4102SNicolas Le Bayon status = "disabled"; 198*b4cf4102SNicolas Le Bayon }; 199*b4cf4102SNicolas Le Bayon 200*b4cf4102SNicolas Le Bayon hash1: hash@42030400 { 201*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp13-hash"; 202*b4cf4102SNicolas Le Bayon reg = <0x42030400 0x400>; 203*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_HASH1>; 204*b4cf4102SNicolas Le Bayon resets = <&rcc HASH1_R>; 205*b4cf4102SNicolas Le Bayon status = "disabled"; 206*b4cf4102SNicolas Le Bayon }; 207*b4cf4102SNicolas Le Bayon 208*b4cf4102SNicolas Le Bayon ospi1: spi@40430000 { 209*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-omi"; 210*b4cf4102SNicolas Le Bayon reg = <0x40430000 0x400>; 211*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_OSPI1>; 212*b4cf4102SNicolas Le Bayon resets = <&rcc OSPI1_R>, <&rcc OSPI1DLL_R>; 213*b4cf4102SNicolas Le Bayon status = "disabled"; 214*b4cf4102SNicolas Le Bayon }; 215*b4cf4102SNicolas Le Bayon 216*b4cf4102SNicolas Le Bayon rng2: rng@42020000 { 217*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp13-rng"; 218*b4cf4102SNicolas Le Bayon reg = <0x42020000 0x400>; 219*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_RNG2>; 220*b4cf4102SNicolas Le Bayon resets = <&rcc RNG2_R>; 221*b4cf4102SNicolas Le Bayon status = "disabled"; 222*b4cf4102SNicolas Le Bayon }; 223*b4cf4102SNicolas Le Bayon 224*b4cf4102SNicolas Le Bayon rng1: rng@42030800 { 225*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp13-rng"; 226*b4cf4102SNicolas Le Bayon reg = <0x42030800 0x400>; 227*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_RNG1>; 228*b4cf4102SNicolas Le Bayon resets = <&rcc RNG1_R>; 229*b4cf4102SNicolas Le Bayon status = "disabled"; 230*b4cf4102SNicolas Le Bayon }; 231*b4cf4102SNicolas Le Bayon 232*b4cf4102SNicolas Le Bayon iwdg1: watchdog@44010000 { 233*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp1-iwdg"; 234*b4cf4102SNicolas Le Bayon reg = <0x44010000 0x400>; 235*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_IWDG1>, <&rcc LSI_CK>; 236*b4cf4102SNicolas Le Bayon clock-names = "pclk", "lsi"; 237*b4cf4102SNicolas Le Bayon status = "disabled"; 238*b4cf4102SNicolas Le Bayon }; 239*b4cf4102SNicolas Le Bayon 240*b4cf4102SNicolas Le Bayon i2c3: i2c@46040000 { 241*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-i2c"; 242*b4cf4102SNicolas Le Bayon reg = <0x46040000 0x400>; 243*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_I2C3>; 244*b4cf4102SNicolas Le Bayon resets = <&rcc I2C3_R>; 245*b4cf4102SNicolas Le Bayon status = "disabled"; 246*b4cf4102SNicolas Le Bayon }; 247*b4cf4102SNicolas Le Bayon 248*b4cf4102SNicolas Le Bayon sdmmc1: mmc@48220000 { 249*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-sdmmc2", "arm,pl18x", "arm,primecell"; 250*b4cf4102SNicolas Le Bayon arm,primecell-periphid = <0x00353180>; 251*b4cf4102SNicolas Le Bayon reg = <0x48220000 0x400>, <0x44230400 0x8>; 252*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_SDMMC1>; 253*b4cf4102SNicolas Le Bayon clock-names = "apb_pclk"; 254*b4cf4102SNicolas Le Bayon resets = <&rcc SDMMC1_R>; 255*b4cf4102SNicolas Le Bayon cap-sd-highspeed; 256*b4cf4102SNicolas Le Bayon cap-mmc-highspeed; 257*b4cf4102SNicolas Le Bayon max-frequency = <166000000>; 258*b4cf4102SNicolas Le Bayon status = "disabled"; 259*b4cf4102SNicolas Le Bayon }; 260*b4cf4102SNicolas Le Bayon 261*b4cf4102SNicolas Le Bayon sdmmc2: mmc@48230000 { 262*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-sdmmc2", "arm,pl18x", "arm,primecell"; 263*b4cf4102SNicolas Le Bayon arm,primecell-periphid = <0x00353180>; 264*b4cf4102SNicolas Le Bayon reg = <0x48230000 0x400>, <0x44230800 0x8>; 265*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_SDMMC2>; 266*b4cf4102SNicolas Le Bayon clock-names = "apb_pclk"; 267*b4cf4102SNicolas Le Bayon resets = <&rcc SDMMC2_R>; 268*b4cf4102SNicolas Le Bayon cap-sd-highspeed; 269*b4cf4102SNicolas Le Bayon cap-mmc-highspeed; 270*b4cf4102SNicolas Le Bayon max-frequency = <166000000>; 271*b4cf4102SNicolas Le Bayon status = "disabled"; 272*b4cf4102SNicolas Le Bayon }; 273*b4cf4102SNicolas Le Bayon }; 274*b4cf4102SNicolas Le Bayon 275*b4cf4102SNicolas Le Bayon risaf2: risaf@420b0000 { 276*b4cf4102SNicolas Le Bayon compatible = "st,stm32-risaf"; 277*b4cf4102SNicolas Le Bayon reg = <0x420b0000 0x1000>; 278*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_OSPI1>; 279*b4cf4102SNicolas Le Bayon status = "disabled"; 280*b4cf4102SNicolas Le Bayon }; 281*b4cf4102SNicolas Le Bayon 282*b4cf4102SNicolas Le Bayon risaf4: risaf@420d0000 { 283*b4cf4102SNicolas Le Bayon compatible = "st,stm32-risaf"; 284*b4cf4102SNicolas Le Bayon reg = <0x420d0000 0x1000>; 285*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_RISAF4>; 286*b4cf4102SNicolas Le Bayon status = "disabled"; 287*b4cf4102SNicolas Le Bayon }; 288*b4cf4102SNicolas Le Bayon 289*b4cf4102SNicolas Le Bayon bsec: efuse@44000000 { 290*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-bsec"; 291*b4cf4102SNicolas Le Bayon reg = <0x44000000 0x1000>; 292*b4cf4102SNicolas Le Bayon #address-cells = <1>; 293*b4cf4102SNicolas Le Bayon #size-cells = <1>; 294*b4cf4102SNicolas Le Bayon 295*b4cf4102SNicolas Le Bayon uid_otp: uid-otp@14 { 296*b4cf4102SNicolas Le Bayon reg = <0x14 0xc>; 297*b4cf4102SNicolas Le Bayon }; 298*b4cf4102SNicolas Le Bayon part_number_otp: part-number-otp@24 { 299*b4cf4102SNicolas Le Bayon reg = <0x24 0x4>; 300*b4cf4102SNicolas Le Bayon }; 301*b4cf4102SNicolas Le Bayon nand_otp: otp16@40 { 302*b4cf4102SNicolas Le Bayon reg = <0x40 0x4>; 303*b4cf4102SNicolas Le Bayon }; 304*b4cf4102SNicolas Le Bayon lifecycle2_otp: otp18@48 { 305*b4cf4102SNicolas Le Bayon reg = <0x48 0x4>; 306*b4cf4102SNicolas Le Bayon }; 307*b4cf4102SNicolas Le Bayon nand2_otp: otp20@50 { 308*b4cf4102SNicolas Le Bayon reg = <0x50 0x4>; 309*b4cf4102SNicolas Le Bayon }; 310*b4cf4102SNicolas Le Bayon rev_otp@198 { 311*b4cf4102SNicolas Le Bayon reg = <0x198 0x4>; 312*b4cf4102SNicolas Le Bayon }; 313*b4cf4102SNicolas Le Bayon package_otp: package-otp@1e8 { 314*b4cf4102SNicolas Le Bayon reg = <0x1e8 0x1>; 315*b4cf4102SNicolas Le Bayon }; 316*b4cf4102SNicolas Le Bayon hconf1_otp: otp124@1f0 { 317*b4cf4102SNicolas Le Bayon reg = <0x1f0 0x4>; 318*b4cf4102SNicolas Le Bayon }; 319*b4cf4102SNicolas Le Bayon pkh_otp: otp152@260 { 320*b4cf4102SNicolas Le Bayon reg = <0x260 0x20>; 321*b4cf4102SNicolas Le Bayon }; 322*b4cf4102SNicolas Le Bayon oem_fip_enc_key: otp260@410 { 323*b4cf4102SNicolas Le Bayon reg = <0x410 0x20>; 324*b4cf4102SNicolas Le Bayon }; 325*b4cf4102SNicolas Le Bayon }; 326*b4cf4102SNicolas Le Bayon 327*b4cf4102SNicolas Le Bayon rcc: clock-controller@44200000 { 328*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp21-rcc"; 329*b4cf4102SNicolas Le Bayon reg = <0x44200000 0x10000>; 330*b4cf4102SNicolas Le Bayon #clock-cells = <1>; 331*b4cf4102SNicolas Le Bayon #reset-cells = <1>; 332*b4cf4102SNicolas Le Bayon }; 333*b4cf4102SNicolas Le Bayon 334*b4cf4102SNicolas Le Bayon pwr: pwr@44210000 { 335*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp21-pwr"; 336*b4cf4102SNicolas Le Bayon reg = <0x44210000 0x400>; 337*b4cf4102SNicolas Le Bayon 338*b4cf4102SNicolas Le Bayon vddio1: vddio1 { 339*b4cf4102SNicolas Le Bayon regulator-name = "vddio1"; 340*b4cf4102SNicolas Le Bayon }; 341*b4cf4102SNicolas Le Bayon 342*b4cf4102SNicolas Le Bayon vddio2: vddio2 { 343*b4cf4102SNicolas Le Bayon regulator-name = "vddio2"; 344*b4cf4102SNicolas Le Bayon }; 345*b4cf4102SNicolas Le Bayon 346*b4cf4102SNicolas Le Bayon vddio3: vddio3 { 347*b4cf4102SNicolas Le Bayon regulator-name = "vddio3"; 348*b4cf4102SNicolas Le Bayon }; 349*b4cf4102SNicolas Le Bayon 350*b4cf4102SNicolas Le Bayon vddio: vddio { 351*b4cf4102SNicolas Le Bayon regulator-name = "vddio"; 352*b4cf4102SNicolas Le Bayon }; 353*b4cf4102SNicolas Le Bayon }; 354*b4cf4102SNicolas Le Bayon 355*b4cf4102SNicolas Le Bayon syscfg: syscon@44230000 { 356*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-syscfg", "syscon"; 357*b4cf4102SNicolas Le Bayon reg = <0x44230000 0x10000>; 358*b4cf4102SNicolas Le Bayon }; 359*b4cf4102SNicolas Le Bayon 360*b4cf4102SNicolas Le Bayon tamp: tamp@46010000 { 361*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-tamp"; 362*b4cf4102SNicolas Le Bayon reg = <0x46010000 0x400>; 363*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_RTC>; 364*b4cf4102SNicolas Le Bayon interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 365*b4cf4102SNicolas Le Bayon #address-cells = <1>; 366*b4cf4102SNicolas Le Bayon #size-cells = <1>; 367*b4cf4102SNicolas Le Bayon ranges; 368*b4cf4102SNicolas Le Bayon 369*b4cf4102SNicolas Le Bayon nvram: nvram@46010100 { 370*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-tamp-nvram"; 371*b4cf4102SNicolas Le Bayon #address-cells = <1>; 372*b4cf4102SNicolas Le Bayon #size-cells = <1>; 373*b4cf4102SNicolas Le Bayon reg = <0x46010100 0x200>; 374*b4cf4102SNicolas Le Bayon 375*b4cf4102SNicolas Le Bayon stop2_entrypoint: tamp-bkp@2c { 376*b4cf4102SNicolas Le Bayon reg = <0x2c 0x4>; 377*b4cf4102SNicolas Le Bayon }; 378*b4cf4102SNicolas Le Bayon fwu_info: tamp-bkp@c0 { 379*b4cf4102SNicolas Le Bayon /* see firmware update info feature */ 380*b4cf4102SNicolas Le Bayon reg = <0xc0 0x4>; 381*b4cf4102SNicolas Le Bayon }; 382*b4cf4102SNicolas Le Bayon boot_mode: tamp-bkp@180 { 383*b4cf4102SNicolas Le Bayon reg = <0x180 0x4>; 384*b4cf4102SNicolas Le Bayon }; 385*b4cf4102SNicolas Le Bayon 386*b4cf4102SNicolas Le Bayon }; 387*b4cf4102SNicolas Le Bayon 388*b4cf4102SNicolas Le Bayon boot_info: boot-info { 389*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp-bootinfo"; 390*b4cf4102SNicolas Le Bayon nvmem-cells = <&boot_mode>, <&fwu_info>, <&stop2_entrypoint>; 391*b4cf4102SNicolas Le Bayon nvmem-cell-names = "boot-mode", "fwu-info", "stop2-entrypoint"; 392*b4cf4102SNicolas Le Bayon }; 393*b4cf4102SNicolas Le Bayon }; 394*b4cf4102SNicolas Le Bayon 395*b4cf4102SNicolas Le Bayon ddr: ddr@48040000 { 396*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp2-ddr"; 397*b4cf4102SNicolas Le Bayon reg = <0x48040000 0x10000>, 398*b4cf4102SNicolas Le Bayon <0x48c00000 0x400000>; 399*b4cf4102SNicolas Le Bayon status = "okay"; 400*b4cf4102SNicolas Le Bayon }; 401*b4cf4102SNicolas Le Bayon 402*b4cf4102SNicolas Le Bayon fmc: memory-controller@48200000 { 403*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-fmc2-ebi"; 404*b4cf4102SNicolas Le Bayon reg = <0x48200000 0x400>; 405*b4cf4102SNicolas Le Bayon ranges = <0 0 0x70000000 0x04000000>, /* EBI CS 1 */ 406*b4cf4102SNicolas Le Bayon <1 0 0x74000000 0x04000000>, /* EBI CS 2 */ 407*b4cf4102SNicolas Le Bayon <2 0 0x78000000 0x04000000>, /* EBI CS 3 */ 408*b4cf4102SNicolas Le Bayon <3 0 0x7c000000 0x04000000>, /* EBI CS 4 */ 409*b4cf4102SNicolas Le Bayon <4 0 0x48810000 0x00001000>; /* NAND */ 410*b4cf4102SNicolas Le Bayon #address-cells = <2>; 411*b4cf4102SNicolas Le Bayon #size-cells = <1>; 412*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_KER_FMC>; 413*b4cf4102SNicolas Le Bayon resets = <&rcc FMC_R>; 414*b4cf4102SNicolas Le Bayon status = "disabled"; 415*b4cf4102SNicolas Le Bayon 416*b4cf4102SNicolas Le Bayon nand-controller@4,0 { 417*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp25-fmc2-nfc"; 418*b4cf4102SNicolas Le Bayon reg = <4 0x0000 0x10>, 419*b4cf4102SNicolas Le Bayon <4 0x0090 0x10>, 420*b4cf4102SNicolas Le Bayon <4 0x00a0 0x10>, 421*b4cf4102SNicolas Le Bayon <4 0x0400 0x10>, 422*b4cf4102SNicolas Le Bayon <4 0x0490 0x10>, 423*b4cf4102SNicolas Le Bayon <4 0x04a0 0x10>, 424*b4cf4102SNicolas Le Bayon <4 0x0800 0x10>, 425*b4cf4102SNicolas Le Bayon <4 0x0890 0x10>, 426*b4cf4102SNicolas Le Bayon <4 0x08a0 0x10>, 427*b4cf4102SNicolas Le Bayon <4 0x0c00 0x10>, 428*b4cf4102SNicolas Le Bayon <4 0x0c90 0x10>, 429*b4cf4102SNicolas Le Bayon <4 0x0ca0 0x10>; 430*b4cf4102SNicolas Le Bayon #address-cells = <1>; 431*b4cf4102SNicolas Le Bayon #size-cells = <0>; 432*b4cf4102SNicolas Le Bayon status = "disabled"; 433*b4cf4102SNicolas Le Bayon }; 434*b4cf4102SNicolas Le Bayon }; 435*b4cf4102SNicolas Le Bayon 436*b4cf4102SNicolas Le Bayon pinctrl: pinctrl@44240000 { 437*b4cf4102SNicolas Le Bayon #address-cells = <1>; 438*b4cf4102SNicolas Le Bayon #size-cells = <1>; 439*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp215-pinctrl"; 440*b4cf4102SNicolas Le Bayon ranges = <0 0x44240000 0x80400>; 441*b4cf4102SNicolas Le Bayon 442*b4cf4102SNicolas Le Bayon gpioa: gpio@44240000 { 443*b4cf4102SNicolas Le Bayon gpio-controller; 444*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 445*b4cf4102SNicolas Le Bayon interrupt-controller; 446*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 447*b4cf4102SNicolas Le Bayon reg = <0x0 0x400>; 448*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOA>; 449*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOA"; 450*b4cf4102SNicolas Le Bayon status = "disabled"; 451*b4cf4102SNicolas Le Bayon }; 452*b4cf4102SNicolas Le Bayon 453*b4cf4102SNicolas Le Bayon gpiob: gpio@44250000 { 454*b4cf4102SNicolas Le Bayon gpio-controller; 455*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 456*b4cf4102SNicolas Le Bayon interrupt-controller; 457*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 458*b4cf4102SNicolas Le Bayon reg = <0x10000 0x400>; 459*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOB>; 460*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOB"; 461*b4cf4102SNicolas Le Bayon status = "disabled"; 462*b4cf4102SNicolas Le Bayon }; 463*b4cf4102SNicolas Le Bayon 464*b4cf4102SNicolas Le Bayon gpioc: gpio@44260000 { 465*b4cf4102SNicolas Le Bayon gpio-controller; 466*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 467*b4cf4102SNicolas Le Bayon interrupt-controller; 468*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 469*b4cf4102SNicolas Le Bayon reg = <0x20000 0x400>; 470*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOC>; 471*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOC"; 472*b4cf4102SNicolas Le Bayon status = "disabled"; 473*b4cf4102SNicolas Le Bayon }; 474*b4cf4102SNicolas Le Bayon 475*b4cf4102SNicolas Le Bayon gpiod: gpio@44270000 { 476*b4cf4102SNicolas Le Bayon gpio-controller; 477*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 478*b4cf4102SNicolas Le Bayon interrupt-controller; 479*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 480*b4cf4102SNicolas Le Bayon reg = <0x30000 0x400>; 481*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOD>; 482*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOD"; 483*b4cf4102SNicolas Le Bayon status = "disabled"; 484*b4cf4102SNicolas Le Bayon }; 485*b4cf4102SNicolas Le Bayon 486*b4cf4102SNicolas Le Bayon gpioe: gpio@44280000 { 487*b4cf4102SNicolas Le Bayon gpio-controller; 488*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 489*b4cf4102SNicolas Le Bayon interrupt-controller; 490*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 491*b4cf4102SNicolas Le Bayon reg = <0x40000 0x400>; 492*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOE>; 493*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOE"; 494*b4cf4102SNicolas Le Bayon status = "disabled"; 495*b4cf4102SNicolas Le Bayon }; 496*b4cf4102SNicolas Le Bayon 497*b4cf4102SNicolas Le Bayon gpiof: gpio@44290000 { 498*b4cf4102SNicolas Le Bayon gpio-controller; 499*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 500*b4cf4102SNicolas Le Bayon interrupt-controller; 501*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 502*b4cf4102SNicolas Le Bayon reg = <0x50000 0x400>; 503*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOF>; 504*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOF"; 505*b4cf4102SNicolas Le Bayon status = "disabled"; 506*b4cf4102SNicolas Le Bayon }; 507*b4cf4102SNicolas Le Bayon 508*b4cf4102SNicolas Le Bayon gpiog: gpio@442a0000 { 509*b4cf4102SNicolas Le Bayon gpio-controller; 510*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 511*b4cf4102SNicolas Le Bayon interrupt-controller; 512*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 513*b4cf4102SNicolas Le Bayon reg = <0x60000 0x400>; 514*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOG>; 515*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOG"; 516*b4cf4102SNicolas Le Bayon status = "disabled"; 517*b4cf4102SNicolas Le Bayon }; 518*b4cf4102SNicolas Le Bayon 519*b4cf4102SNicolas Le Bayon gpioh: gpio@442b0000 { 520*b4cf4102SNicolas Le Bayon gpio-controller; 521*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 522*b4cf4102SNicolas Le Bayon interrupt-controller; 523*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 524*b4cf4102SNicolas Le Bayon reg = <0x70000 0x400>; 525*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOH>; 526*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOH"; 527*b4cf4102SNicolas Le Bayon status = "disabled"; 528*b4cf4102SNicolas Le Bayon }; 529*b4cf4102SNicolas Le Bayon 530*b4cf4102SNicolas Le Bayon gpioi: gpio@442c0000 { 531*b4cf4102SNicolas Le Bayon gpio-controller; 532*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 533*b4cf4102SNicolas Le Bayon interrupt-controller; 534*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 535*b4cf4102SNicolas Le Bayon reg = <0x80000 0x400>; 536*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOI>; 537*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOI"; 538*b4cf4102SNicolas Le Bayon status = "disabled"; 539*b4cf4102SNicolas Le Bayon }; 540*b4cf4102SNicolas Le Bayon }; 541*b4cf4102SNicolas Le Bayon 542*b4cf4102SNicolas Le Bayon pinctrl_z: pinctrl@46200000 { 543*b4cf4102SNicolas Le Bayon #address-cells = <1>; 544*b4cf4102SNicolas Le Bayon #size-cells = <1>; 545*b4cf4102SNicolas Le Bayon compatible = "st,stm32mp215-z-pinctrl"; 546*b4cf4102SNicolas Le Bayon ranges = <0 0x46200000 0x400>; 547*b4cf4102SNicolas Le Bayon 548*b4cf4102SNicolas Le Bayon gpioz: gpio@46200000 { 549*b4cf4102SNicolas Le Bayon gpio-controller; 550*b4cf4102SNicolas Le Bayon #gpio-cells = <2>; 551*b4cf4102SNicolas Le Bayon interrupt-controller; 552*b4cf4102SNicolas Le Bayon #interrupt-cells = <2>; 553*b4cf4102SNicolas Le Bayon reg = <0 0x400>; 554*b4cf4102SNicolas Le Bayon clocks = <&rcc CK_BUS_GPIOZ>; 555*b4cf4102SNicolas Le Bayon st,bank-name = "GPIOZ"; 556*b4cf4102SNicolas Le Bayon st,bank-ioport = <11>; 557*b4cf4102SNicolas Le Bayon status = "disabled"; 558*b4cf4102SNicolas Le Bayon }; 559*b4cf4102SNicolas Le Bayon }; 560*b4cf4102SNicolas Le Bayon }; 561*b4cf4102SNicolas Le Bayon}; 562