xref: /rk3399_ARM-atf/fdts/stm32mp251.dtsi (revision 4c8e8ea772905c1420720a900dd3e7d94eefbc7e)
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