blob: 6e262bbc5bc4e66dae552ebb3f588428fa162844 [file] [log] [blame]
Alexandre Torguedeccca22020-10-07 15:29:52 +02001// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
2/*
Yann Gautier01a244a2024-01-04 18:48:47 +01003 * Copyright (C) 2023-2024, STMicroelectronics - All Rights Reserved
Alexandre Torguedeccca22020-10-07 15:29:52 +02004 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
5 */
6
7#include <dt-bindings/clock/stm32mp25-clks.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/reset/stm32mp25-resets.h>
10
11/ {
12 #address-cells = <2>;
13 #size-cells = <2>;
14
15 cpus {
16 #address-cells = <1>;
17 #size-cells = <0>;
18
19 cpu0: cpu@0 {
20 compatible = "arm,cortex-a35";
21 device_type = "cpu";
22 reg = <0>;
23 enable-method = "psci";
24 };
25 };
26
27 clocks {
28 clk_hse: clk-hse {
29 #clock-cells = <0>;
30 compatible = "fixed-clock";
31 clock-frequency = <48000000>;
32 };
33
34 clk_hsi: clk-hsi {
35 #clock-cells = <0>;
36 compatible = "fixed-clock";
37 clock-frequency = <64000000>;
38 };
39
40 clk_lse: clk-lse {
41 #clock-cells = <0>;
42 compatible = "fixed-clock";
43 clock-frequency = <32768>;
44 };
45
46 clk_lsi: clk-lsi {
47 #clock-cells = <0>;
48 compatible = "fixed-clock";
49 clock-frequency = <32000>;
50 };
51
52 clk_msi: clk-msi {
53 #clock-cells = <0>;
54 compatible = "fixed-clock";
55 clock-frequency = <16000000>;
56 };
57 };
58
59 intc: interrupt-controller@4ac00000 {
60 compatible = "arm,cortex-a7-gic";
61 #interrupt-cells = <3>;
62 #address-cells = <1>;
63 interrupt-controller;
64 reg = <0x0 0x4ac10000 0x0 0x1000>,
65 <0x0 0x4ac20000 0x0 0x2000>,
66 <0x0 0x4ac40000 0x0 0x2000>,
67 <0x0 0x4ac60000 0x0 0x2000>;
68 };
69
Yann Gautierc55e2ee2023-10-18 14:17:04 +020070 timer {
Alexandre Torguedeccca22020-10-07 15:29:52 +020071 compatible = "arm,armv8-timer";
72 interrupt-parent = <&intc>;
73 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
74 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
75 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
76 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
77 always-on;
78 };
79
80 soc@0 {
81 compatible = "simple-bus";
82 #address-cells = <1>;
83 #size-cells = <1>;
84 interrupt-parent = <&intc>;
85 ranges = <0x0 0x0 0x0 0x80000000>;
86
87 rifsc: rifsc@42080000 {
88 compatible = "st,stm32mp25-rifsc";
89 reg = <0x42080000 0x1000>;
90 #address-cells = <1>;
91 #size-cells = <1>;
92
93 usart2: serial@400e0000 {
94 compatible = "st,stm32h7-uart";
95 reg = <0x400e0000 0x400>;
96 clocks = <&rcc CK_KER_USART2>;
97 resets = <&rcc USART2_R>;
98 status = "disabled";
99 };
100 };
101
Yann Gautier01a244a2024-01-04 18:48:47 +0100102 bsec: efuse@44000000 {
103 compatible = "st,stm32mp25-bsec";
104 reg = <0x44000000 0x400>;
105 #address-cells = <1>;
106 #size-cells = <1>;
107
108 uid_otp: uid-otp@14 {
109 reg = <0x14 0xc>;
110 };
111 part_number_otp: part-number-otp@24 {
112 reg = <0x24 0x4>;
113 };
114 nand_otp: otp16@40 {
115 reg = <0x40 0x4>;
116 };
117 lifecycle2_otp: otp18@48 {
118 reg = <0x48 0x4>;
119 };
120 nand2_otp: otp20@50 {
121 reg = <0x50 0x4>;
122 };
123 package_otp: package-otp@1e8 {
124 reg = <0x1e8 0x1>;
125 };
126 hconf1_otp: otp124@1f0 {
127 reg = <0x1f0 0x4>;
128 };
129 pkh_otp: otp144@240 {
130 reg = <0x240 0x20>;
131 };
132 oem_fip_enc_key: otp260@410 {
133 reg = <0x410 0x20>;
134 };
135 };
136
Alexandre Torguedeccca22020-10-07 15:29:52 +0200137 rcc: rcc@44200000 {
138 compatible = "st,stm32mp25-rcc";
139 reg = <0x44200000 0x10000>;
140 #clock-cells = <1>;
141 #reset-cells = <1>;
142 };
143
144 pwr: pwr@44210000 {
145 compatible = "st,stm32mp25-pwr";
146 reg = <0x44210000 0x400>;
147
148 vddio1: vddio1 {
149 regulator-name = "vddio1";
150 };
151
152 vddio2: vddio2 {
153 regulator-name = "vddio2";
154 };
155
156 vddio3: vddio3 {
157 regulator-name = "vddio3";
158 };
159
160 vddio4: vddio4 {
161 regulator-name = "vddio4";
162 };
163
164 vddio: vddio {
165 regulator-name = "vddio";
166 };
167 };
168
169 syscfg: syscon@44230000 {
170 compatible = "st,stm32mp25-syscfg", "syscon";
171 reg = <0x44230000 0x10000>;
172 };
173
174 pinctrl: pinctrl@44240000 {
175 #address-cells = <1>;
176 #size-cells = <1>;
177 compatible = "st,stm32mp257-pinctrl";
178 ranges = <0 0x44240000 0xa0400>;
179 pins-are-numbered;
180
181 gpioa: gpio@44240000 {
182 gpio-controller;
183 #gpio-cells = <2>;
184 interrupt-controller;
185 #interrupt-cells = <2>;
186 reg = <0x0 0x400>;
187 clocks = <&rcc CK_BUS_GPIOA>;
188 st,bank-name = "GPIOA";
189 status = "disabled";
190 };
191
192 gpiob: gpio@44250000 {
193 gpio-controller;
194 #gpio-cells = <2>;
195 interrupt-controller;
196 #interrupt-cells = <2>;
197 reg = <0x10000 0x400>;
198 clocks = <&rcc CK_BUS_GPIOB>;
199 st,bank-name = "GPIOB";
200 status = "disabled";
201 };
202
203 gpioc: gpio@44260000 {
204 gpio-controller;
205 #gpio-cells = <2>;
206 interrupt-controller;
207 #interrupt-cells = <2>;
208 reg = <0x20000 0x400>;
209 clocks = <&rcc CK_BUS_GPIOC>;
210 st,bank-name = "GPIOC";
211 status = "disabled";
212 };
213
214 gpiod: gpio@44270000 {
215 gpio-controller;
216 #gpio-cells = <2>;
217 interrupt-controller;
218 #interrupt-cells = <2>;
219 reg = <0x30000 0x400>;
220 clocks = <&rcc CK_BUS_GPIOD>;
221 st,bank-name = "GPIOD";
222 status = "disabled";
223 };
224
225 gpioe: gpio@44280000 {
226 gpio-controller;
227 #gpio-cells = <2>;
228 interrupt-controller;
229 #interrupt-cells = <2>;
230 reg = <0x40000 0x400>;
231 clocks = <&rcc CK_BUS_GPIOE>;
232 st,bank-name = "GPIOE";
233 status = "disabled";
234 };
235
236 gpiof: gpio@44290000 {
237 gpio-controller;
238 #gpio-cells = <2>;
239 interrupt-controller;
240 #interrupt-cells = <2>;
241 reg = <0x50000 0x400>;
242 clocks = <&rcc CK_BUS_GPIOF>;
243 st,bank-name = "GPIOF";
244 status = "disabled";
245 };
246
247 gpiog: gpio@442a0000 {
248 gpio-controller;
249 #gpio-cells = <2>;
250 interrupt-controller;
251 #interrupt-cells = <2>;
252 reg = <0x60000 0x400>;
253 clocks = <&rcc CK_BUS_GPIOG>;
254 st,bank-name = "GPIOG";
255 status = "disabled";
256 };
257
258 gpioh: gpio@442b0000 {
259 gpio-controller;
260 #gpio-cells = <2>;
261 interrupt-controller;
262 #interrupt-cells = <2>;
263 reg = <0x70000 0x400>;
264 clocks = <&rcc CK_BUS_GPIOH>;
265 st,bank-name = "GPIOH";
266 status = "disabled";
267 };
268
269 gpioi: gpio@442c0000 {
270 gpio-controller;
271 #gpio-cells = <2>;
272 interrupt-controller;
273 #interrupt-cells = <2>;
274 reg = <0x80000 0x400>;
275 clocks = <&rcc CK_BUS_GPIOI>;
276 st,bank-name = "GPIOI";
277 status = "disabled";
278 };
279
280 gpioj: gpio@442d0000 {
281 gpio-controller;
282 #gpio-cells = <2>;
283 interrupt-controller;
284 #interrupt-cells = <2>;
285 reg = <0x90000 0x400>;
286 clocks = <&rcc CK_BUS_GPIOJ>;
287 st,bank-name = "GPIOJ";
288 status = "disabled";
289 };
290
291 gpiok: gpio@442e0000 {
292 gpio-controller;
293 #gpio-cells = <2>;
294 interrupt-controller;
295 #interrupt-cells = <2>;
296 reg = <0xa0000 0x400>;
297 clocks = <&rcc CK_BUS_GPIOK>;
298 st,bank-name = "GPIOK";
299 status = "disabled";
300 };
301 };
302
303 pinctrl_z: pinctrl@46200000 {
304 #address-cells = <1>;
305 #size-cells = <1>;
306 compatible = "st,stm32mp257-z-pinctrl";
307 ranges = <0 0x46200000 0x400>;
308 pins-are-numbered;
309
310 gpioz: gpio@46200000 {
311 gpio-controller;
312 #gpio-cells = <2>;
313 interrupt-controller;
314 #interrupt-cells = <2>;
315 reg = <0 0x400>;
316 clocks = <&rcc CK_BUS_GPIOZ>;
317 st,bank-name = "GPIOZ";
318 st,bank-ioport = <11>;
319 status = "disabled";
320 };
321
322 };
323 };
324};