blob: 44eb664fb510273706229fde435e588e7f0def0b [file] [log] [blame]
Patrice Chotard970d1672023-10-27 16:43:03 +02001// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/interrupt-controller/arm-gic.h>
7
8/ {
9 #address-cells = <2>;
10 #size-cells = <2>;
11
12 cpus {
13 #address-cells = <1>;
14 #size-cells = <0>;
15
16 cpu0: cpu@0 {
17 compatible = "arm,cortex-a35";
18 device_type = "cpu";
19 reg = <0>;
20 enable-method = "psci";
21 };
22 };
23
24 arm-pmu {
25 compatible = "arm,cortex-a35-pmu";
26 interrupts = <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>;
27 interrupt-affinity = <&cpu0>;
28 interrupt-parent = <&intc>;
29 };
30
31 arm_wdt: watchdog {
32 compatible = "arm,smc-wdt";
33 arm,smc-id = <0xb200005a>;
34 status = "disabled";
35 };
36
37 clocks {
38 ck_flexgen_08: ck-flexgen-08 {
39 #clock-cells = <0>;
40 compatible = "fixed-clock";
41 clock-frequency = <100000000>;
42 };
43
44 ck_flexgen_51: ck-flexgen-51 {
45 #clock-cells = <0>;
46 compatible = "fixed-clock";
47 clock-frequency = <200000000>;
48 };
49
50 ck_icn_ls_mcu: ck-icn-ls-mcu {
51 #clock-cells = <0>;
52 compatible = "fixed-clock";
53 clock-frequency = <200000000>;
54 };
55 };
56
57 firmware {
58 optee {
59 compatible = "linaro,optee-tz";
60 method = "smc";
61 };
62
63 scmi {
64 compatible = "linaro,scmi-optee";
65 #address-cells = <1>;
66 #size-cells = <0>;
67 linaro,optee-channel-id = <0>;
68
69 scmi_clk: protocol@14 {
70 reg = <0x14>;
71 #clock-cells = <1>;
72 };
73
74 scmi_reset: protocol@16 {
75 reg = <0x16>;
76 #reset-cells = <1>;
77 };
78 };
79 };
80
81 intc: interrupt-controller@4ac00000 {
82 compatible = "arm,cortex-a7-gic";
83 #interrupt-cells = <3>;
84 #address-cells = <1>;
85 interrupt-controller;
86 reg = <0x0 0x4ac10000 0x0 0x1000>,
87 <0x0 0x4ac20000 0x0 0x2000>,
88 <0x0 0x4ac40000 0x0 0x2000>,
89 <0x0 0x4ac60000 0x0 0x2000>;
90 };
91
92 psci {
93 compatible = "arm,psci-1.0";
94 method = "smc";
95 };
96
97 timer {
98 compatible = "arm,armv8-timer";
99 interrupt-parent = <&intc>;
100 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
101 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
102 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
103 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
104 always-on;
105 };
106
107 soc@0 {
108 compatible = "simple-bus";
109 #address-cells = <1>;
110 #size-cells = <1>;
111 interrupt-parent = <&intc>;
112 ranges = <0x0 0x0 0x0 0x80000000>;
113
114 rifsc: rifsc-bus@42080000 {
115 compatible = "simple-bus";
116 reg = <0x42080000 0x1000>;
117 #address-cells = <1>;
118 #size-cells = <1>;
119 ranges;
120
121 usart2: serial@400e0000 {
122 compatible = "st,stm32h7-uart";
123 reg = <0x400e0000 0x400>;
124 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
125 clocks = <&ck_flexgen_08>;
126 status = "disabled";
127 };
128 };
129
Patrick Delaunay792122b2024-01-15 15:05:44 +0100130 bsec: efuse@44000000 {
131 compatible = "st,stm32mp25-bsec";
132 reg = <0x44000000 0x1000>;
133 #address-cells = <1>;
134 #size-cells = <1>;
135
136 part_number_otp@24 {
137 reg = <0x24 0x4>;
138 };
139
140 package_otp@1e8 {
141 reg = <0x1e8 0x1>;
142 bits = <0 3>;
143 };
144 };
145
Patrice Chotard970d1672023-10-27 16:43:03 +0200146 syscfg: syscon@44230000 {
147 compatible = "st,stm32mp25-syscfg", "syscon";
148 reg = <0x44230000 0x10000>;
149 };
150
151 pinctrl: pinctrl@44240000 {
152 #address-cells = <1>;
153 #size-cells = <1>;
154 compatible = "st,stm32mp257-pinctrl";
155 ranges = <0 0x44240000 0xa0400>;
156 pins-are-numbered;
157
158 gpioa: gpio@44240000 {
159 gpio-controller;
160 #gpio-cells = <2>;
161 interrupt-controller;
162 #interrupt-cells = <2>;
163 reg = <0x0 0x400>;
164 clocks = <&ck_icn_ls_mcu>;
165 st,bank-name = "GPIOA";
166 status = "disabled";
167 };
168
169 gpiob: gpio@44250000 {
170 gpio-controller;
171 #gpio-cells = <2>;
172 interrupt-controller;
173 #interrupt-cells = <2>;
174 reg = <0x10000 0x400>;
175 clocks = <&ck_icn_ls_mcu>;
176 st,bank-name = "GPIOB";
177 status = "disabled";
178 };
179
180 gpioc: gpio@44260000 {
181 gpio-controller;
182 #gpio-cells = <2>;
183 interrupt-controller;
184 #interrupt-cells = <2>;
185 reg = <0x20000 0x400>;
186 clocks = <&ck_icn_ls_mcu>;
187 st,bank-name = "GPIOC";
188 status = "disabled";
189 };
190
191 gpiod: gpio@44270000 {
192 gpio-controller;
193 #gpio-cells = <2>;
194 interrupt-controller;
195 #interrupt-cells = <2>;
196 reg = <0x30000 0x400>;
197 clocks = <&ck_icn_ls_mcu>;
198 st,bank-name = "GPIOD";
199 status = "disabled";
200 };
201
202 gpioe: gpio@44280000 {
203 gpio-controller;
204 #gpio-cells = <2>;
205 interrupt-controller;
206 #interrupt-cells = <2>;
207 reg = <0x40000 0x400>;
208 clocks = <&ck_icn_ls_mcu>;
209 st,bank-name = "GPIOE";
210 status = "disabled";
211 };
212
213 gpiof: gpio@44290000 {
214 gpio-controller;
215 #gpio-cells = <2>;
216 interrupt-controller;
217 #interrupt-cells = <2>;
218 reg = <0x50000 0x400>;
219 clocks = <&ck_icn_ls_mcu>;
220 st,bank-name = "GPIOF";
221 status = "disabled";
222 };
223
224 gpiog: gpio@442a0000 {
225 gpio-controller;
226 #gpio-cells = <2>;
227 interrupt-controller;
228 #interrupt-cells = <2>;
229 reg = <0x60000 0x400>;
230 clocks = <&ck_icn_ls_mcu>;
231 st,bank-name = "GPIOG";
232 status = "disabled";
233 };
234
235 gpioh: gpio@442b0000 {
236 gpio-controller;
237 #gpio-cells = <2>;
238 interrupt-controller;
239 #interrupt-cells = <2>;
240 reg = <0x70000 0x400>;
241 clocks = <&ck_icn_ls_mcu>;
242 st,bank-name = "GPIOH";
243 status = "disabled";
244 };
245
246 gpioi: gpio@442c0000 {
247 gpio-controller;
248 #gpio-cells = <2>;
249 interrupt-controller;
250 #interrupt-cells = <2>;
251 reg = <0x80000 0x400>;
252 clocks = <&ck_icn_ls_mcu>;
253 st,bank-name = "GPIOI";
254 status = "disabled";
255 };
256
257 gpioj: gpio@442d0000 {
258 gpio-controller;
259 #gpio-cells = <2>;
260 interrupt-controller;
261 #interrupt-cells = <2>;
262 reg = <0x90000 0x400>;
263 clocks = <&ck_icn_ls_mcu>;
264 st,bank-name = "GPIOJ";
265 status = "disabled";
266 };
267
268 gpiok: gpio@442e0000 {
269 gpio-controller;
270 #gpio-cells = <2>;
271 interrupt-controller;
272 #interrupt-cells = <2>;
273 reg = <0xa0000 0x400>;
274 clocks = <&ck_icn_ls_mcu>;
275 st,bank-name = "GPIOK";
276 status = "disabled";
277 };
278 };
279
280 pinctrl_z: pinctrl@46200000 {
281 #address-cells = <1>;
282 #size-cells = <1>;
283 compatible = "st,stm32mp257-z-pinctrl";
284 ranges = <0 0x46200000 0x400>;
285 pins-are-numbered;
286
287 gpioz: gpio@46200000 {
288 gpio-controller;
289 #gpio-cells = <2>;
290 interrupt-controller;
291 #interrupt-cells = <2>;
292 reg = <0 0x400>;
293 clocks = <&ck_icn_ls_mcu>;
294 st,bank-name = "GPIOZ";
295 st,bank-ioport = <11>;
296 status = "disabled";
297 };
298
299 };
300 };
301};