10dc283d2SAlexandre Torgue// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 20dc283d2SAlexandre Torgue/* 3*c238a46aSYann Gautier * Copyright (C) 2023-2024, STMicroelectronics - All Rights Reserved 40dc283d2SAlexandre Torgue * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 50dc283d2SAlexandre Torgue */ 60dc283d2SAlexandre Torgue 70dc283d2SAlexandre Torgue#include <dt-bindings/clock/stm32mp25-clks.h> 80dc283d2SAlexandre Torgue#include <dt-bindings/interrupt-controller/arm-gic.h> 90dc283d2SAlexandre Torgue#include <dt-bindings/reset/stm32mp25-resets.h> 100dc283d2SAlexandre Torgue 110dc283d2SAlexandre Torgue/ { 120dc283d2SAlexandre Torgue #address-cells = <2>; 130dc283d2SAlexandre Torgue #size-cells = <2>; 140dc283d2SAlexandre Torgue 150dc283d2SAlexandre Torgue cpus { 160dc283d2SAlexandre Torgue #address-cells = <1>; 170dc283d2SAlexandre Torgue #size-cells = <0>; 180dc283d2SAlexandre Torgue 190dc283d2SAlexandre Torgue cpu0: cpu@0 { 200dc283d2SAlexandre Torgue compatible = "arm,cortex-a35"; 210dc283d2SAlexandre Torgue device_type = "cpu"; 220dc283d2SAlexandre Torgue reg = <0>; 230dc283d2SAlexandre Torgue enable-method = "psci"; 240dc283d2SAlexandre Torgue }; 250dc283d2SAlexandre Torgue }; 260dc283d2SAlexandre Torgue 270dc283d2SAlexandre Torgue clocks { 280dc283d2SAlexandre Torgue clk_hse: clk-hse { 290dc283d2SAlexandre Torgue #clock-cells = <0>; 300dc283d2SAlexandre Torgue compatible = "fixed-clock"; 310dc283d2SAlexandre Torgue clock-frequency = <48000000>; 320dc283d2SAlexandre Torgue }; 330dc283d2SAlexandre Torgue 340dc283d2SAlexandre Torgue clk_hsi: clk-hsi { 350dc283d2SAlexandre Torgue #clock-cells = <0>; 360dc283d2SAlexandre Torgue compatible = "fixed-clock"; 370dc283d2SAlexandre Torgue clock-frequency = <64000000>; 380dc283d2SAlexandre Torgue }; 390dc283d2SAlexandre Torgue 400dc283d2SAlexandre Torgue clk_lse: clk-lse { 410dc283d2SAlexandre Torgue #clock-cells = <0>; 420dc283d2SAlexandre Torgue compatible = "fixed-clock"; 430dc283d2SAlexandre Torgue clock-frequency = <32768>; 440dc283d2SAlexandre Torgue }; 450dc283d2SAlexandre Torgue 460dc283d2SAlexandre Torgue clk_lsi: clk-lsi { 470dc283d2SAlexandre Torgue #clock-cells = <0>; 480dc283d2SAlexandre Torgue compatible = "fixed-clock"; 490dc283d2SAlexandre Torgue clock-frequency = <32000>; 500dc283d2SAlexandre Torgue }; 510dc283d2SAlexandre Torgue 520dc283d2SAlexandre Torgue clk_msi: clk-msi { 530dc283d2SAlexandre Torgue #clock-cells = <0>; 540dc283d2SAlexandre Torgue compatible = "fixed-clock"; 550dc283d2SAlexandre Torgue clock-frequency = <16000000>; 560dc283d2SAlexandre Torgue }; 570dc283d2SAlexandre Torgue }; 580dc283d2SAlexandre Torgue 590dc283d2SAlexandre Torgue intc: interrupt-controller@4ac00000 { 600dc283d2SAlexandre Torgue compatible = "arm,cortex-a7-gic"; 610dc283d2SAlexandre Torgue #interrupt-cells = <3>; 620dc283d2SAlexandre Torgue #address-cells = <1>; 630dc283d2SAlexandre Torgue interrupt-controller; 640dc283d2SAlexandre Torgue reg = <0x0 0x4ac10000 0x0 0x1000>, 650dc283d2SAlexandre Torgue <0x0 0x4ac20000 0x0 0x2000>, 660dc283d2SAlexandre Torgue <0x0 0x4ac40000 0x0 0x2000>, 670dc283d2SAlexandre Torgue <0x0 0x4ac60000 0x0 0x2000>; 680dc283d2SAlexandre Torgue }; 690dc283d2SAlexandre Torgue 704c8e8ea7SYann Gautier timer { 710dc283d2SAlexandre Torgue compatible = "arm,armv8-timer"; 720dc283d2SAlexandre Torgue interrupt-parent = <&intc>; 730dc283d2SAlexandre Torgue interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 740dc283d2SAlexandre Torgue <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 750dc283d2SAlexandre Torgue <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 760dc283d2SAlexandre Torgue <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 770dc283d2SAlexandre Torgue always-on; 780dc283d2SAlexandre Torgue }; 790dc283d2SAlexandre Torgue 800dc283d2SAlexandre Torgue soc@0 { 810dc283d2SAlexandre Torgue compatible = "simple-bus"; 820dc283d2SAlexandre Torgue #address-cells = <1>; 830dc283d2SAlexandre Torgue #size-cells = <1>; 840dc283d2SAlexandre Torgue interrupt-parent = <&intc>; 850dc283d2SAlexandre Torgue ranges = <0x0 0x0 0x0 0x80000000>; 860dc283d2SAlexandre Torgue 870dc283d2SAlexandre Torgue rifsc: rifsc@42080000 { 880dc283d2SAlexandre Torgue compatible = "st,stm32mp25-rifsc"; 890dc283d2SAlexandre Torgue reg = <0x42080000 0x1000>; 900dc283d2SAlexandre Torgue #address-cells = <1>; 910dc283d2SAlexandre Torgue #size-cells = <1>; 920dc283d2SAlexandre Torgue 930dc283d2SAlexandre Torgue usart2: serial@400e0000 { 940dc283d2SAlexandre Torgue compatible = "st,stm32h7-uart"; 950dc283d2SAlexandre Torgue reg = <0x400e0000 0x400>; 960dc283d2SAlexandre Torgue clocks = <&rcc CK_KER_USART2>; 970dc283d2SAlexandre Torgue resets = <&rcc USART2_R>; 980dc283d2SAlexandre Torgue status = "disabled"; 990dc283d2SAlexandre Torgue }; 1000dc283d2SAlexandre Torgue }; 1010dc283d2SAlexandre Torgue 102*c238a46aSYann Gautier bsec: efuse@44000000 { 103*c238a46aSYann Gautier compatible = "st,stm32mp25-bsec"; 104*c238a46aSYann Gautier reg = <0x44000000 0x400>; 105*c238a46aSYann Gautier #address-cells = <1>; 106*c238a46aSYann Gautier #size-cells = <1>; 107*c238a46aSYann Gautier 108*c238a46aSYann Gautier uid_otp: uid-otp@14 { 109*c238a46aSYann Gautier reg = <0x14 0xc>; 110*c238a46aSYann Gautier }; 111*c238a46aSYann Gautier part_number_otp: part-number-otp@24 { 112*c238a46aSYann Gautier reg = <0x24 0x4>; 113*c238a46aSYann Gautier }; 114*c238a46aSYann Gautier nand_otp: otp16@40 { 115*c238a46aSYann Gautier reg = <0x40 0x4>; 116*c238a46aSYann Gautier }; 117*c238a46aSYann Gautier lifecycle2_otp: otp18@48 { 118*c238a46aSYann Gautier reg = <0x48 0x4>; 119*c238a46aSYann Gautier }; 120*c238a46aSYann Gautier nand2_otp: otp20@50 { 121*c238a46aSYann Gautier reg = <0x50 0x4>; 122*c238a46aSYann Gautier }; 123*c238a46aSYann Gautier package_otp: package-otp@1e8 { 124*c238a46aSYann Gautier reg = <0x1e8 0x1>; 125*c238a46aSYann Gautier }; 126*c238a46aSYann Gautier hconf1_otp: otp124@1f0 { 127*c238a46aSYann Gautier reg = <0x1f0 0x4>; 128*c238a46aSYann Gautier }; 129*c238a46aSYann Gautier pkh_otp: otp144@240 { 130*c238a46aSYann Gautier reg = <0x240 0x20>; 131*c238a46aSYann Gautier }; 132*c238a46aSYann Gautier oem_fip_enc_key: otp260@410 { 133*c238a46aSYann Gautier reg = <0x410 0x20>; 134*c238a46aSYann Gautier }; 135*c238a46aSYann Gautier }; 136*c238a46aSYann Gautier 1370dc283d2SAlexandre Torgue rcc: rcc@44200000 { 1380dc283d2SAlexandre Torgue compatible = "st,stm32mp25-rcc"; 1390dc283d2SAlexandre Torgue reg = <0x44200000 0x10000>; 1400dc283d2SAlexandre Torgue #clock-cells = <1>; 1410dc283d2SAlexandre Torgue #reset-cells = <1>; 1420dc283d2SAlexandre Torgue }; 1430dc283d2SAlexandre Torgue 1440dc283d2SAlexandre Torgue pwr: pwr@44210000 { 1450dc283d2SAlexandre Torgue compatible = "st,stm32mp25-pwr"; 1460dc283d2SAlexandre Torgue reg = <0x44210000 0x400>; 1470dc283d2SAlexandre Torgue 1480dc283d2SAlexandre Torgue vddio1: vddio1 { 1490dc283d2SAlexandre Torgue regulator-name = "vddio1"; 1500dc283d2SAlexandre Torgue }; 1510dc283d2SAlexandre Torgue 1520dc283d2SAlexandre Torgue vddio2: vddio2 { 1530dc283d2SAlexandre Torgue regulator-name = "vddio2"; 1540dc283d2SAlexandre Torgue }; 1550dc283d2SAlexandre Torgue 1560dc283d2SAlexandre Torgue vddio3: vddio3 { 1570dc283d2SAlexandre Torgue regulator-name = "vddio3"; 1580dc283d2SAlexandre Torgue }; 1590dc283d2SAlexandre Torgue 1600dc283d2SAlexandre Torgue vddio4: vddio4 { 1610dc283d2SAlexandre Torgue regulator-name = "vddio4"; 1620dc283d2SAlexandre Torgue }; 1630dc283d2SAlexandre Torgue 1640dc283d2SAlexandre Torgue vddio: vddio { 1650dc283d2SAlexandre Torgue regulator-name = "vddio"; 1660dc283d2SAlexandre Torgue }; 1670dc283d2SAlexandre Torgue }; 1680dc283d2SAlexandre Torgue 1690dc283d2SAlexandre Torgue syscfg: syscon@44230000 { 1700dc283d2SAlexandre Torgue compatible = "st,stm32mp25-syscfg", "syscon"; 1710dc283d2SAlexandre Torgue reg = <0x44230000 0x10000>; 1720dc283d2SAlexandre Torgue }; 1730dc283d2SAlexandre Torgue 1740dc283d2SAlexandre Torgue pinctrl: pinctrl@44240000 { 1750dc283d2SAlexandre Torgue #address-cells = <1>; 1760dc283d2SAlexandre Torgue #size-cells = <1>; 1770dc283d2SAlexandre Torgue compatible = "st,stm32mp257-pinctrl"; 1780dc283d2SAlexandre Torgue ranges = <0 0x44240000 0xa0400>; 1790dc283d2SAlexandre Torgue pins-are-numbered; 1800dc283d2SAlexandre Torgue 1810dc283d2SAlexandre Torgue gpioa: gpio@44240000 { 1820dc283d2SAlexandre Torgue gpio-controller; 1830dc283d2SAlexandre Torgue #gpio-cells = <2>; 1840dc283d2SAlexandre Torgue interrupt-controller; 1850dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1860dc283d2SAlexandre Torgue reg = <0x0 0x400>; 1870dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOA>; 1880dc283d2SAlexandre Torgue st,bank-name = "GPIOA"; 1890dc283d2SAlexandre Torgue status = "disabled"; 1900dc283d2SAlexandre Torgue }; 1910dc283d2SAlexandre Torgue 1920dc283d2SAlexandre Torgue gpiob: gpio@44250000 { 1930dc283d2SAlexandre Torgue gpio-controller; 1940dc283d2SAlexandre Torgue #gpio-cells = <2>; 1950dc283d2SAlexandre Torgue interrupt-controller; 1960dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1970dc283d2SAlexandre Torgue reg = <0x10000 0x400>; 1980dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOB>; 1990dc283d2SAlexandre Torgue st,bank-name = "GPIOB"; 2000dc283d2SAlexandre Torgue status = "disabled"; 2010dc283d2SAlexandre Torgue }; 2020dc283d2SAlexandre Torgue 2030dc283d2SAlexandre Torgue gpioc: gpio@44260000 { 2040dc283d2SAlexandre Torgue gpio-controller; 2050dc283d2SAlexandre Torgue #gpio-cells = <2>; 2060dc283d2SAlexandre Torgue interrupt-controller; 2070dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2080dc283d2SAlexandre Torgue reg = <0x20000 0x400>; 2090dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOC>; 2100dc283d2SAlexandre Torgue st,bank-name = "GPIOC"; 2110dc283d2SAlexandre Torgue status = "disabled"; 2120dc283d2SAlexandre Torgue }; 2130dc283d2SAlexandre Torgue 2140dc283d2SAlexandre Torgue gpiod: gpio@44270000 { 2150dc283d2SAlexandre Torgue gpio-controller; 2160dc283d2SAlexandre Torgue #gpio-cells = <2>; 2170dc283d2SAlexandre Torgue interrupt-controller; 2180dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2190dc283d2SAlexandre Torgue reg = <0x30000 0x400>; 2200dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOD>; 2210dc283d2SAlexandre Torgue st,bank-name = "GPIOD"; 2220dc283d2SAlexandre Torgue status = "disabled"; 2230dc283d2SAlexandre Torgue }; 2240dc283d2SAlexandre Torgue 2250dc283d2SAlexandre Torgue gpioe: gpio@44280000 { 2260dc283d2SAlexandre Torgue gpio-controller; 2270dc283d2SAlexandre Torgue #gpio-cells = <2>; 2280dc283d2SAlexandre Torgue interrupt-controller; 2290dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2300dc283d2SAlexandre Torgue reg = <0x40000 0x400>; 2310dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOE>; 2320dc283d2SAlexandre Torgue st,bank-name = "GPIOE"; 2330dc283d2SAlexandre Torgue status = "disabled"; 2340dc283d2SAlexandre Torgue }; 2350dc283d2SAlexandre Torgue 2360dc283d2SAlexandre Torgue gpiof: gpio@44290000 { 2370dc283d2SAlexandre Torgue gpio-controller; 2380dc283d2SAlexandre Torgue #gpio-cells = <2>; 2390dc283d2SAlexandre Torgue interrupt-controller; 2400dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2410dc283d2SAlexandre Torgue reg = <0x50000 0x400>; 2420dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOF>; 2430dc283d2SAlexandre Torgue st,bank-name = "GPIOF"; 2440dc283d2SAlexandre Torgue status = "disabled"; 2450dc283d2SAlexandre Torgue }; 2460dc283d2SAlexandre Torgue 2470dc283d2SAlexandre Torgue gpiog: gpio@442a0000 { 2480dc283d2SAlexandre Torgue gpio-controller; 2490dc283d2SAlexandre Torgue #gpio-cells = <2>; 2500dc283d2SAlexandre Torgue interrupt-controller; 2510dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2520dc283d2SAlexandre Torgue reg = <0x60000 0x400>; 2530dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOG>; 2540dc283d2SAlexandre Torgue st,bank-name = "GPIOG"; 2550dc283d2SAlexandre Torgue status = "disabled"; 2560dc283d2SAlexandre Torgue }; 2570dc283d2SAlexandre Torgue 2580dc283d2SAlexandre Torgue gpioh: gpio@442b0000 { 2590dc283d2SAlexandre Torgue gpio-controller; 2600dc283d2SAlexandre Torgue #gpio-cells = <2>; 2610dc283d2SAlexandre Torgue interrupt-controller; 2620dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2630dc283d2SAlexandre Torgue reg = <0x70000 0x400>; 2640dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOH>; 2650dc283d2SAlexandre Torgue st,bank-name = "GPIOH"; 2660dc283d2SAlexandre Torgue status = "disabled"; 2670dc283d2SAlexandre Torgue }; 2680dc283d2SAlexandre Torgue 2690dc283d2SAlexandre Torgue gpioi: gpio@442c0000 { 2700dc283d2SAlexandre Torgue gpio-controller; 2710dc283d2SAlexandre Torgue #gpio-cells = <2>; 2720dc283d2SAlexandre Torgue interrupt-controller; 2730dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2740dc283d2SAlexandre Torgue reg = <0x80000 0x400>; 2750dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOI>; 2760dc283d2SAlexandre Torgue st,bank-name = "GPIOI"; 2770dc283d2SAlexandre Torgue status = "disabled"; 2780dc283d2SAlexandre Torgue }; 2790dc283d2SAlexandre Torgue 2800dc283d2SAlexandre Torgue gpioj: gpio@442d0000 { 2810dc283d2SAlexandre Torgue gpio-controller; 2820dc283d2SAlexandre Torgue #gpio-cells = <2>; 2830dc283d2SAlexandre Torgue interrupt-controller; 2840dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2850dc283d2SAlexandre Torgue reg = <0x90000 0x400>; 2860dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOJ>; 2870dc283d2SAlexandre Torgue st,bank-name = "GPIOJ"; 2880dc283d2SAlexandre Torgue status = "disabled"; 2890dc283d2SAlexandre Torgue }; 2900dc283d2SAlexandre Torgue 2910dc283d2SAlexandre Torgue gpiok: gpio@442e0000 { 2920dc283d2SAlexandre Torgue gpio-controller; 2930dc283d2SAlexandre Torgue #gpio-cells = <2>; 2940dc283d2SAlexandre Torgue interrupt-controller; 2950dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2960dc283d2SAlexandre Torgue reg = <0xa0000 0x400>; 2970dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOK>; 2980dc283d2SAlexandre Torgue st,bank-name = "GPIOK"; 2990dc283d2SAlexandre Torgue status = "disabled"; 3000dc283d2SAlexandre Torgue }; 3010dc283d2SAlexandre Torgue }; 3020dc283d2SAlexandre Torgue 3030dc283d2SAlexandre Torgue pinctrl_z: pinctrl@46200000 { 3040dc283d2SAlexandre Torgue #address-cells = <1>; 3050dc283d2SAlexandre Torgue #size-cells = <1>; 3060dc283d2SAlexandre Torgue compatible = "st,stm32mp257-z-pinctrl"; 3070dc283d2SAlexandre Torgue ranges = <0 0x46200000 0x400>; 3080dc283d2SAlexandre Torgue pins-are-numbered; 3090dc283d2SAlexandre Torgue 3100dc283d2SAlexandre Torgue gpioz: gpio@46200000 { 3110dc283d2SAlexandre Torgue gpio-controller; 3120dc283d2SAlexandre Torgue #gpio-cells = <2>; 3130dc283d2SAlexandre Torgue interrupt-controller; 3140dc283d2SAlexandre Torgue #interrupt-cells = <2>; 3150dc283d2SAlexandre Torgue reg = <0 0x400>; 3160dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOZ>; 3170dc283d2SAlexandre Torgue st,bank-name = "GPIOZ"; 3180dc283d2SAlexandre Torgue st,bank-ioport = <11>; 3190dc283d2SAlexandre Torgue status = "disabled"; 3200dc283d2SAlexandre Torgue }; 3210dc283d2SAlexandre Torgue 3220dc283d2SAlexandre Torgue }; 3230dc283d2SAlexandre Torgue }; 3240dc283d2SAlexandre Torgue}; 325