1*91f16700Schasinglulu// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2*91f16700Schasinglulu/* 3*91f16700Schasinglulu * Copyright (C) 2023, STMicroelectronics - All Rights Reserved 4*91f16700Schasinglulu * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu#include <dt-bindings/clock/stm32mp25-clks.h> 8*91f16700Schasinglulu#include <dt-bindings/interrupt-controller/arm-gic.h> 9*91f16700Schasinglulu#include <dt-bindings/reset/stm32mp25-resets.h> 10*91f16700Schasinglulu 11*91f16700Schasinglulu/ { 12*91f16700Schasinglulu #address-cells = <2>; 13*91f16700Schasinglulu #size-cells = <2>; 14*91f16700Schasinglulu 15*91f16700Schasinglulu cpus { 16*91f16700Schasinglulu #address-cells = <1>; 17*91f16700Schasinglulu #size-cells = <0>; 18*91f16700Schasinglulu 19*91f16700Schasinglulu cpu0: cpu@0 { 20*91f16700Schasinglulu compatible = "arm,cortex-a35"; 21*91f16700Schasinglulu device_type = "cpu"; 22*91f16700Schasinglulu reg = <0>; 23*91f16700Schasinglulu enable-method = "psci"; 24*91f16700Schasinglulu }; 25*91f16700Schasinglulu }; 26*91f16700Schasinglulu 27*91f16700Schasinglulu clocks { 28*91f16700Schasinglulu clk_hse: clk-hse { 29*91f16700Schasinglulu #clock-cells = <0>; 30*91f16700Schasinglulu compatible = "fixed-clock"; 31*91f16700Schasinglulu clock-frequency = <48000000>; 32*91f16700Schasinglulu }; 33*91f16700Schasinglulu 34*91f16700Schasinglulu clk_hsi: clk-hsi { 35*91f16700Schasinglulu #clock-cells = <0>; 36*91f16700Schasinglulu compatible = "fixed-clock"; 37*91f16700Schasinglulu clock-frequency = <64000000>; 38*91f16700Schasinglulu }; 39*91f16700Schasinglulu 40*91f16700Schasinglulu clk_lse: clk-lse { 41*91f16700Schasinglulu #clock-cells = <0>; 42*91f16700Schasinglulu compatible = "fixed-clock"; 43*91f16700Schasinglulu clock-frequency = <32768>; 44*91f16700Schasinglulu }; 45*91f16700Schasinglulu 46*91f16700Schasinglulu clk_lsi: clk-lsi { 47*91f16700Schasinglulu #clock-cells = <0>; 48*91f16700Schasinglulu compatible = "fixed-clock"; 49*91f16700Schasinglulu clock-frequency = <32000>; 50*91f16700Schasinglulu }; 51*91f16700Schasinglulu 52*91f16700Schasinglulu clk_msi: clk-msi { 53*91f16700Schasinglulu #clock-cells = <0>; 54*91f16700Schasinglulu compatible = "fixed-clock"; 55*91f16700Schasinglulu clock-frequency = <16000000>; 56*91f16700Schasinglulu }; 57*91f16700Schasinglulu }; 58*91f16700Schasinglulu 59*91f16700Schasinglulu intc: interrupt-controller@4ac00000 { 60*91f16700Schasinglulu compatible = "arm,cortex-a7-gic"; 61*91f16700Schasinglulu #interrupt-cells = <3>; 62*91f16700Schasinglulu #address-cells = <1>; 63*91f16700Schasinglulu interrupt-controller; 64*91f16700Schasinglulu reg = <0x0 0x4ac10000 0x0 0x1000>, 65*91f16700Schasinglulu <0x0 0x4ac20000 0x0 0x2000>, 66*91f16700Schasinglulu <0x0 0x4ac40000 0x0 0x2000>, 67*91f16700Schasinglulu <0x0 0x4ac60000 0x0 0x2000>; 68*91f16700Schasinglulu }; 69*91f16700Schasinglulu 70*91f16700Schasinglulu timer { 71*91f16700Schasinglulu compatible = "arm,armv8-timer"; 72*91f16700Schasinglulu interrupt-parent = <&intc>; 73*91f16700Schasinglulu interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 74*91f16700Schasinglulu <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 75*91f16700Schasinglulu <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 76*91f16700Schasinglulu <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 77*91f16700Schasinglulu always-on; 78*91f16700Schasinglulu }; 79*91f16700Schasinglulu 80*91f16700Schasinglulu soc@0 { 81*91f16700Schasinglulu compatible = "simple-bus"; 82*91f16700Schasinglulu #address-cells = <1>; 83*91f16700Schasinglulu #size-cells = <1>; 84*91f16700Schasinglulu interrupt-parent = <&intc>; 85*91f16700Schasinglulu ranges = <0x0 0x0 0x0 0x80000000>; 86*91f16700Schasinglulu 87*91f16700Schasinglulu rifsc: rifsc@42080000 { 88*91f16700Schasinglulu compatible = "st,stm32mp25-rifsc"; 89*91f16700Schasinglulu reg = <0x42080000 0x1000>; 90*91f16700Schasinglulu #address-cells = <1>; 91*91f16700Schasinglulu #size-cells = <1>; 92*91f16700Schasinglulu 93*91f16700Schasinglulu usart2: serial@400e0000 { 94*91f16700Schasinglulu compatible = "st,stm32h7-uart"; 95*91f16700Schasinglulu reg = <0x400e0000 0x400>; 96*91f16700Schasinglulu clocks = <&rcc CK_KER_USART2>; 97*91f16700Schasinglulu resets = <&rcc USART2_R>; 98*91f16700Schasinglulu status = "disabled"; 99*91f16700Schasinglulu }; 100*91f16700Schasinglulu }; 101*91f16700Schasinglulu 102*91f16700Schasinglulu rcc: rcc@44200000 { 103*91f16700Schasinglulu compatible = "st,stm32mp25-rcc"; 104*91f16700Schasinglulu reg = <0x44200000 0x10000>; 105*91f16700Schasinglulu #clock-cells = <1>; 106*91f16700Schasinglulu #reset-cells = <1>; 107*91f16700Schasinglulu }; 108*91f16700Schasinglulu 109*91f16700Schasinglulu pwr: pwr@44210000 { 110*91f16700Schasinglulu compatible = "st,stm32mp25-pwr"; 111*91f16700Schasinglulu reg = <0x44210000 0x400>; 112*91f16700Schasinglulu 113*91f16700Schasinglulu vddio1: vddio1 { 114*91f16700Schasinglulu regulator-name = "vddio1"; 115*91f16700Schasinglulu }; 116*91f16700Schasinglulu 117*91f16700Schasinglulu vddio2: vddio2 { 118*91f16700Schasinglulu regulator-name = "vddio2"; 119*91f16700Schasinglulu }; 120*91f16700Schasinglulu 121*91f16700Schasinglulu vddio3: vddio3 { 122*91f16700Schasinglulu regulator-name = "vddio3"; 123*91f16700Schasinglulu }; 124*91f16700Schasinglulu 125*91f16700Schasinglulu vddio4: vddio4 { 126*91f16700Schasinglulu regulator-name = "vddio4"; 127*91f16700Schasinglulu }; 128*91f16700Schasinglulu 129*91f16700Schasinglulu vddio: vddio { 130*91f16700Schasinglulu regulator-name = "vddio"; 131*91f16700Schasinglulu }; 132*91f16700Schasinglulu }; 133*91f16700Schasinglulu 134*91f16700Schasinglulu syscfg: syscon@44230000 { 135*91f16700Schasinglulu compatible = "st,stm32mp25-syscfg", "syscon"; 136*91f16700Schasinglulu reg = <0x44230000 0x10000>; 137*91f16700Schasinglulu }; 138*91f16700Schasinglulu 139*91f16700Schasinglulu pinctrl: pinctrl@44240000 { 140*91f16700Schasinglulu #address-cells = <1>; 141*91f16700Schasinglulu #size-cells = <1>; 142*91f16700Schasinglulu compatible = "st,stm32mp257-pinctrl"; 143*91f16700Schasinglulu ranges = <0 0x44240000 0xa0400>; 144*91f16700Schasinglulu pins-are-numbered; 145*91f16700Schasinglulu 146*91f16700Schasinglulu gpioa: gpio@44240000 { 147*91f16700Schasinglulu gpio-controller; 148*91f16700Schasinglulu #gpio-cells = <2>; 149*91f16700Schasinglulu interrupt-controller; 150*91f16700Schasinglulu #interrupt-cells = <2>; 151*91f16700Schasinglulu reg = <0x0 0x400>; 152*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOA>; 153*91f16700Schasinglulu st,bank-name = "GPIOA"; 154*91f16700Schasinglulu status = "disabled"; 155*91f16700Schasinglulu }; 156*91f16700Schasinglulu 157*91f16700Schasinglulu gpiob: gpio@44250000 { 158*91f16700Schasinglulu gpio-controller; 159*91f16700Schasinglulu #gpio-cells = <2>; 160*91f16700Schasinglulu interrupt-controller; 161*91f16700Schasinglulu #interrupt-cells = <2>; 162*91f16700Schasinglulu reg = <0x10000 0x400>; 163*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOB>; 164*91f16700Schasinglulu st,bank-name = "GPIOB"; 165*91f16700Schasinglulu status = "disabled"; 166*91f16700Schasinglulu }; 167*91f16700Schasinglulu 168*91f16700Schasinglulu gpioc: gpio@44260000 { 169*91f16700Schasinglulu gpio-controller; 170*91f16700Schasinglulu #gpio-cells = <2>; 171*91f16700Schasinglulu interrupt-controller; 172*91f16700Schasinglulu #interrupt-cells = <2>; 173*91f16700Schasinglulu reg = <0x20000 0x400>; 174*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOC>; 175*91f16700Schasinglulu st,bank-name = "GPIOC"; 176*91f16700Schasinglulu status = "disabled"; 177*91f16700Schasinglulu }; 178*91f16700Schasinglulu 179*91f16700Schasinglulu gpiod: gpio@44270000 { 180*91f16700Schasinglulu gpio-controller; 181*91f16700Schasinglulu #gpio-cells = <2>; 182*91f16700Schasinglulu interrupt-controller; 183*91f16700Schasinglulu #interrupt-cells = <2>; 184*91f16700Schasinglulu reg = <0x30000 0x400>; 185*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOD>; 186*91f16700Schasinglulu st,bank-name = "GPIOD"; 187*91f16700Schasinglulu status = "disabled"; 188*91f16700Schasinglulu }; 189*91f16700Schasinglulu 190*91f16700Schasinglulu gpioe: gpio@44280000 { 191*91f16700Schasinglulu gpio-controller; 192*91f16700Schasinglulu #gpio-cells = <2>; 193*91f16700Schasinglulu interrupt-controller; 194*91f16700Schasinglulu #interrupt-cells = <2>; 195*91f16700Schasinglulu reg = <0x40000 0x400>; 196*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOE>; 197*91f16700Schasinglulu st,bank-name = "GPIOE"; 198*91f16700Schasinglulu status = "disabled"; 199*91f16700Schasinglulu }; 200*91f16700Schasinglulu 201*91f16700Schasinglulu gpiof: gpio@44290000 { 202*91f16700Schasinglulu gpio-controller; 203*91f16700Schasinglulu #gpio-cells = <2>; 204*91f16700Schasinglulu interrupt-controller; 205*91f16700Schasinglulu #interrupt-cells = <2>; 206*91f16700Schasinglulu reg = <0x50000 0x400>; 207*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOF>; 208*91f16700Schasinglulu st,bank-name = "GPIOF"; 209*91f16700Schasinglulu status = "disabled"; 210*91f16700Schasinglulu }; 211*91f16700Schasinglulu 212*91f16700Schasinglulu gpiog: gpio@442a0000 { 213*91f16700Schasinglulu gpio-controller; 214*91f16700Schasinglulu #gpio-cells = <2>; 215*91f16700Schasinglulu interrupt-controller; 216*91f16700Schasinglulu #interrupt-cells = <2>; 217*91f16700Schasinglulu reg = <0x60000 0x400>; 218*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOG>; 219*91f16700Schasinglulu st,bank-name = "GPIOG"; 220*91f16700Schasinglulu status = "disabled"; 221*91f16700Schasinglulu }; 222*91f16700Schasinglulu 223*91f16700Schasinglulu gpioh: gpio@442b0000 { 224*91f16700Schasinglulu gpio-controller; 225*91f16700Schasinglulu #gpio-cells = <2>; 226*91f16700Schasinglulu interrupt-controller; 227*91f16700Schasinglulu #interrupt-cells = <2>; 228*91f16700Schasinglulu reg = <0x70000 0x400>; 229*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOH>; 230*91f16700Schasinglulu st,bank-name = "GPIOH"; 231*91f16700Schasinglulu status = "disabled"; 232*91f16700Schasinglulu }; 233*91f16700Schasinglulu 234*91f16700Schasinglulu gpioi: gpio@442c0000 { 235*91f16700Schasinglulu gpio-controller; 236*91f16700Schasinglulu #gpio-cells = <2>; 237*91f16700Schasinglulu interrupt-controller; 238*91f16700Schasinglulu #interrupt-cells = <2>; 239*91f16700Schasinglulu reg = <0x80000 0x400>; 240*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOI>; 241*91f16700Schasinglulu st,bank-name = "GPIOI"; 242*91f16700Schasinglulu status = "disabled"; 243*91f16700Schasinglulu }; 244*91f16700Schasinglulu 245*91f16700Schasinglulu gpioj: gpio@442d0000 { 246*91f16700Schasinglulu gpio-controller; 247*91f16700Schasinglulu #gpio-cells = <2>; 248*91f16700Schasinglulu interrupt-controller; 249*91f16700Schasinglulu #interrupt-cells = <2>; 250*91f16700Schasinglulu reg = <0x90000 0x400>; 251*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOJ>; 252*91f16700Schasinglulu st,bank-name = "GPIOJ"; 253*91f16700Schasinglulu status = "disabled"; 254*91f16700Schasinglulu }; 255*91f16700Schasinglulu 256*91f16700Schasinglulu gpiok: gpio@442e0000 { 257*91f16700Schasinglulu gpio-controller; 258*91f16700Schasinglulu #gpio-cells = <2>; 259*91f16700Schasinglulu interrupt-controller; 260*91f16700Schasinglulu #interrupt-cells = <2>; 261*91f16700Schasinglulu reg = <0xa0000 0x400>; 262*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOK>; 263*91f16700Schasinglulu st,bank-name = "GPIOK"; 264*91f16700Schasinglulu status = "disabled"; 265*91f16700Schasinglulu }; 266*91f16700Schasinglulu }; 267*91f16700Schasinglulu 268*91f16700Schasinglulu pinctrl_z: pinctrl@46200000 { 269*91f16700Schasinglulu #address-cells = <1>; 270*91f16700Schasinglulu #size-cells = <1>; 271*91f16700Schasinglulu compatible = "st,stm32mp257-z-pinctrl"; 272*91f16700Schasinglulu ranges = <0 0x46200000 0x400>; 273*91f16700Schasinglulu pins-are-numbered; 274*91f16700Schasinglulu 275*91f16700Schasinglulu gpioz: gpio@46200000 { 276*91f16700Schasinglulu gpio-controller; 277*91f16700Schasinglulu #gpio-cells = <2>; 278*91f16700Schasinglulu interrupt-controller; 279*91f16700Schasinglulu #interrupt-cells = <2>; 280*91f16700Schasinglulu reg = <0 0x400>; 281*91f16700Schasinglulu clocks = <&rcc CK_BUS_GPIOZ>; 282*91f16700Schasinglulu st,bank-name = "GPIOZ"; 283*91f16700Schasinglulu st,bank-ioport = <11>; 284*91f16700Schasinglulu status = "disabled"; 285*91f16700Schasinglulu }; 286*91f16700Schasinglulu 287*91f16700Schasinglulu }; 288*91f16700Schasinglulu }; 289*91f16700Schasinglulu}; 290