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