blob: 85261684b5d5fe02aa806b701b03da6f8cd814e4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the r8a73a4 SoC
4 *
5 * Copyright (C) 2013 Renesas Solutions Corp.
6 * Copyright (C) 2013 Magnus Damm
7 */
8
9#include <dt-bindings/clock/r8a73a4-clock.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12
13/ {
14 compatible = "renesas,r8a73a4";
15 interrupt-parent = <&gic>;
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 device_type = "cpu";
25 compatible = "arm,cortex-a15";
26 reg = <0>;
27 clocks = <&cpg_clocks R8A73A4_CLK_Z>;
28 clock-frequency = <1500000000>;
29 power-domains = <&pd_a2sl>;
30 next-level-cache = <&L2_CA15>;
31 };
32
33 L2_CA15: cache-controller-0 {
34 compatible = "cache";
35 clocks = <&cpg_clocks R8A73A4_CLK_Z>;
36 power-domains = <&pd_a3sm>;
37 cache-unified;
38 cache-level = <2>;
39 };
40
41 L2_CA7: cache-controller-1 {
42 compatible = "cache";
43 clocks = <&cpg_clocks R8A73A4_CLK_Z2>;
44 power-domains = <&pd_a3km>;
45 cache-unified;
46 cache-level = <2>;
47 };
48 };
49
50 ptm {
51 compatible = "arm,coresight-etm3x";
52 power-domains = <&pd_d4>;
53 };
54
55 timer {
56 compatible = "arm,armv7-timer";
57 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
58 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
59 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
60 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
Tom Rini6b642ac2024-10-01 12:20:28 -060061 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys";
Tom Rini53633a82024-02-29 12:33:36 -050062 };
63
Tom Rini762f85b2024-07-20 11:15:10 -060064 tmu0: timer@e61e0000 {
65 compatible = "renesas,tmu-r8a73a4", "renesas,tmu";
66 reg = <0 0xe61e0000 0 0x30>;
67 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
68 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
69 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
70 interrupt-names = "tuni0", "tuni1", "tuni2";
71 clocks = <&mstp1_clks R8A73A4_CLK_TMU0>;
72 clock-names = "fck";
73 power-domains = <&pd_c5>;
74 status = "disabled";
75 };
76
77 tmu3: timer@fff80000 {
78 compatible = "renesas,tmu-r8a73a4", "renesas,tmu";
79 reg = <0 0xfff80000 0 0x30>;
80 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
81 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
82 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
83 interrupt-names = "tuni0", "tuni1", "tuni2";
84 clocks = <&mstp1_clks R8A73A4_CLK_TMU3>;
85 clock-names = "fck";
86 power-domains = <&pd_a3r>;
87 status = "disabled";
88 };
89
Tom Rini53633a82024-02-29 12:33:36 -050090 dbsc1: memory-controller@e6790000 {
91 compatible = "renesas,dbsc-r8a73a4";
92 reg = <0 0xe6790000 0 0x10000>;
93 power-domains = <&pd_a3bc>;
94 };
95
96 dbsc2: memory-controller@e67a0000 {
97 compatible = "renesas,dbsc-r8a73a4";
98 reg = <0 0xe67a0000 0 0x10000>;
99 power-domains = <&pd_a3bc>;
100 };
101
102 i2c5: i2c@e60b0000 {
103 #address-cells = <1>;
104 #size-cells = <0>;
105 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
106 reg = <0 0xe60b0000 0 0x428>;
107 interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
108 clocks = <&mstp4_clks R8A73A4_CLK_IIC5>;
109 power-domains = <&pd_a3sp>;
110
111 status = "disabled";
112 };
113
114 cmt1: timer@e6130000 {
115 compatible = "renesas,r8a73a4-cmt1", "renesas,rcar-gen2-cmt1";
116 reg = <0 0xe6130000 0 0x1004>;
117 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
118 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
119 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
120 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
121 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
122 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
123 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
124 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
125 clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
126 clock-names = "fck";
127 power-domains = <&pd_c5>;
128 status = "disabled";
129 };
130
131 irqc0: interrupt-controller@e61c0000 {
132 compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
133 #interrupt-cells = <2>;
134 interrupt-controller;
135 reg = <0 0xe61c0000 0 0x200>;
136 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
137 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
138 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
139 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
140 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
141 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
142 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
143 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
144 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
145 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
146 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
147 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
148 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
151 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
152 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
153 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
154 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
155 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
156 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
157 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
158 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
159 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
160 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
161 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
162 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
163 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
164 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
165 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
166 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
167 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
168 clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
169 power-domains = <&pd_c4>;
170 };
171
172 irqc1: interrupt-controller@e61c0200 {
173 compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
174 #interrupt-cells = <2>;
175 interrupt-controller;
176 reg = <0 0xe61c0200 0 0x200>;
177 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
185 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
186 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
187 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
188 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
191 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
192 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
193 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
194 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
195 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
196 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
197 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
198 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
199 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
200 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
201 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
202 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
203 clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
204 power-domains = <&pd_c4>;
205 };
206
207 pfc: pinctrl@e6050000 {
208 compatible = "renesas,pfc-r8a73a4";
209 reg = <0 0xe6050000 0 0x9000>;
210 gpio-controller;
211 #gpio-cells = <2>;
212 gpio-ranges =
213 <&pfc 0 0 31>, <&pfc 32 32 9>,
214 <&pfc 64 64 22>, <&pfc 96 96 31>,
215 <&pfc 128 128 7>, <&pfc 160 160 19>,
216 <&pfc 192 192 31>, <&pfc 224 224 27>,
217 <&pfc 256 256 28>, <&pfc 288 288 21>,
218 <&pfc 320 320 10>;
219 interrupts-extended =
220 <&irqc0 0 0>, <&irqc0 1 0>, <&irqc0 2 0>, <&irqc0 3 0>,
221 <&irqc0 4 0>, <&irqc0 5 0>, <&irqc0 6 0>, <&irqc0 7 0>,
222 <&irqc0 8 0>, <&irqc0 9 0>, <&irqc0 10 0>, <&irqc0 11 0>,
223 <&irqc0 12 0>, <&irqc0 13 0>, <&irqc0 14 0>, <&irqc0 15 0>,
224 <&irqc0 16 0>, <&irqc0 17 0>, <&irqc0 18 0>, <&irqc0 19 0>,
225 <&irqc0 20 0>, <&irqc0 21 0>, <&irqc0 22 0>, <&irqc0 23 0>,
226 <&irqc0 24 0>, <&irqc0 25 0>, <&irqc0 26 0>, <&irqc0 27 0>,
227 <&irqc0 28 0>, <&irqc0 29 0>, <&irqc0 30 0>, <&irqc0 31 0>,
228 <&irqc1 0 0>, <&irqc1 1 0>, <&irqc1 2 0>, <&irqc1 3 0>,
229 <&irqc1 4 0>, <&irqc1 5 0>, <&irqc1 6 0>, <&irqc1 7 0>,
230 <&irqc1 8 0>, <&irqc1 9 0>, <&irqc1 10 0>, <&irqc1 11 0>,
231 <&irqc1 12 0>, <&irqc1 13 0>, <&irqc1 14 0>, <&irqc1 15 0>,
232 <&irqc1 16 0>, <&irqc1 17 0>, <&irqc1 18 0>, <&irqc1 19 0>,
233 <&irqc1 20 0>, <&irqc1 21 0>, <&irqc1 22 0>, <&irqc1 23 0>,
234 <&irqc1 24 0>, <&irqc1 25 0>;
235 power-domains = <&pd_c5>;
236 };
237
238 thermal@e61f0000 {
239 compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
240 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>,
241 <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>;
242 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
243 clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>;
244 power-domains = <&pd_c5>;
245 };
246
247 i2c0: i2c@e6500000 {
248 #address-cells = <1>;
249 #size-cells = <0>;
250 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
251 reg = <0 0xe6500000 0 0x428>;
252 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
253 clocks = <&mstp3_clks R8A73A4_CLK_IIC0>;
254 power-domains = <&pd_a3sp>;
255 status = "disabled";
256 };
257
258 i2c1: i2c@e6510000 {
259 #address-cells = <1>;
260 #size-cells = <0>;
261 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
262 reg = <0 0xe6510000 0 0x428>;
263 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
264 clocks = <&mstp3_clks R8A73A4_CLK_IIC1>;
265 power-domains = <&pd_a3sp>;
266 status = "disabled";
267 };
268
269 i2c2: i2c@e6520000 {
270 #address-cells = <1>;
271 #size-cells = <0>;
272 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
273 reg = <0 0xe6520000 0 0x428>;
274 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
275 clocks = <&mstp3_clks R8A73A4_CLK_IIC2>;
276 power-domains = <&pd_a3sp>;
277 status = "disabled";
278 };
279
280 i2c3: i2c@e6530000 {
281 #address-cells = <1>;
282 #size-cells = <0>;
283 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
284 reg = <0 0xe6530000 0 0x428>;
285 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&mstp4_clks R8A73A4_CLK_IIC3>;
287 power-domains = <&pd_a3sp>;
288 status = "disabled";
289 };
290
291 i2c4: i2c@e6540000 {
292 #address-cells = <1>;
293 #size-cells = <0>;
294 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
295 reg = <0 0xe6540000 0 0x428>;
296 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
297 clocks = <&mstp4_clks R8A73A4_CLK_IIC4>;
298 power-domains = <&pd_a3sp>;
299 status = "disabled";
300 };
301
302 i2c6: i2c@e6550000 {
303 #address-cells = <1>;
304 #size-cells = <0>;
305 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
306 reg = <0 0xe6550000 0 0x428>;
307 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
308 clocks = <&mstp3_clks R8A73A4_CLK_IIC6>;
309 power-domains = <&pd_a3sp>;
310 status = "disabled";
311 };
312
313 i2c7: i2c@e6560000 {
314 #address-cells = <1>;
315 #size-cells = <0>;
316 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
317 reg = <0 0xe6560000 0 0x428>;
318 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
319 clocks = <&mstp3_clks R8A73A4_CLK_IIC7>;
320 power-domains = <&pd_a3sp>;
321 status = "disabled";
322 };
323
324 i2c8: i2c@e6570000 {
325 #address-cells = <1>;
326 #size-cells = <0>;
327 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
328 reg = <0 0xe6570000 0 0x428>;
329 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
330 clocks = <&mstp5_clks R8A73A4_CLK_IIC8>;
331 power-domains = <&pd_a3sp>;
332 status = "disabled";
333 };
334
335 scifb0: serial@e6c20000 {
336 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
337 reg = <0 0xe6c20000 0 0x100>;
338 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
339 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB0>;
340 clock-names = "fck";
341 power-domains = <&pd_a3sp>;
342 status = "disabled";
343 };
344
345 scifb1: serial@e6c30000 {
346 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
347 reg = <0 0xe6c30000 0 0x100>;
348 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
349 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB1>;
350 clock-names = "fck";
351 power-domains = <&pd_a3sp>;
352 status = "disabled";
353 };
354
355 scifa0: serial@e6c40000 {
356 compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
357 reg = <0 0xe6c40000 0 0x100>;
358 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
359 clocks = <&mstp2_clks R8A73A4_CLK_SCIFA0>;
360 clock-names = "fck";
361 power-domains = <&pd_a3sp>;
362 status = "disabled";
363 };
364
365 scifa1: serial@e6c50000 {
366 compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
367 reg = <0 0xe6c50000 0 0x100>;
368 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
369 clocks = <&mstp2_clks R8A73A4_CLK_SCIFA1>;
370 clock-names = "fck";
371 power-domains = <&pd_a3sp>;
372 status = "disabled";
373 };
374
375 scifb2: serial@e6ce0000 {
376 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
377 reg = <0 0xe6ce0000 0 0x100>;
378 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
379 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB2>;
380 clock-names = "fck";
381 power-domains = <&pd_a3sp>;
382 status = "disabled";
383 };
384
385 scifb3: serial@e6cf0000 {
386 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
387 reg = <0 0xe6cf0000 0 0x100>;
388 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
389 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB3>;
390 clock-names = "fck";
391 power-domains = <&pd_c4>;
392 status = "disabled";
393 };
394
395 sdhi0: mmc@ee100000 {
396 compatible = "renesas,sdhi-r8a73a4";
397 reg = <0 0xee100000 0 0x100>;
398 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
399 clocks = <&mstp3_clks R8A73A4_CLK_SDHI0>;
400 power-domains = <&pd_a3sp>;
401 cap-sd-highspeed;
402 status = "disabled";
403 };
404
405 sdhi1: mmc@ee120000 {
406 compatible = "renesas,sdhi-r8a73a4";
407 reg = <0 0xee120000 0 0x100>;
408 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
409 clocks = <&mstp3_clks R8A73A4_CLK_SDHI1>;
410 power-domains = <&pd_a3sp>;
411 cap-sd-highspeed;
412 status = "disabled";
413 };
414
415 sdhi2: mmc@ee140000 {
416 compatible = "renesas,sdhi-r8a73a4";
417 reg = <0 0xee140000 0 0x100>;
418 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
419 clocks = <&mstp3_clks R8A73A4_CLK_SDHI2>;
420 power-domains = <&pd_a3sp>;
421 cap-sd-highspeed;
422 status = "disabled";
423 };
424
425 mmcif0: mmc@ee200000 {
426 compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
427 reg = <0 0xee200000 0 0x80>;
428 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
429 clocks = <&mstp3_clks R8A73A4_CLK_MMCIF0>;
430 power-domains = <&pd_a3sp>;
431 reg-io-width = <4>;
432 status = "disabled";
433 };
434
435 mmcif1: mmc@ee220000 {
436 compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
437 reg = <0 0xee220000 0 0x80>;
438 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
439 clocks = <&mstp3_clks R8A73A4_CLK_MMCIF1>;
440 power-domains = <&pd_a3sp>;
441 reg-io-width = <4>;
442 status = "disabled";
443 };
444
445 gic: interrupt-controller@f1001000 {
446 compatible = "arm,gic-400";
447 #interrupt-cells = <3>;
448 #address-cells = <0>;
449 interrupt-controller;
450 reg = <0 0xf1001000 0 0x1000>,
451 <0 0xf1002000 0 0x2000>,
452 <0 0xf1004000 0 0x2000>,
453 <0 0xf1006000 0 0x2000>;
454 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
455 clocks = <&mstp4_clks R8A73A4_CLK_INTC_SYS>;
456 clock-names = "clk";
457 power-domains = <&pd_c4>;
458 };
459
460 bsc: bus@fec10000 {
461 compatible = "renesas,bsc-r8a73a4", "renesas,bsc",
462 "simple-pm-bus";
463 #address-cells = <1>;
464 #size-cells = <1>;
465 ranges = <0 0 0 0x20000000>;
466 reg = <0 0xfec10000 0 0x400>;
467 clocks = <&zb_clk>;
468 power-domains = <&pd_c4>;
469 };
470
471 clocks {
472 #address-cells = <2>;
473 #size-cells = <2>;
474 ranges;
475
476 /* External root clocks */
477 extalr_clk: extalr {
478 compatible = "fixed-clock";
479 #clock-cells = <0>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600480 /* This value must be overridden by the board. */
481 clock-frequency = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500482 };
483 extal1_clk: extal1 {
484 compatible = "fixed-clock";
485 #clock-cells = <0>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600486 /* This value must be overridden by the board. */
487 clock-frequency = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500488 };
489 extal2_clk: extal2 {
490 compatible = "fixed-clock";
491 #clock-cells = <0>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600492 /* This value must be overridden by the board. */
493 clock-frequency = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500494 };
495 fsiack_clk: fsiack {
496 compatible = "fixed-clock";
497 #clock-cells = <0>;
498 /* This value must be overridden by the board. */
499 clock-frequency = <0>;
500 };
501 fsibck_clk: fsibck {
502 compatible = "fixed-clock";
503 #clock-cells = <0>;
504 /* This value must be overridden by the board. */
505 clock-frequency = <0>;
506 };
507
508 /* Special CPG clocks */
509 cpg_clocks: cpg_clocks@e6150000 {
510 compatible = "renesas,r8a73a4-cpg-clocks";
511 reg = <0 0xe6150000 0 0x10000>;
512 clocks = <&extal1_clk>, <&extal2_clk>;
513 #clock-cells = <1>;
514 clock-output-names = "main", "pll0", "pll1", "pll2",
515 "pll2s", "pll2h", "z", "z2",
516 "i", "m3", "b", "m1", "m2",
517 "zx", "zs", "hp";
518 };
519
520 /* Variable factor clocks (DIV6) */
521 zb_clk: zb_clk@e6150010 {
522 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
523 reg = <0 0xe6150010 0 4>;
524 clocks = <&pll1_div2_clk>, <0>,
525 <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
526 #clock-cells = <0>;
527 clock-output-names = "zb";
528 };
529 sdhi0_clk: sdhi0ck@e6150074 {
530 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
531 reg = <0 0xe6150074 0 4>;
532 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
533 <0>, <&extal2_clk>;
534 #clock-cells = <0>;
535 };
536 sdhi1_clk: sdhi1ck@e6150078 {
537 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
538 reg = <0 0xe6150078 0 4>;
539 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
540 <0>, <&extal2_clk>;
541 #clock-cells = <0>;
542 };
543 sdhi2_clk: sdhi2ck@e615007c {
544 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
545 reg = <0 0xe615007c 0 4>;
546 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
547 <0>, <&extal2_clk>;
548 #clock-cells = <0>;
549 };
550 mmc0_clk: mmc0@e6150240 {
551 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
552 reg = <0 0xe6150240 0 4>;
553 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
554 <0>, <&extal2_clk>;
555 #clock-cells = <0>;
556 };
557 mmc1_clk: mmc1@e6150244 {
558 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
559 reg = <0 0xe6150244 0 4>;
560 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
561 <0>, <&extal2_clk>;
562 #clock-cells = <0>;
563 };
564 vclk1_clk: vclk1@e6150008 {
565 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
566 reg = <0 0xe6150008 0 4>;
567 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
568 <0>, <&extal2_clk>, <&main_div2_clk>,
569 <&extalr_clk>, <0>, <0>;
570 #clock-cells = <0>;
571 };
572 vclk2_clk: vclk2@e615000c {
573 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
574 reg = <0 0xe615000c 0 4>;
575 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
576 <0>, <&extal2_clk>, <&main_div2_clk>,
577 <&extalr_clk>, <0>, <0>;
578 #clock-cells = <0>;
579 };
580 vclk3_clk: vclk3@e615001c {
581 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
582 reg = <0 0xe615001c 0 4>;
583 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
584 <0>, <&extal2_clk>, <&main_div2_clk>,
585 <&extalr_clk>, <0>, <0>;
586 #clock-cells = <0>;
587 };
588 vclk4_clk: vclk4@e6150014 {
589 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
590 reg = <0 0xe6150014 0 4>;
591 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
592 <0>, <&extal2_clk>, <&main_div2_clk>,
593 <&extalr_clk>, <0>, <0>;
594 #clock-cells = <0>;
595 };
596 vclk5_clk: vclk5@e6150034 {
597 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
598 reg = <0 0xe6150034 0 4>;
599 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
600 <0>, <&extal2_clk>, <&main_div2_clk>,
601 <&extalr_clk>, <0>, <0>;
602 #clock-cells = <0>;
603 };
604 fsia_clk: fsia@e6150018 {
605 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
606 reg = <0 0xe6150018 0 4>;
607 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
608 <&fsiack_clk>, <0>;
609 #clock-cells = <0>;
610 };
611 fsib_clk: fsib@e6150090 {
612 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
613 reg = <0 0xe6150090 0 4>;
614 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
615 <&fsibck_clk>, <0>;
616 #clock-cells = <0>;
617 };
618 mp_clk: mp@e6150080 {
619 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
620 reg = <0 0xe6150080 0 4>;
621 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
622 <&extal2_clk>, <&extal2_clk>;
623 #clock-cells = <0>;
624 };
625 m4_clk: m4@e6150098 {
626 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
627 reg = <0 0xe6150098 0 4>;
628 clocks = <&cpg_clocks R8A73A4_CLK_PLL2S>;
629 #clock-cells = <0>;
630 };
631 hsi_clk: hsi@e615026c {
632 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
633 reg = <0 0xe615026c 0 4>;
634 clocks = <&cpg_clocks R8A73A4_CLK_PLL2H>, <&pll1_div2_clk>,
635 <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
636 #clock-cells = <0>;
637 };
638 spuv_clk: spuv@e6150094 {
639 compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
640 reg = <0 0xe6150094 0 4>;
641 clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
642 <&extal2_clk>, <&extal2_clk>;
643 #clock-cells = <0>;
644 };
645
646 /* Fixed factor clocks */
647 main_div2_clk: main_div2 {
648 compatible = "fixed-factor-clock";
649 clocks = <&cpg_clocks R8A73A4_CLK_MAIN>;
650 #clock-cells = <0>;
651 clock-div = <2>;
652 clock-mult = <1>;
653 };
Tom Rini6bb92fc2024-05-20 09:54:58 -0600654 cp_clk: cp {
655 compatible = "fixed-factor-clock";
656 clocks = <&main_div2_clk>;
657 #clock-cells = <0>;
658 clock-div = <1>;
659 clock-mult = <1>;
660 };
Tom Rini53633a82024-02-29 12:33:36 -0500661 pll0_div2_clk: pll0_div2 {
662 compatible = "fixed-factor-clock";
663 clocks = <&cpg_clocks R8A73A4_CLK_PLL0>;
664 #clock-cells = <0>;
665 clock-div = <2>;
666 clock-mult = <1>;
667 };
668 pll1_div2_clk: pll1_div2 {
669 compatible = "fixed-factor-clock";
670 clocks = <&cpg_clocks R8A73A4_CLK_PLL1>;
671 #clock-cells = <0>;
672 clock-div = <2>;
673 clock-mult = <1>;
674 };
675 extal1_div2_clk: extal1_div2 {
676 compatible = "fixed-factor-clock";
677 clocks = <&extal1_clk>;
678 #clock-cells = <0>;
679 clock-div = <2>;
680 clock-mult = <1>;
681 };
682
683 /* Gate clocks */
Tom Rini762f85b2024-07-20 11:15:10 -0600684 mstp1_clks: mstp1_clks@e6150134 {
685 compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
686 reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
687 clocks = <&cp_clk>, <&mp_clk>;
688 #clock-cells = <1>;
689 clock-indices = <
690 R8A73A4_CLK_TMU0 R8A73A4_CLK_TMU3
691 >;
692 clock-output-names =
693 "tmu0", "tmu3";
694 };
Tom Rini53633a82024-02-29 12:33:36 -0500695 mstp2_clks: mstp2_clks@e6150138 {
696 compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
697 reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
698 clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
699 <&mp_clk>, <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
700 #clock-cells = <1>;
701 clock-indices = <
702 R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
703 R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
704 R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
705 R8A73A4_CLK_DMAC
706 >;
707 clock-output-names =
708 "scifa0", "scifa1", "scifb0", "scifb1",
709 "scifb2", "scifb3", "dmac";
710 };
711 mstp3_clks: mstp3_clks@e615013c {
712 compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
713 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
714 clocks = <&cpg_clocks R8A73A4_CLK_HP>, <&mmc1_clk>,
715 <&sdhi2_clk>, <&sdhi1_clk>, <&sdhi0_clk>,
716 <&mmc0_clk>, <&cpg_clocks R8A73A4_CLK_HP>,
717 <&cpg_clocks R8A73A4_CLK_HP>, <&cpg_clocks
718 R8A73A4_CLK_HP>, <&cpg_clocks
719 R8A73A4_CLK_HP>, <&extalr_clk>;
720 #clock-cells = <1>;
721 clock-indices = <
722 R8A73A4_CLK_IIC2 R8A73A4_CLK_MMCIF1
723 R8A73A4_CLK_SDHI2 R8A73A4_CLK_SDHI1
724 R8A73A4_CLK_SDHI0 R8A73A4_CLK_MMCIF0
725 R8A73A4_CLK_IIC6 R8A73A4_CLK_IIC7
726 R8A73A4_CLK_IIC0 R8A73A4_CLK_IIC1
727 R8A73A4_CLK_CMT1
728 >;
729 clock-output-names =
730 "iic2", "mmcif1", "sdhi2", "sdhi1", "sdhi0",
731 "mmcif0", "iic6", "iic7", "iic0", "iic1",
732 "cmt1";
733 };
734 mstp4_clks: mstp4_clks@e6150140 {
735 compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
736 reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600737 clocks = <&cp_clk>, <&cpg_clocks R8A73A4_CLK_ZS>,
738 <&cp_clk>, <&cpg_clocks R8A73A4_CLK_HP>,
Tom Rini53633a82024-02-29 12:33:36 -0500739 <&cpg_clocks R8A73A4_CLK_HP>;
740 #clock-cells = <1>;
741 clock-indices = <
742 R8A73A4_CLK_IRQC R8A73A4_CLK_INTC_SYS
743 R8A73A4_CLK_IIC5 R8A73A4_CLK_IIC4
744 R8A73A4_CLK_IIC3
745 >;
746 clock-output-names =
747 "irqc", "intc-sys", "iic5", "iic4", "iic3";
748 };
749 mstp5_clks: mstp5_clks@e6150144 {
750 compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
751 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600752 clocks = <&cp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
Tom Rini53633a82024-02-29 12:33:36 -0500753 #clock-cells = <1>;
754 clock-indices = <
755 R8A73A4_CLK_THERMAL R8A73A4_CLK_IIC8
756 >;
757 clock-output-names =
758 "thermal", "iic8";
759 };
760 };
761
762 prr: chipid@ff000044 {
763 compatible = "renesas,prr";
764 reg = <0 0xff000044 0 4>;
765 };
766
767 sysc: system-controller@e6180000 {
768 compatible = "renesas,sysc-r8a73a4", "renesas,sysc-rmobile";
769 reg = <0 0xe6180000 0 0x8000>, <0 0xe6188000 0 0x8000>;
770
771 pm-domains {
772 pd_c5: c5 {
773 #address-cells = <1>;
774 #size-cells = <0>;
775 #power-domain-cells = <0>;
776
777 pd_c4: c4@0 {
778 reg = <0>;
779 #address-cells = <1>;
780 #size-cells = <0>;
781 #power-domain-cells = <0>;
782
783 pd_a3sg: a3sg@16 {
784 reg = <16>;
785 #power-domain-cells = <0>;
786 };
787
788 pd_a3ex: a3ex@17 {
789 reg = <17>;
790 #power-domain-cells = <0>;
791 };
792
793 pd_a3sp: a3sp@18 {
794 reg = <18>;
795 #address-cells = <1>;
796 #size-cells = <0>;
797 #power-domain-cells = <0>;
798
799 pd_a2us: a2us@19 {
800 reg = <19>;
801 #power-domain-cells = <0>;
802 };
803 };
804
805 pd_a3sm: a3sm@20 {
806 reg = <20>;
807 #address-cells = <1>;
808 #size-cells = <0>;
809 #power-domain-cells = <0>;
810
811 pd_a2sl: a2sl@21 {
812 reg = <21>;
813 #power-domain-cells = <0>;
814 };
815 };
816
817 pd_a3km: a3km@22 {
818 reg = <22>;
819 #address-cells = <1>;
820 #size-cells = <0>;
821 #power-domain-cells = <0>;
822
823 pd_a2kl: a2kl@23 {
824 reg = <23>;
825 #power-domain-cells = <0>;
826 };
827 };
828 };
829
830 pd_c4ma: c4ma@1 {
831 reg = <1>;
832 #power-domain-cells = <0>;
833 };
834
835 pd_c4cl: c4cl@2 {
836 reg = <2>;
837 #power-domain-cells = <0>;
838 };
839
840 pd_d4: d4@3 {
841 reg = <3>;
842 #power-domain-cells = <0>;
843 };
844
845 pd_a4bc: a4bc@4 {
846 reg = <4>;
847 #address-cells = <1>;
848 #size-cells = <0>;
849 #power-domain-cells = <0>;
850
851 pd_a3bc: a3bc@5 {
852 reg = <5>;
853 #power-domain-cells = <0>;
854 };
855 };
856
857 pd_a4l: a4l@6 {
858 reg = <6>;
859 #power-domain-cells = <0>;
860 };
861
862 pd_a4lc: a4lc@7 {
863 reg = <7>;
864 #power-domain-cells = <0>;
865 };
866
867 pd_a4mp: a4mp@8 {
868 reg = <8>;
869 #address-cells = <1>;
870 #size-cells = <0>;
871 #power-domain-cells = <0>;
872
873 pd_a3mp: a3mp@9 {
874 reg = <9>;
875 #power-domain-cells = <0>;
876 };
877
878 pd_a3vc: a3vc@10 {
879 reg = <10>;
880 #power-domain-cells = <0>;
881 };
882 };
883
884 pd_a4sf: a4sf@11 {
885 reg = <11>;
886 #power-domain-cells = <0>;
887 };
888
889 pd_a3r: a3r@12 {
890 reg = <12>;
891 #address-cells = <1>;
892 #size-cells = <0>;
893 #power-domain-cells = <0>;
894
895 pd_a2rv: a2rv@13 {
896 reg = <13>;
897 #power-domain-cells = <0>;
898 };
899
900 pd_a2is: a2is@14 {
901 reg = <14>;
902 #power-domain-cells = <0>;
903 };
904 };
905 };
906 };
907 };
908};