10dc283d2SAlexandre Torgue// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 20dc283d2SAlexandre Torgue/* 30dc283d2SAlexandre Torgue * Copyright (C) 2023, 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 70*4c8e8ea7SYann 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 1020dc283d2SAlexandre Torgue rcc: rcc@44200000 { 1030dc283d2SAlexandre Torgue compatible = "st,stm32mp25-rcc"; 1040dc283d2SAlexandre Torgue reg = <0x44200000 0x10000>; 1050dc283d2SAlexandre Torgue #clock-cells = <1>; 1060dc283d2SAlexandre Torgue #reset-cells = <1>; 1070dc283d2SAlexandre Torgue }; 1080dc283d2SAlexandre Torgue 1090dc283d2SAlexandre Torgue pwr: pwr@44210000 { 1100dc283d2SAlexandre Torgue compatible = "st,stm32mp25-pwr"; 1110dc283d2SAlexandre Torgue reg = <0x44210000 0x400>; 1120dc283d2SAlexandre Torgue 1130dc283d2SAlexandre Torgue vddio1: vddio1 { 1140dc283d2SAlexandre Torgue regulator-name = "vddio1"; 1150dc283d2SAlexandre Torgue }; 1160dc283d2SAlexandre Torgue 1170dc283d2SAlexandre Torgue vddio2: vddio2 { 1180dc283d2SAlexandre Torgue regulator-name = "vddio2"; 1190dc283d2SAlexandre Torgue }; 1200dc283d2SAlexandre Torgue 1210dc283d2SAlexandre Torgue vddio3: vddio3 { 1220dc283d2SAlexandre Torgue regulator-name = "vddio3"; 1230dc283d2SAlexandre Torgue }; 1240dc283d2SAlexandre Torgue 1250dc283d2SAlexandre Torgue vddio4: vddio4 { 1260dc283d2SAlexandre Torgue regulator-name = "vddio4"; 1270dc283d2SAlexandre Torgue }; 1280dc283d2SAlexandre Torgue 1290dc283d2SAlexandre Torgue vddio: vddio { 1300dc283d2SAlexandre Torgue regulator-name = "vddio"; 1310dc283d2SAlexandre Torgue }; 1320dc283d2SAlexandre Torgue }; 1330dc283d2SAlexandre Torgue 1340dc283d2SAlexandre Torgue syscfg: syscon@44230000 { 1350dc283d2SAlexandre Torgue compatible = "st,stm32mp25-syscfg", "syscon"; 1360dc283d2SAlexandre Torgue reg = <0x44230000 0x10000>; 1370dc283d2SAlexandre Torgue }; 1380dc283d2SAlexandre Torgue 1390dc283d2SAlexandre Torgue pinctrl: pinctrl@44240000 { 1400dc283d2SAlexandre Torgue #address-cells = <1>; 1410dc283d2SAlexandre Torgue #size-cells = <1>; 1420dc283d2SAlexandre Torgue compatible = "st,stm32mp257-pinctrl"; 1430dc283d2SAlexandre Torgue ranges = <0 0x44240000 0xa0400>; 1440dc283d2SAlexandre Torgue pins-are-numbered; 1450dc283d2SAlexandre Torgue 1460dc283d2SAlexandre Torgue gpioa: gpio@44240000 { 1470dc283d2SAlexandre Torgue gpio-controller; 1480dc283d2SAlexandre Torgue #gpio-cells = <2>; 1490dc283d2SAlexandre Torgue interrupt-controller; 1500dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1510dc283d2SAlexandre Torgue reg = <0x0 0x400>; 1520dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOA>; 1530dc283d2SAlexandre Torgue st,bank-name = "GPIOA"; 1540dc283d2SAlexandre Torgue status = "disabled"; 1550dc283d2SAlexandre Torgue }; 1560dc283d2SAlexandre Torgue 1570dc283d2SAlexandre Torgue gpiob: gpio@44250000 { 1580dc283d2SAlexandre Torgue gpio-controller; 1590dc283d2SAlexandre Torgue #gpio-cells = <2>; 1600dc283d2SAlexandre Torgue interrupt-controller; 1610dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1620dc283d2SAlexandre Torgue reg = <0x10000 0x400>; 1630dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOB>; 1640dc283d2SAlexandre Torgue st,bank-name = "GPIOB"; 1650dc283d2SAlexandre Torgue status = "disabled"; 1660dc283d2SAlexandre Torgue }; 1670dc283d2SAlexandre Torgue 1680dc283d2SAlexandre Torgue gpioc: gpio@44260000 { 1690dc283d2SAlexandre Torgue gpio-controller; 1700dc283d2SAlexandre Torgue #gpio-cells = <2>; 1710dc283d2SAlexandre Torgue interrupt-controller; 1720dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1730dc283d2SAlexandre Torgue reg = <0x20000 0x400>; 1740dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOC>; 1750dc283d2SAlexandre Torgue st,bank-name = "GPIOC"; 1760dc283d2SAlexandre Torgue status = "disabled"; 1770dc283d2SAlexandre Torgue }; 1780dc283d2SAlexandre Torgue 1790dc283d2SAlexandre Torgue gpiod: gpio@44270000 { 1800dc283d2SAlexandre Torgue gpio-controller; 1810dc283d2SAlexandre Torgue #gpio-cells = <2>; 1820dc283d2SAlexandre Torgue interrupt-controller; 1830dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1840dc283d2SAlexandre Torgue reg = <0x30000 0x400>; 1850dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOD>; 1860dc283d2SAlexandre Torgue st,bank-name = "GPIOD"; 1870dc283d2SAlexandre Torgue status = "disabled"; 1880dc283d2SAlexandre Torgue }; 1890dc283d2SAlexandre Torgue 1900dc283d2SAlexandre Torgue gpioe: gpio@44280000 { 1910dc283d2SAlexandre Torgue gpio-controller; 1920dc283d2SAlexandre Torgue #gpio-cells = <2>; 1930dc283d2SAlexandre Torgue interrupt-controller; 1940dc283d2SAlexandre Torgue #interrupt-cells = <2>; 1950dc283d2SAlexandre Torgue reg = <0x40000 0x400>; 1960dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOE>; 1970dc283d2SAlexandre Torgue st,bank-name = "GPIOE"; 1980dc283d2SAlexandre Torgue status = "disabled"; 1990dc283d2SAlexandre Torgue }; 2000dc283d2SAlexandre Torgue 2010dc283d2SAlexandre Torgue gpiof: gpio@44290000 { 2020dc283d2SAlexandre Torgue gpio-controller; 2030dc283d2SAlexandre Torgue #gpio-cells = <2>; 2040dc283d2SAlexandre Torgue interrupt-controller; 2050dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2060dc283d2SAlexandre Torgue reg = <0x50000 0x400>; 2070dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOF>; 2080dc283d2SAlexandre Torgue st,bank-name = "GPIOF"; 2090dc283d2SAlexandre Torgue status = "disabled"; 2100dc283d2SAlexandre Torgue }; 2110dc283d2SAlexandre Torgue 2120dc283d2SAlexandre Torgue gpiog: gpio@442a0000 { 2130dc283d2SAlexandre Torgue gpio-controller; 2140dc283d2SAlexandre Torgue #gpio-cells = <2>; 2150dc283d2SAlexandre Torgue interrupt-controller; 2160dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2170dc283d2SAlexandre Torgue reg = <0x60000 0x400>; 2180dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOG>; 2190dc283d2SAlexandre Torgue st,bank-name = "GPIOG"; 2200dc283d2SAlexandre Torgue status = "disabled"; 2210dc283d2SAlexandre Torgue }; 2220dc283d2SAlexandre Torgue 2230dc283d2SAlexandre Torgue gpioh: gpio@442b0000 { 2240dc283d2SAlexandre Torgue gpio-controller; 2250dc283d2SAlexandre Torgue #gpio-cells = <2>; 2260dc283d2SAlexandre Torgue interrupt-controller; 2270dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2280dc283d2SAlexandre Torgue reg = <0x70000 0x400>; 2290dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOH>; 2300dc283d2SAlexandre Torgue st,bank-name = "GPIOH"; 2310dc283d2SAlexandre Torgue status = "disabled"; 2320dc283d2SAlexandre Torgue }; 2330dc283d2SAlexandre Torgue 2340dc283d2SAlexandre Torgue gpioi: gpio@442c0000 { 2350dc283d2SAlexandre Torgue gpio-controller; 2360dc283d2SAlexandre Torgue #gpio-cells = <2>; 2370dc283d2SAlexandre Torgue interrupt-controller; 2380dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2390dc283d2SAlexandre Torgue reg = <0x80000 0x400>; 2400dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOI>; 2410dc283d2SAlexandre Torgue st,bank-name = "GPIOI"; 2420dc283d2SAlexandre Torgue status = "disabled"; 2430dc283d2SAlexandre Torgue }; 2440dc283d2SAlexandre Torgue 2450dc283d2SAlexandre Torgue gpioj: gpio@442d0000 { 2460dc283d2SAlexandre Torgue gpio-controller; 2470dc283d2SAlexandre Torgue #gpio-cells = <2>; 2480dc283d2SAlexandre Torgue interrupt-controller; 2490dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2500dc283d2SAlexandre Torgue reg = <0x90000 0x400>; 2510dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOJ>; 2520dc283d2SAlexandre Torgue st,bank-name = "GPIOJ"; 2530dc283d2SAlexandre Torgue status = "disabled"; 2540dc283d2SAlexandre Torgue }; 2550dc283d2SAlexandre Torgue 2560dc283d2SAlexandre Torgue gpiok: gpio@442e0000 { 2570dc283d2SAlexandre Torgue gpio-controller; 2580dc283d2SAlexandre Torgue #gpio-cells = <2>; 2590dc283d2SAlexandre Torgue interrupt-controller; 2600dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2610dc283d2SAlexandre Torgue reg = <0xa0000 0x400>; 2620dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOK>; 2630dc283d2SAlexandre Torgue st,bank-name = "GPIOK"; 2640dc283d2SAlexandre Torgue status = "disabled"; 2650dc283d2SAlexandre Torgue }; 2660dc283d2SAlexandre Torgue }; 2670dc283d2SAlexandre Torgue 2680dc283d2SAlexandre Torgue pinctrl_z: pinctrl@46200000 { 2690dc283d2SAlexandre Torgue #address-cells = <1>; 2700dc283d2SAlexandre Torgue #size-cells = <1>; 2710dc283d2SAlexandre Torgue compatible = "st,stm32mp257-z-pinctrl"; 2720dc283d2SAlexandre Torgue ranges = <0 0x46200000 0x400>; 2730dc283d2SAlexandre Torgue pins-are-numbered; 2740dc283d2SAlexandre Torgue 2750dc283d2SAlexandre Torgue gpioz: gpio@46200000 { 2760dc283d2SAlexandre Torgue gpio-controller; 2770dc283d2SAlexandre Torgue #gpio-cells = <2>; 2780dc283d2SAlexandre Torgue interrupt-controller; 2790dc283d2SAlexandre Torgue #interrupt-cells = <2>; 2800dc283d2SAlexandre Torgue reg = <0 0x400>; 2810dc283d2SAlexandre Torgue clocks = <&rcc CK_BUS_GPIOZ>; 2820dc283d2SAlexandre Torgue st,bank-name = "GPIOZ"; 2830dc283d2SAlexandre Torgue st,bank-ioport = <11>; 2840dc283d2SAlexandre Torgue status = "disabled"; 2850dc283d2SAlexandre Torgue }; 2860dc283d2SAlexandre Torgue 2870dc283d2SAlexandre Torgue }; 2880dc283d2SAlexandre Torgue }; 2890dc283d2SAlexandre Torgue}; 290