xref: /optee_os/core/arch/arm/dts/stm32mp211.dtsi (revision 7749dda24cf2b1f0a04d1de529cde03b6ca79867)
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
2/*
3 * Copyright (C) 2025, STMicroelectronics - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/clock/st,stm32mp21-rcc.h>
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/firewall/stm32mp21-rifsc.h>
10#include <dt-bindings/firewall/stm32mp25-rif.h>
11#include <dt-bindings/firewall/stm32mp25-risab.h>
12#include <dt-bindings/firewall/stm32mp25-risaf.h>
13#include <dt-bindings/reset/st,stm32mp21-rcc.h>
14
15/ {
16	#address-cells = <2>;
17	#size-cells = <2>;
18
19	cpus {
20		#address-cells = <1>;
21		#size-cells = <0>;
22
23		cpu0: cpu@0 {
24			compatible = "arm,cortex-a35";
25			device_type = "cpu";
26			reg = <0>;
27			enable-method = "psci";
28		};
29	};
30
31	psci {
32		compatible = "arm,psci-1.0";
33		method = "smc";
34	};
35
36	intc: interrupt-controller@4ac00000 {
37		compatible = "arm,cortex-a7-gic";
38		#interrupt-cells = <3>;
39		interrupt-controller;
40		reg = <0x0 0x4ac10000 0x0 0x1000>,
41		      <0x0 0x4ac20000 0x0 0x2000>,
42		      <0x0 0x4ac40000 0x0 0x2000>,
43		      <0x0 0x4ac60000 0x0 0x2000>;
44		#address-cells = <1>;
45	};
46
47	clocks {
48		clk_hse: clk-hse {
49			#clock-cells = <0>;
50			compatible = "fixed-clock";
51			clock-frequency = <48000000>;
52		};
53
54		clk_hsi: clk-hsi {
55			#clock-cells = <0>;
56			compatible = "fixed-clock";
57			clock-frequency = <64000000>;
58		};
59
60		clk_lse: clk-lse {
61			#clock-cells = <0>;
62			compatible = "fixed-clock";
63			clock-frequency = <32768>;
64		};
65
66		clk_lsi: clk-lsi {
67			#clock-cells = <0>;
68			compatible = "fixed-clock";
69			clock-frequency = <32000>;
70		};
71
72		clk_msi: clk-msi {
73			#clock-cells = <0>;
74			compatible = "fixed-clock";
75			clock-frequency = <16000000>;
76		};
77
78		clk_i2sin: clk-i2sin {
79			#clock-cells = <0>;
80			compatible = "fixed-clock";
81			clock-frequency = <0>;
82		};
83
84		clk_rcbsec: clk-rcbsec {
85			#clock-cells = <0>;
86			compatible = "fixed-clock";
87			clock-frequency = <64000000>;
88		};
89	};
90
91	soc@0 {
92		compatible = "simple-bus";
93		#address-cells = <1>;
94		#size-cells = <1>;
95		interrupt-parent = <&intc>;
96		ranges = <0x0 0x0 0x0 0x80000000>;
97
98		rifsc: bus@42080000 {
99			compatible = "st,stm32mp25-rifsc", "simple-bus";
100			reg = <0x42080000 0x1000>;
101			#address-cells = <1>;
102			#size-cells = <1>;
103			#access-controller-cells = <1>;
104		};
105
106		iac: iac@42090000 {
107			compatible = "st,stm32mp25-iac";
108			reg = <0x42090000 0x400>;
109			interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
110		};
111
112		rcc: clock-controller@44200000 {
113			compatible = "st,stm32mp21-rcc", "syscon";
114			reg = <0x44200000 0x10000>;
115			interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
116
117			#clock-cells = <1>;
118			#reset-cells = <1>;
119			clocks = <&clk_hse>, <&clk_hsi>, <&clk_lse>,
120				 <&clk_lsi>, <&clk_msi>, <&clk_i2sin>;
121			clock-names = "clk-hse", "clk-hsi", "clk-lse",
122				      "clk-lsi", "clk-msi", "clk-i2sin";
123		};
124
125		syscfg: syscon@44230000 {
126			reg = <0x44230000 0x10000>;
127			status = "disabled";
128		};
129	};
130};
131