1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright (C) STMicroelectronics 2023 - All Rights Reserved 4f126890aSEmmanuel Vadot * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5f126890aSEmmanuel Vadot */ 6f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot/ { 9f126890aSEmmanuel Vadot #address-cells = <2>; 10f126890aSEmmanuel Vadot #size-cells = <2>; 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadot cpus { 13f126890aSEmmanuel Vadot #address-cells = <1>; 14f126890aSEmmanuel Vadot #size-cells = <0>; 15f126890aSEmmanuel Vadot 16f126890aSEmmanuel Vadot cpu0: cpu@0 { 17f126890aSEmmanuel Vadot compatible = "arm,cortex-a35"; 18f126890aSEmmanuel Vadot device_type = "cpu"; 19f126890aSEmmanuel Vadot reg = <0>; 20f126890aSEmmanuel Vadot enable-method = "psci"; 21f126890aSEmmanuel Vadot }; 22f126890aSEmmanuel Vadot }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot arm-pmu { 25f126890aSEmmanuel Vadot compatible = "arm,cortex-a35-pmu"; 26f126890aSEmmanuel Vadot interrupts = <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>; 27f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>; 28f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 29f126890aSEmmanuel Vadot }; 30f126890aSEmmanuel Vadot 3184943d6fSEmmanuel Vadot arm_wdt: watchdog { 3284943d6fSEmmanuel Vadot compatible = "arm,smc-wdt"; 3384943d6fSEmmanuel Vadot arm,smc-id = <0xb200005a>; 3484943d6fSEmmanuel Vadot status = "disabled"; 3584943d6fSEmmanuel Vadot }; 3684943d6fSEmmanuel Vadot 37f126890aSEmmanuel Vadot clocks { 38f126890aSEmmanuel Vadot ck_flexgen_08: ck-flexgen-08 { 39f126890aSEmmanuel Vadot #clock-cells = <0>; 40f126890aSEmmanuel Vadot compatible = "fixed-clock"; 41f126890aSEmmanuel Vadot clock-frequency = <100000000>; 42f126890aSEmmanuel Vadot }; 43f126890aSEmmanuel Vadot 44f126890aSEmmanuel Vadot ck_flexgen_51: ck-flexgen-51 { 45f126890aSEmmanuel Vadot #clock-cells = <0>; 46f126890aSEmmanuel Vadot compatible = "fixed-clock"; 47f126890aSEmmanuel Vadot clock-frequency = <200000000>; 48f126890aSEmmanuel Vadot }; 49f126890aSEmmanuel Vadot 50f126890aSEmmanuel Vadot ck_icn_ls_mcu: ck-icn-ls-mcu { 51f126890aSEmmanuel Vadot #clock-cells = <0>; 52f126890aSEmmanuel Vadot compatible = "fixed-clock"; 53f126890aSEmmanuel Vadot clock-frequency = <200000000>; 54f126890aSEmmanuel Vadot }; 55*01950c46SEmmanuel Vadot 56*01950c46SEmmanuel Vadot ck_icn_p_vdec: ck-icn-p-vdec { 57*01950c46SEmmanuel Vadot #clock-cells = <0>; 58*01950c46SEmmanuel Vadot compatible = "fixed-clock"; 59*01950c46SEmmanuel Vadot clock-frequency = <200000000>; 60*01950c46SEmmanuel Vadot }; 61*01950c46SEmmanuel Vadot 62*01950c46SEmmanuel Vadot ck_icn_p_venc: ck-icn-p-venc { 63*01950c46SEmmanuel Vadot #clock-cells = <0>; 64*01950c46SEmmanuel Vadot compatible = "fixed-clock"; 65*01950c46SEmmanuel Vadot clock-frequency = <200000000>; 66*01950c46SEmmanuel Vadot }; 67f126890aSEmmanuel Vadot }; 68f126890aSEmmanuel Vadot 69f126890aSEmmanuel Vadot firmware { 70f126890aSEmmanuel Vadot optee { 71f126890aSEmmanuel Vadot compatible = "linaro,optee-tz"; 72f126890aSEmmanuel Vadot method = "smc"; 73f126890aSEmmanuel Vadot }; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot scmi { 76f126890aSEmmanuel Vadot compatible = "linaro,scmi-optee"; 77f126890aSEmmanuel Vadot #address-cells = <1>; 78f126890aSEmmanuel Vadot #size-cells = <0>; 79f126890aSEmmanuel Vadot linaro,optee-channel-id = <0>; 80f126890aSEmmanuel Vadot 81f126890aSEmmanuel Vadot scmi_clk: protocol@14 { 82f126890aSEmmanuel Vadot reg = <0x14>; 83f126890aSEmmanuel Vadot #clock-cells = <1>; 84f126890aSEmmanuel Vadot }; 85f126890aSEmmanuel Vadot 86f126890aSEmmanuel Vadot scmi_reset: protocol@16 { 87f126890aSEmmanuel Vadot reg = <0x16>; 88f126890aSEmmanuel Vadot #reset-cells = <1>; 89f126890aSEmmanuel Vadot }; 90f126890aSEmmanuel Vadot }; 91f126890aSEmmanuel Vadot }; 92f126890aSEmmanuel Vadot 93f126890aSEmmanuel Vadot intc: interrupt-controller@4ac00000 { 94f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-gic"; 95f126890aSEmmanuel Vadot #interrupt-cells = <3>; 96f126890aSEmmanuel Vadot #address-cells = <1>; 97f126890aSEmmanuel Vadot interrupt-controller; 98f126890aSEmmanuel Vadot reg = <0x0 0x4ac10000 0x0 0x1000>, 99f126890aSEmmanuel Vadot <0x0 0x4ac20000 0x0 0x2000>, 100f126890aSEmmanuel Vadot <0x0 0x4ac40000 0x0 0x2000>, 101f126890aSEmmanuel Vadot <0x0 0x4ac60000 0x0 0x2000>; 102f126890aSEmmanuel Vadot }; 103f126890aSEmmanuel Vadot 104f126890aSEmmanuel Vadot psci { 105f126890aSEmmanuel Vadot compatible = "arm,psci-1.0"; 106f126890aSEmmanuel Vadot method = "smc"; 107f126890aSEmmanuel Vadot }; 108f126890aSEmmanuel Vadot 109f126890aSEmmanuel Vadot timer { 110f126890aSEmmanuel Vadot compatible = "arm,armv8-timer"; 111f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 112f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 113f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 114f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 115f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 116f126890aSEmmanuel Vadot always-on; 117f126890aSEmmanuel Vadot }; 118f126890aSEmmanuel Vadot 119f126890aSEmmanuel Vadot soc@0 { 120f126890aSEmmanuel Vadot compatible = "simple-bus"; 121f126890aSEmmanuel Vadot #address-cells = <1>; 122f126890aSEmmanuel Vadot #size-cells = <1>; 123f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 124f126890aSEmmanuel Vadot ranges = <0x0 0x0 0x0 0x80000000>; 125f126890aSEmmanuel Vadot 126f126890aSEmmanuel Vadot rifsc: rifsc-bus@42080000 { 127f126890aSEmmanuel Vadot compatible = "simple-bus"; 128f126890aSEmmanuel Vadot reg = <0x42080000 0x1000>; 129f126890aSEmmanuel Vadot #address-cells = <1>; 130f126890aSEmmanuel Vadot #size-cells = <1>; 131f126890aSEmmanuel Vadot ranges; 132f126890aSEmmanuel Vadot 133f126890aSEmmanuel Vadot usart2: serial@400e0000 { 134f126890aSEmmanuel Vadot compatible = "st,stm32h7-uart"; 135f126890aSEmmanuel Vadot reg = <0x400e0000 0x400>; 136f126890aSEmmanuel Vadot interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 137f126890aSEmmanuel Vadot clocks = <&ck_flexgen_08>; 138f126890aSEmmanuel Vadot status = "disabled"; 139f126890aSEmmanuel Vadot }; 14084943d6fSEmmanuel Vadot 14184943d6fSEmmanuel Vadot sdmmc1: mmc@48220000 { 14284943d6fSEmmanuel Vadot compatible = "st,stm32mp25-sdmmc2", "arm,pl18x", "arm,primecell"; 14384943d6fSEmmanuel Vadot arm,primecell-periphid = <0x00353180>; 14484943d6fSEmmanuel Vadot reg = <0x48220000 0x400>, <0x44230400 0x8>; 14584943d6fSEmmanuel Vadot interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 14684943d6fSEmmanuel Vadot clocks = <&ck_flexgen_51>; 14784943d6fSEmmanuel Vadot clock-names = "apb_pclk"; 14884943d6fSEmmanuel Vadot cap-sd-highspeed; 14984943d6fSEmmanuel Vadot cap-mmc-highspeed; 15084943d6fSEmmanuel Vadot max-frequency = <120000000>; 15184943d6fSEmmanuel Vadot status = "disabled"; 15284943d6fSEmmanuel Vadot }; 153f126890aSEmmanuel Vadot }; 154f126890aSEmmanuel Vadot 1558d13bc63SEmmanuel Vadot bsec: efuse@44000000 { 1568d13bc63SEmmanuel Vadot compatible = "st,stm32mp25-bsec"; 1578d13bc63SEmmanuel Vadot reg = <0x44000000 0x1000>; 1588d13bc63SEmmanuel Vadot #address-cells = <1>; 1598d13bc63SEmmanuel Vadot #size-cells = <1>; 1608d13bc63SEmmanuel Vadot 1618d13bc63SEmmanuel Vadot part_number_otp@24 { 1628d13bc63SEmmanuel Vadot reg = <0x24 0x4>; 1638d13bc63SEmmanuel Vadot }; 1648d13bc63SEmmanuel Vadot 1658d13bc63SEmmanuel Vadot package_otp@1e8 { 1668d13bc63SEmmanuel Vadot reg = <0x1e8 0x1>; 1678d13bc63SEmmanuel Vadot bits = <0 3>; 1688d13bc63SEmmanuel Vadot }; 1698d13bc63SEmmanuel Vadot }; 1708d13bc63SEmmanuel Vadot 171f126890aSEmmanuel Vadot syscfg: syscon@44230000 { 172f126890aSEmmanuel Vadot compatible = "st,stm32mp25-syscfg", "syscon"; 173f126890aSEmmanuel Vadot reg = <0x44230000 0x10000>; 174f126890aSEmmanuel Vadot }; 175f126890aSEmmanuel Vadot 176f126890aSEmmanuel Vadot pinctrl: pinctrl@44240000 { 177f126890aSEmmanuel Vadot #address-cells = <1>; 178f126890aSEmmanuel Vadot #size-cells = <1>; 179f126890aSEmmanuel Vadot compatible = "st,stm32mp257-pinctrl"; 180f126890aSEmmanuel Vadot ranges = <0 0x44240000 0xa0400>; 181f126890aSEmmanuel Vadot pins-are-numbered; 182f126890aSEmmanuel Vadot 183f126890aSEmmanuel Vadot gpioa: gpio@44240000 { 184f126890aSEmmanuel Vadot gpio-controller; 185f126890aSEmmanuel Vadot #gpio-cells = <2>; 186f126890aSEmmanuel Vadot interrupt-controller; 187f126890aSEmmanuel Vadot #interrupt-cells = <2>; 188f126890aSEmmanuel Vadot reg = <0x0 0x400>; 189f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 190f126890aSEmmanuel Vadot st,bank-name = "GPIOA"; 191f126890aSEmmanuel Vadot status = "disabled"; 192f126890aSEmmanuel Vadot }; 193f126890aSEmmanuel Vadot 194f126890aSEmmanuel Vadot gpiob: gpio@44250000 { 195f126890aSEmmanuel Vadot gpio-controller; 196f126890aSEmmanuel Vadot #gpio-cells = <2>; 197f126890aSEmmanuel Vadot interrupt-controller; 198f126890aSEmmanuel Vadot #interrupt-cells = <2>; 199f126890aSEmmanuel Vadot reg = <0x10000 0x400>; 200f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 201f126890aSEmmanuel Vadot st,bank-name = "GPIOB"; 202f126890aSEmmanuel Vadot status = "disabled"; 203f126890aSEmmanuel Vadot }; 204f126890aSEmmanuel Vadot 205f126890aSEmmanuel Vadot gpioc: gpio@44260000 { 206f126890aSEmmanuel Vadot gpio-controller; 207f126890aSEmmanuel Vadot #gpio-cells = <2>; 208f126890aSEmmanuel Vadot interrupt-controller; 209f126890aSEmmanuel Vadot #interrupt-cells = <2>; 210f126890aSEmmanuel Vadot reg = <0x20000 0x400>; 211f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 212f126890aSEmmanuel Vadot st,bank-name = "GPIOC"; 213f126890aSEmmanuel Vadot status = "disabled"; 214f126890aSEmmanuel Vadot }; 215f126890aSEmmanuel Vadot 216f126890aSEmmanuel Vadot gpiod: gpio@44270000 { 217f126890aSEmmanuel Vadot gpio-controller; 218f126890aSEmmanuel Vadot #gpio-cells = <2>; 219f126890aSEmmanuel Vadot interrupt-controller; 220f126890aSEmmanuel Vadot #interrupt-cells = <2>; 221f126890aSEmmanuel Vadot reg = <0x30000 0x400>; 222f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 223f126890aSEmmanuel Vadot st,bank-name = "GPIOD"; 224f126890aSEmmanuel Vadot status = "disabled"; 225f126890aSEmmanuel Vadot }; 226f126890aSEmmanuel Vadot 227f126890aSEmmanuel Vadot gpioe: gpio@44280000 { 228f126890aSEmmanuel Vadot gpio-controller; 229f126890aSEmmanuel Vadot #gpio-cells = <2>; 230f126890aSEmmanuel Vadot interrupt-controller; 231f126890aSEmmanuel Vadot #interrupt-cells = <2>; 232f126890aSEmmanuel Vadot reg = <0x40000 0x400>; 233f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 234f126890aSEmmanuel Vadot st,bank-name = "GPIOE"; 235f126890aSEmmanuel Vadot status = "disabled"; 236f126890aSEmmanuel Vadot }; 237f126890aSEmmanuel Vadot 238f126890aSEmmanuel Vadot gpiof: gpio@44290000 { 239f126890aSEmmanuel Vadot gpio-controller; 240f126890aSEmmanuel Vadot #gpio-cells = <2>; 241f126890aSEmmanuel Vadot interrupt-controller; 242f126890aSEmmanuel Vadot #interrupt-cells = <2>; 243f126890aSEmmanuel Vadot reg = <0x50000 0x400>; 244f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 245f126890aSEmmanuel Vadot st,bank-name = "GPIOF"; 246f126890aSEmmanuel Vadot status = "disabled"; 247f126890aSEmmanuel Vadot }; 248f126890aSEmmanuel Vadot 249f126890aSEmmanuel Vadot gpiog: gpio@442a0000 { 250f126890aSEmmanuel Vadot gpio-controller; 251f126890aSEmmanuel Vadot #gpio-cells = <2>; 252f126890aSEmmanuel Vadot interrupt-controller; 253f126890aSEmmanuel Vadot #interrupt-cells = <2>; 254f126890aSEmmanuel Vadot reg = <0x60000 0x400>; 255f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 256f126890aSEmmanuel Vadot st,bank-name = "GPIOG"; 257f126890aSEmmanuel Vadot status = "disabled"; 258f126890aSEmmanuel Vadot }; 259f126890aSEmmanuel Vadot 260f126890aSEmmanuel Vadot gpioh: gpio@442b0000 { 261f126890aSEmmanuel Vadot gpio-controller; 262f126890aSEmmanuel Vadot #gpio-cells = <2>; 263f126890aSEmmanuel Vadot interrupt-controller; 264f126890aSEmmanuel Vadot #interrupt-cells = <2>; 265f126890aSEmmanuel Vadot reg = <0x70000 0x400>; 266f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 267f126890aSEmmanuel Vadot st,bank-name = "GPIOH"; 268f126890aSEmmanuel Vadot status = "disabled"; 269f126890aSEmmanuel Vadot }; 270f126890aSEmmanuel Vadot 271f126890aSEmmanuel Vadot gpioi: gpio@442c0000 { 272f126890aSEmmanuel Vadot gpio-controller; 273f126890aSEmmanuel Vadot #gpio-cells = <2>; 274f126890aSEmmanuel Vadot interrupt-controller; 275f126890aSEmmanuel Vadot #interrupt-cells = <2>; 276f126890aSEmmanuel Vadot reg = <0x80000 0x400>; 277f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 278f126890aSEmmanuel Vadot st,bank-name = "GPIOI"; 279f126890aSEmmanuel Vadot status = "disabled"; 280f126890aSEmmanuel Vadot }; 281f126890aSEmmanuel Vadot 282f126890aSEmmanuel Vadot gpioj: gpio@442d0000 { 283f126890aSEmmanuel Vadot gpio-controller; 284f126890aSEmmanuel Vadot #gpio-cells = <2>; 285f126890aSEmmanuel Vadot interrupt-controller; 286f126890aSEmmanuel Vadot #interrupt-cells = <2>; 287f126890aSEmmanuel Vadot reg = <0x90000 0x400>; 288f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 289f126890aSEmmanuel Vadot st,bank-name = "GPIOJ"; 290f126890aSEmmanuel Vadot status = "disabled"; 291f126890aSEmmanuel Vadot }; 292f126890aSEmmanuel Vadot 293f126890aSEmmanuel Vadot gpiok: gpio@442e0000 { 294f126890aSEmmanuel Vadot gpio-controller; 295f126890aSEmmanuel Vadot #gpio-cells = <2>; 296f126890aSEmmanuel Vadot interrupt-controller; 297f126890aSEmmanuel Vadot #interrupt-cells = <2>; 298f126890aSEmmanuel Vadot reg = <0xa0000 0x400>; 299f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 300f126890aSEmmanuel Vadot st,bank-name = "GPIOK"; 301f126890aSEmmanuel Vadot status = "disabled"; 302f126890aSEmmanuel Vadot }; 303f126890aSEmmanuel Vadot }; 304f126890aSEmmanuel Vadot 305f126890aSEmmanuel Vadot pinctrl_z: pinctrl@46200000 { 306f126890aSEmmanuel Vadot #address-cells = <1>; 307f126890aSEmmanuel Vadot #size-cells = <1>; 308f126890aSEmmanuel Vadot compatible = "st,stm32mp257-z-pinctrl"; 309f126890aSEmmanuel Vadot ranges = <0 0x46200000 0x400>; 310f126890aSEmmanuel Vadot pins-are-numbered; 311f126890aSEmmanuel Vadot 312f126890aSEmmanuel Vadot gpioz: gpio@46200000 { 313f126890aSEmmanuel Vadot gpio-controller; 314f126890aSEmmanuel Vadot #gpio-cells = <2>; 315f126890aSEmmanuel Vadot interrupt-controller; 316f126890aSEmmanuel Vadot #interrupt-cells = <2>; 317f126890aSEmmanuel Vadot reg = <0 0x400>; 318f126890aSEmmanuel Vadot clocks = <&ck_icn_ls_mcu>; 319f126890aSEmmanuel Vadot st,bank-name = "GPIOZ"; 320f126890aSEmmanuel Vadot st,bank-ioport = <11>; 321f126890aSEmmanuel Vadot status = "disabled"; 322f126890aSEmmanuel Vadot }; 323f126890aSEmmanuel Vadot 324f126890aSEmmanuel Vadot }; 325f126890aSEmmanuel Vadot }; 326f126890aSEmmanuel Vadot}; 327