Loading...
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the R-Mobile A1 (R8A77400) SoC
4 *
5 * Copyright (C) 2012 Renesas Solutions Corp.
6 */
7
8#include <dt-bindings/clock/r8a7740-clock.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/interrupt-controller/irq.h>
11
12/ {
13 compatible = "renesas,r8a7740";
14 interrupt-parent = <&gic>;
15 #address-cells = <1>;
16 #size-cells = <1>;
17
18 cpus {
19 #address-cells = <1>;
20 #size-cells = <0>;
21 cpu@0 {
22 compatible = "arm,cortex-a9";
23 device_type = "cpu";
24 reg = <0x0>;
25 clock-frequency = <800000000>;
26 power-domains = <&pd_a3sm>;
27 next-level-cache = <&L2>;
28 };
29 };
30
31 gic: interrupt-controller@c2800000 {
32 compatible = "arm,pl390";
33 #interrupt-cells = <3>;
34 interrupt-controller;
35 reg = <0xc2800000 0x1000>,
36 <0xc2000000 0x1000>;
37 };
38
39 L2: cache-controller@f0100000 {
40 compatible = "arm,pl310-cache";
41 reg = <0xf0100000 0x1000>;
42 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
43 power-domains = <&pd_a3sm>;
44 arm,data-latency = <3 3 3>;
45 arm,tag-latency = <2 2 2>;
46 arm,shared-override;
47 cache-unified;
48 cache-level = <2>;
49 };
50
51 dbsc3: memory-controller@fe400000 {
52 compatible = "renesas,dbsc3-r8a7740";
53 reg = <0xfe400000 0x400>;
54 power-domains = <&pd_a4s>;
55 };
56
57 pmu {
58 compatible = "arm,cortex-a9-pmu";
59 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
60 };
61
62 ptm {
63 compatible = "arm,coresight-etm3x";
64 power-domains = <&pd_d4>;
65 };
66
67 ceu0: ceu@fe910000 {
68 reg = <0xfe910000 0x3000>;
69 compatible = "renesas,r8a7740-ceu";
70 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
71 clocks = <&mstp1_clks R8A7740_CLK_CEU20>;
72 power-domains = <&pd_a4r>;
73 status = "disabled";
74 };
75
76 ceu1: ceu@fe914000 {
77 reg = <0xfe914000 0x3000>;
78 compatible = "renesas,r8a7740-ceu";
79 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
80 clocks = <&mstp1_clks R8A7740_CLK_CEU21>;
81 power-domains = <&pd_a4r>;
82 status = "disabled";
83 };
84
85 cmt1: timer@e6138000 {
86 compatible = "renesas,r8a7740-cmt1";
87 reg = <0xe6138000 0x170>;
88 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
89 clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
90 clock-names = "fck";
91 power-domains = <&pd_c5>;
92 status = "disabled";
93 };
94
95 /* irqpin0: IRQ0 - IRQ7 */
96 irqpin0: interrupt-controller@e6900000 {
97 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
98 #interrupt-cells = <2>;
99 interrupt-controller;
100 reg = <0xe6900000 4>,
101 <0xe6900010 4>,
102 <0xe6900020 1>,
103 <0xe6900040 1>,
104 <0xe6900060 1>;
105 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
106 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
107 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
108 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
109 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
110 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
111 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
112 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
113 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
114 power-domains = <&pd_a4s>;
115 };
116
117 /* irqpin1: IRQ8 - IRQ15 */
118 irqpin1: interrupt-controller@e6900004 {
119 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
120 #interrupt-cells = <2>;
121 interrupt-controller;
122 reg = <0xe6900004 4>,
123 <0xe6900014 4>,
124 <0xe6900024 1>,
125 <0xe6900044 1>,
126 <0xe6900064 1>;
127 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
128 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
129 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
130 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
131 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
132 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
133 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
134 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
135 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
136 power-domains = <&pd_a4s>;
137 };
138
139 /* irqpin2: IRQ16 - IRQ23 */
140 irqpin2: interrupt-controller@e6900008 {
141 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
142 #interrupt-cells = <2>;
143 interrupt-controller;
144 reg = <0xe6900008 4>,
145 <0xe6900018 4>,
146 <0xe6900028 1>,
147 <0xe6900048 1>,
148 <0xe6900068 1>;
149 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
151 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
152 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
153 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
154 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
155 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
156 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
157 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
158 power-domains = <&pd_a4s>;
159 };
160
161 /* irqpin3: IRQ24 - IRQ31 */
162 irqpin3: interrupt-controller@e690000c {
163 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
164 #interrupt-cells = <2>;
165 interrupt-controller;
166 reg = <0xe690000c 4>,
167 <0xe690001c 4>,
168 <0xe690002c 1>,
169 <0xe690004c 1>,
170 <0xe690006c 1>;
171 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
172 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
173 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
174 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
175 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
176 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
177 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
179 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
180 power-domains = <&pd_a4s>;
181 };
182
183 ether: ethernet@e9a00000 {
184 compatible = "renesas,gether-r8a7740";
185 reg = <0xe9a00000 0x800>,
186 <0xe9a01800 0x800>;
187 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
188 clocks = <&mstp3_clks R8A7740_CLK_GETHER>;
189 power-domains = <&pd_a4s>;
190 phy-mode = "mii";
191 #address-cells = <1>;
192 #size-cells = <0>;
193 status = "disabled";
194 };
195
196 i2c0: i2c@fff20000 {
197 #address-cells = <1>;
198 #size-cells = <0>;
199 compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
200 reg = <0xfff20000 0x425>;
201 interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
202 <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
203 <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
204 <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
205 clocks = <&mstp1_clks R8A7740_CLK_IIC0>;
206 power-domains = <&pd_a4r>;
207 status = "disabled";
208 };
209
210 i2c1: i2c@e6c20000 {
211 #address-cells = <1>;
212 #size-cells = <0>;
213 compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
214 reg = <0xe6c20000 0x425>;
215 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
216 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
217 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
218 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
219 clocks = <&mstp3_clks R8A7740_CLK_IIC1>;
220 power-domains = <&pd_a3sp>;
221 status = "disabled";
222 };
223
224 scifa0: serial@e6c40000 {
225 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
226 reg = <0xe6c40000 0x100>;
227 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
228 clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
229 clock-names = "fck";
230 power-domains = <&pd_a3sp>;
231 status = "disabled";
232 };
233
234 scifa1: serial@e6c50000 {
235 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
236 reg = <0xe6c50000 0x100>;
237 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
238 clocks = <&mstp2_clks R8A7740_CLK_SCIFA1>;
239 clock-names = "fck";
240 power-domains = <&pd_a3sp>;
241 status = "disabled";
242 };
243
244 scifa2: serial@e6c60000 {
245 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
246 reg = <0xe6c60000 0x100>;
247 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
248 clocks = <&mstp2_clks R8A7740_CLK_SCIFA2>;
249 clock-names = "fck";
250 power-domains = <&pd_a3sp>;
251 status = "disabled";
252 };
253
254 scifa3: serial@e6c70000 {
255 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
256 reg = <0xe6c70000 0x100>;
257 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
258 clocks = <&mstp2_clks R8A7740_CLK_SCIFA3>;
259 clock-names = "fck";
260 power-domains = <&pd_a3sp>;
261 status = "disabled";
262 };
263
264 scifa4: serial@e6c80000 {
265 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
266 reg = <0xe6c80000 0x100>;
267 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
268 clocks = <&mstp2_clks R8A7740_CLK_SCIFA4>;
269 clock-names = "fck";
270 power-domains = <&pd_a3sp>;
271 status = "disabled";
272 };
273
274 scifa5: serial@e6cb0000 {
275 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
276 reg = <0xe6cb0000 0x100>;
277 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
278 clocks = <&mstp2_clks R8A7740_CLK_SCIFA5>;
279 clock-names = "fck";
280 power-domains = <&pd_a3sp>;
281 status = "disabled";
282 };
283
284 scifa6: serial@e6cc0000 {
285 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
286 reg = <0xe6cc0000 0x100>;
287 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
288 clocks = <&mstp2_clks R8A7740_CLK_SCIFA6>;
289 clock-names = "fck";
290 power-domains = <&pd_a3sp>;
291 status = "disabled";
292 };
293
294 scifa7: serial@e6cd0000 {
295 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
296 reg = <0xe6cd0000 0x100>;
297 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
298 clocks = <&mstp2_clks R8A7740_CLK_SCIFA7>;
299 clock-names = "fck";
300 power-domains = <&pd_a3sp>;
301 status = "disabled";
302 };
303
304 scifb: serial@e6c30000 {
305 compatible = "renesas,scifb-r8a7740", "renesas,scifb";
306 reg = <0xe6c30000 0x100>;
307 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
308 clocks = <&mstp2_clks R8A7740_CLK_SCIFB>;
309 clock-names = "fck";
310 power-domains = <&pd_a3sp>;
311 status = "disabled";
312 };
313
314 pfc: pinctrl@e6050000 {
315 compatible = "renesas,pfc-r8a7740";
316 reg = <0xe6050000 0x8000>,
317 <0xe605800c 0x20>;
318 gpio-controller;
319 #gpio-cells = <2>;
320 gpio-ranges = <&pfc 0 0 212>;
321 interrupts-extended =
322 <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
323 <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
324 <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
325 <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
326 <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
327 <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
328 <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
329 <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
330 power-domains = <&pd_c5>;
331 };
332
333 tpu: pwm@e6600000 {
334 compatible = "renesas,tpu-r8a7740", "renesas,tpu";
335 reg = <0xe6600000 0x148>;
336 clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
337 power-domains = <&pd_a3sp>;
338 status = "disabled";
339 #pwm-cells = <3>;
340 };
341
342 mmcif0: mmc@e6bd0000 {
343 compatible = "renesas,mmcif-r8a7740", "renesas,sh-mmcif";
344 reg = <0xe6bd0000 0x100>;
345 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
346 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
347 clocks = <&mstp3_clks R8A7740_CLK_MMC>;
348 power-domains = <&pd_a3sp>;
349 status = "disabled";
350 };
351
352 sdhi0: mmc@e6850000 {
353 compatible = "renesas,sdhi-r8a7740";
354 reg = <0xe6850000 0x100>;
355 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
356 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
357 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
358 clocks = <&mstp3_clks R8A7740_CLK_SDHI0>;
359 power-domains = <&pd_a3sp>;
360 cap-sd-highspeed;
361 cap-sdio-irq;
362 status = "disabled";
363 };
364
365 sdhi1: mmc@e6860000 {
366 compatible = "renesas,sdhi-r8a7740";
367 reg = <0xe6860000 0x100>;
368 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
369 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
370 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
371 clocks = <&mstp3_clks R8A7740_CLK_SDHI1>;
372 power-domains = <&pd_a3sp>;
373 cap-sd-highspeed;
374 cap-sdio-irq;
375 status = "disabled";
376 };
377
378 sdhi2: mmc@e6870000 {
379 compatible = "renesas,sdhi-r8a7740";
380 reg = <0xe6870000 0x100>;
381 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
382 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
383 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
384 clocks = <&mstp4_clks R8A7740_CLK_SDHI2>;
385 power-domains = <&pd_a3sp>;
386 cap-sd-highspeed;
387 cap-sdio-irq;
388 status = "disabled";
389 };
390
391 sh_fsi2: sound@fe1f0000 {
392 #sound-dai-cells = <1>;
393 compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
394 reg = <0xfe1f0000 0x400>;
395 interrupts = <GIC_SPI 9 0x4>;
396 clocks = <&mstp3_clks R8A7740_CLK_FSI>;
397 power-domains = <&pd_a4mp>;
398 status = "disabled";
399 };
400
401 tmu0: timer@fff80000 {
402 compatible = "renesas,tmu-r8a7740", "renesas,tmu";
403 reg = <0xfff80000 0x2c>;
404 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
405 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
406 <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
407 clocks = <&mstp1_clks R8A7740_CLK_TMU0>;
408 clock-names = "fck";
409 power-domains = <&pd_a4r>;
410
411 #renesas,channels = <3>;
412
413 status = "disabled";
414 };
415
416 tmu1: timer@fff90000 {
417 compatible = "renesas,tmu-r8a7740", "renesas,tmu";
418 reg = <0xfff90000 0x2c>;
419 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
420 <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
421 <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
422 clocks = <&mstp1_clks R8A7740_CLK_TMU1>;
423 clock-names = "fck";
424 power-domains = <&pd_a4r>;
425
426 #renesas,channels = <3>;
427
428 status = "disabled";
429 };
430
431 clocks {
432 #address-cells = <1>;
433 #size-cells = <1>;
434 ranges;
435
436 /* External root clock */
437 extalr_clk: extalr {
438 compatible = "fixed-clock";
439 #clock-cells = <0>;
440 clock-frequency = <32768>;
441 };
442 extal1_clk: extal1 {
443 compatible = "fixed-clock";
444 #clock-cells = <0>;
445 clock-frequency = <0>;
446 };
447 extal2_clk: extal2 {
448 compatible = "fixed-clock";
449 #clock-cells = <0>;
450 clock-frequency = <0>;
451 };
452 dv_clk: dv {
453 compatible = "fixed-clock";
454 #clock-cells = <0>;
455 clock-frequency = <27000000>;
456 };
457 fmsick_clk: fmsick {
458 compatible = "fixed-clock";
459 #clock-cells = <0>;
460 clock-frequency = <0>;
461 };
462 fmsock_clk: fmsock {
463 compatible = "fixed-clock";
464 #clock-cells = <0>;
465 clock-frequency = <0>;
466 };
467 fsiack_clk: fsiack {
468 compatible = "fixed-clock";
469 #clock-cells = <0>;
470 clock-frequency = <0>;
471 };
472 fsibck_clk: fsibck {
473 compatible = "fixed-clock";
474 #clock-cells = <0>;
475 clock-frequency = <0>;
476 };
477
478 /* Special CPG clocks */
479 cpg_clocks: cpg_clocks@e6150000 {
480 compatible = "renesas,r8a7740-cpg-clocks";
481 reg = <0xe6150000 0x10000>;
482 clocks = <&extal1_clk>, <&extal2_clk>, <&extalr_clk>;
483 #clock-cells = <1>;
484 clock-output-names = "system", "pllc0", "pllc1",
485 "pllc2", "r",
486 "usb24s",
487 "i", "zg", "b", "m1", "hp",
488 "hpp", "usbp", "s", "zb", "m3",
489 "cp";
490 };
491
492 /* Variable factor clocks (DIV6) */
493 vclk1_clk: vclk1@e6150008 {
494 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
495 reg = <0xe6150008 4>;
496 clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
497 <&cpg_clocks R8A7740_CLK_USB24S>,
498 <&extal1_div2_clk>, <&extalr_clk>, <0>,
499 <0>;
500 #clock-cells = <0>;
501 };
502 vclk2_clk: vclk2@e615000c {
503 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
504 reg = <0xe615000c 4>;
505 clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
506 <&cpg_clocks R8A7740_CLK_USB24S>,
507 <&extal1_div2_clk>, <&extalr_clk>, <0>,
508 <0>;
509 #clock-cells = <0>;
510 };
511 fmsi_clk: fmsi@e6150010 {
512 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
513 reg = <0xe6150010 4>;
514 clocks = <&pllc1_div2_clk>, <&fmsick_clk>, <0>, <0>;
515 #clock-cells = <0>;
516 };
517 fmso_clk: fmso@e6150014 {
518 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
519 reg = <0xe6150014 4>;
520 clocks = <&pllc1_div2_clk>, <&fmsock_clk>, <0>, <0>;
521 #clock-cells = <0>;
522 };
523 fsia_clk: fsia@e6150018 {
524 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
525 reg = <0xe6150018 4>;
526 clocks = <&pllc1_div2_clk>, <&fsiack_clk>, <0>, <0>;
527 #clock-cells = <0>;
528 };
529 sub_clk: sub@e6150080 {
530 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
531 reg = <0xe6150080 4>;
532 clocks = <&pllc1_div2_clk>,
533 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
534 #clock-cells = <0>;
535 };
536 spu_clk: spu@e6150084 {
537 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
538 reg = <0xe6150084 4>;
539 clocks = <&pllc1_div2_clk>,
540 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
541 #clock-cells = <0>;
542 };
543 vou_clk: vou@e6150088 {
544 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
545 reg = <0xe6150088 4>;
546 clocks = <&pllc1_div2_clk>, <&extal1_clk>, <&dv_clk>,
547 <0>;
548 #clock-cells = <0>;
549 };
550 stpro_clk: stpro@e615009c {
551 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
552 reg = <0xe615009c 4>;
553 clocks = <&cpg_clocks R8A7740_CLK_PLLC0>;
554 #clock-cells = <0>;
555 };
556
557 /* Fixed factor clocks */
558 pllc1_div2_clk: pllc1_div2 {
559 compatible = "fixed-factor-clock";
560 clocks = <&cpg_clocks R8A7740_CLK_PLLC1>;
561 #clock-cells = <0>;
562 clock-div = <2>;
563 clock-mult = <1>;
564 };
565 extal1_div2_clk: extal1_div2 {
566 compatible = "fixed-factor-clock";
567 clocks = <&extal1_clk>;
568 #clock-cells = <0>;
569 clock-div = <2>;
570 clock-mult = <1>;
571 };
572
573 /* Gate clocks */
574 subck_clks: subck_clks@e6150080 {
575 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
576 reg = <0xe6150080 4>;
577 clocks = <&sub_clk>, <&sub_clk>;
578 #clock-cells = <1>;
579 clock-indices = <
580 R8A7740_CLK_SUBCK R8A7740_CLK_SUBCK2
581 >;
582 clock-output-names =
583 "subck", "subck2";
584 };
585 mstp1_clks: mstp1_clks@e6150134 {
586 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
587 reg = <0xe6150134 4>, <0xe6150038 4>;
588 clocks = <&cpg_clocks R8A7740_CLK_S>,
589 <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>,
590 <&cpg_clocks R8A7740_CLK_B>,
591 <&cpg_clocks R8A7740_CLK_HPP>, <&sub_clk>,
592 <&cpg_clocks R8A7740_CLK_B>;
593 #clock-cells = <1>;
594 clock-indices = <
595 R8A7740_CLK_CEU21 R8A7740_CLK_CEU20 R8A7740_CLK_TMU0
596 R8A7740_CLK_LCDC1 R8A7740_CLK_IIC0 R8A7740_CLK_TMU1
597 R8A7740_CLK_LCDC0
598 >;
599 clock-output-names =
600 "ceu21", "ceu20", "tmu0", "lcdc1", "iic0",
601 "tmu1", "lcdc0";
602 };
603 mstp2_clks: mstp2_clks@e6150138 {
604 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
605 reg = <0xe6150138 4>, <0xe6150040 4>;
606 clocks = <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
607 <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
608 <&cpg_clocks R8A7740_CLK_HP>,
609 <&cpg_clocks R8A7740_CLK_HP>,
610 <&cpg_clocks R8A7740_CLK_HP>,
611 <&sub_clk>, <&sub_clk>, <&sub_clk>,
612 <&sub_clk>, <&sub_clk>, <&sub_clk>,
613 <&sub_clk>;
614 #clock-cells = <1>;
615 clock-indices = <
616 R8A7740_CLK_SCIFA6 R8A7740_CLK_INTCA
617 R8A7740_CLK_SCIFA7
618 R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2
619 R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC
620 R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB
621 R8A7740_CLK_SCIFA0 R8A7740_CLK_SCIFA1
622 R8A7740_CLK_SCIFA2 R8A7740_CLK_SCIFA3
623 R8A7740_CLK_SCIFA4
624 >;
625 clock-output-names =
626 "scifa6", "intca",
627 "scifa7", "dmac1", "dmac2", "dmac3",
628 "usbdmac", "scifa5", "scifb", "scifa0", "scifa1",
629 "scifa2", "scifa3", "scifa4";
630 };
631 mstp3_clks: mstp3_clks@e615013c {
632 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
633 reg = <0xe615013c 4>, <0xe6150048 4>;
634 clocks = <&cpg_clocks R8A7740_CLK_R>,
635 <&cpg_clocks R8A7740_CLK_HP>,
636 <&sub_clk>,
637 <&cpg_clocks R8A7740_CLK_HP>,
638 <&cpg_clocks R8A7740_CLK_HP>,
639 <&cpg_clocks R8A7740_CLK_HP>,
640 <&cpg_clocks R8A7740_CLK_HP>,
641 <&cpg_clocks R8A7740_CLK_HP>,
642 <&cpg_clocks R8A7740_CLK_HP>;
643 #clock-cells = <1>;
644 clock-indices = <
645 R8A7740_CLK_CMT1 R8A7740_CLK_FSI R8A7740_CLK_IIC1
646 R8A7740_CLK_USBF R8A7740_CLK_SDHI0 R8A7740_CLK_SDHI1
647 R8A7740_CLK_MMC R8A7740_CLK_GETHER R8A7740_CLK_TPU0
648 >;
649 clock-output-names =
650 "cmt1", "fsi", "iic1", "usbf", "sdhi0", "sdhi1",
651 "mmc", "gether", "tpu0";
652 };
653 mstp4_clks: mstp4_clks@e6150140 {
654 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
655 reg = <0xe6150140 4>, <0xe615004c 4>;
656 clocks = <&cpg_clocks R8A7740_CLK_HP>,
657 <&cpg_clocks R8A7740_CLK_HP>,
658 <&cpg_clocks R8A7740_CLK_HP>,
659 <&cpg_clocks R8A7740_CLK_HP>;
660 #clock-cells = <1>;
661 clock-indices = <
662 R8A7740_CLK_USBH R8A7740_CLK_SDHI2
663 R8A7740_CLK_USBFUNC R8A7740_CLK_USBPHY
664 >;
665 clock-output-names =
666 "usbhost", "sdhi2", "usbfunc", "usphy";
667 };
668 };
669
670 sysc: system-controller@e6180000 {
671 compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
672 reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
673
674 pm-domains {
675 pd_c5: c5 {
676 #address-cells = <1>;
677 #size-cells = <0>;
678 #power-domain-cells = <0>;
679
680 pd_a4lc: a4lc@1 {
681 reg = <1>;
682 #power-domain-cells = <0>;
683 };
684
685 pd_a4mp: a4mp@2 {
686 reg = <2>;
687 #power-domain-cells = <0>;
688 };
689
690 pd_d4: d4@3 {
691 reg = <3>;
692 #power-domain-cells = <0>;
693 };
694
695 pd_a4r: a4r@5 {
696 reg = <5>;
697 #address-cells = <1>;
698 #size-cells = <0>;
699 #power-domain-cells = <0>;
700
701 pd_a3rv: a3rv@6 {
702 reg = <6>;
703 #power-domain-cells = <0>;
704 };
705 };
706
707 pd_a4s: a4s@10 {
708 reg = <10>;
709 #address-cells = <1>;
710 #size-cells = <0>;
711 #power-domain-cells = <0>;
712
713 pd_a3sp: a3sp@11 {
714 reg = <11>;
715 #power-domain-cells = <0>;
716 };
717
718 pd_a3sm: a3sm@12 {
719 reg = <12>;
720 #power-domain-cells = <0>;
721 };
722
723 pd_a3sg: a3sg@13 {
724 reg = <13>;
725 #power-domain-cells = <0>;
726 };
727 };
728
729 pd_a4su: a4su@20 {
730 reg = <20>;
731 #power-domain-cells = <0>;
732 };
733 };
734 };
735 };
736};
1/*
2 * Device Tree Source for the r8a7740 SoC
3 *
4 * Copyright (C) 2012 Renesas Solutions Corp.
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
11#include <dt-bindings/clock/r8a7740-clock.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14
15/ {
16 compatible = "renesas,r8a7740";
17 interrupt-parent = <&gic>;
18 #address-cells = <1>;
19 #size-cells = <1>;
20
21 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24 cpu@0 {
25 compatible = "arm,cortex-a9";
26 device_type = "cpu";
27 reg = <0x0>;
28 clock-frequency = <800000000>;
29 power-domains = <&pd_a3sm>;
30 next-level-cache = <&L2>;
31 };
32 };
33
34 gic: interrupt-controller@c2800000 {
35 compatible = "arm,pl390";
36 #interrupt-cells = <3>;
37 interrupt-controller;
38 reg = <0xc2800000 0x1000>,
39 <0xc2000000 0x1000>;
40 };
41
42 L2: cache-controller@f0100000 {
43 compatible = "arm,pl310-cache";
44 reg = <0xf0100000 0x1000>;
45 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
46 power-domains = <&pd_a3sm>;
47 arm,data-latency = <3 3 3>;
48 arm,tag-latency = <2 2 2>;
49 arm,shared-override;
50 cache-unified;
51 cache-level = <2>;
52 };
53
54 dbsc3: memory-controller@fe400000 {
55 compatible = "renesas,dbsc3-r8a7740";
56 reg = <0xfe400000 0x400>;
57 power-domains = <&pd_a4s>;
58 };
59
60 pmu {
61 compatible = "arm,cortex-a9-pmu";
62 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
63 };
64
65 ptm {
66 compatible = "arm,coresight-etm3x";
67 power-domains = <&pd_d4>;
68 };
69
70 cmt1: timer@e6138000 {
71 compatible = "renesas,cmt-48-r8a7740", "renesas,cmt-48";
72 reg = <0xe6138000 0x170>;
73 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
74 clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
75 clock-names = "fck";
76 power-domains = <&pd_c5>;
77
78 renesas,channels-mask = <0x3f>;
79
80 status = "disabled";
81 };
82
83 /* irqpin0: IRQ0 - IRQ7 */
84 irqpin0: interrupt-controller@e6900000 {
85 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
86 #interrupt-cells = <2>;
87 interrupt-controller;
88 reg = <0xe6900000 4>,
89 <0xe6900010 4>,
90 <0xe6900020 1>,
91 <0xe6900040 1>,
92 <0xe6900060 1>;
93 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
94 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
95 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
96 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
97 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
98 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
99 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
100 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
101 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
102 power-domains = <&pd_a4s>;
103 };
104
105 /* irqpin1: IRQ8 - IRQ15 */
106 irqpin1: interrupt-controller@e6900004 {
107 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
108 #interrupt-cells = <2>;
109 interrupt-controller;
110 reg = <0xe6900004 4>,
111 <0xe6900014 4>,
112 <0xe6900024 1>,
113 <0xe6900044 1>,
114 <0xe6900064 1>;
115 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
116 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
117 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
118 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
119 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
120 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
121 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
122 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
123 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
124 power-domains = <&pd_a4s>;
125 };
126
127 /* irqpin2: IRQ16 - IRQ23 */
128 irqpin2: interrupt-controller@e6900008 {
129 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
130 #interrupt-cells = <2>;
131 interrupt-controller;
132 reg = <0xe6900008 4>,
133 <0xe6900018 4>,
134 <0xe6900028 1>,
135 <0xe6900048 1>,
136 <0xe6900068 1>;
137 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
138 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
139 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
140 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
141 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
142 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
143 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
144 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
145 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
146 power-domains = <&pd_a4s>;
147 };
148
149 /* irqpin3: IRQ24 - IRQ31 */
150 irqpin3: interrupt-controller@e690000c {
151 compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
152 #interrupt-cells = <2>;
153 interrupt-controller;
154 reg = <0xe690000c 4>,
155 <0xe690001c 4>,
156 <0xe690002c 1>,
157 <0xe690004c 1>,
158 <0xe690006c 1>;
159 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
160 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
161 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
162 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
163 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
164 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
165 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
166 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
167 clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
168 power-domains = <&pd_a4s>;
169 };
170
171 ether: ethernet@e9a00000 {
172 compatible = "renesas,gether-r8a7740";
173 reg = <0xe9a00000 0x800>,
174 <0xe9a01800 0x800>;
175 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
176 clocks = <&mstp3_clks R8A7740_CLK_GETHER>;
177 power-domains = <&pd_a4s>;
178 phy-mode = "mii";
179 #address-cells = <1>;
180 #size-cells = <0>;
181 status = "disabled";
182 };
183
184 i2c0: i2c@fff20000 {
185 #address-cells = <1>;
186 #size-cells = <0>;
187 compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
188 reg = <0xfff20000 0x425>;
189 interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
190 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
191 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
192 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
193 clocks = <&mstp1_clks R8A7740_CLK_IIC0>;
194 power-domains = <&pd_a4r>;
195 status = "disabled";
196 };
197
198 i2c1: i2c@e6c20000 {
199 #address-cells = <1>;
200 #size-cells = <0>;
201 compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
202 reg = <0xe6c20000 0x425>;
203 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
204 GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH
205 GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH
206 GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
207 clocks = <&mstp3_clks R8A7740_CLK_IIC1>;
208 power-domains = <&pd_a3sp>;
209 status = "disabled";
210 };
211
212 scifa0: serial@e6c40000 {
213 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
214 reg = <0xe6c40000 0x100>;
215 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
216 clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
217 clock-names = "fck";
218 power-domains = <&pd_a3sp>;
219 status = "disabled";
220 };
221
222 scifa1: serial@e6c50000 {
223 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
224 reg = <0xe6c50000 0x100>;
225 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
226 clocks = <&mstp2_clks R8A7740_CLK_SCIFA1>;
227 clock-names = "fck";
228 power-domains = <&pd_a3sp>;
229 status = "disabled";
230 };
231
232 scifa2: serial@e6c60000 {
233 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
234 reg = <0xe6c60000 0x100>;
235 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
236 clocks = <&mstp2_clks R8A7740_CLK_SCIFA2>;
237 clock-names = "fck";
238 power-domains = <&pd_a3sp>;
239 status = "disabled";
240 };
241
242 scifa3: serial@e6c70000 {
243 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
244 reg = <0xe6c70000 0x100>;
245 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
246 clocks = <&mstp2_clks R8A7740_CLK_SCIFA3>;
247 clock-names = "fck";
248 power-domains = <&pd_a3sp>;
249 status = "disabled";
250 };
251
252 scifa4: serial@e6c80000 {
253 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
254 reg = <0xe6c80000 0x100>;
255 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
256 clocks = <&mstp2_clks R8A7740_CLK_SCIFA4>;
257 clock-names = "fck";
258 power-domains = <&pd_a3sp>;
259 status = "disabled";
260 };
261
262 scifa5: serial@e6cb0000 {
263 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
264 reg = <0xe6cb0000 0x100>;
265 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
266 clocks = <&mstp2_clks R8A7740_CLK_SCIFA5>;
267 clock-names = "fck";
268 power-domains = <&pd_a3sp>;
269 status = "disabled";
270 };
271
272 scifa6: serial@e6cc0000 {
273 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
274 reg = <0xe6cc0000 0x100>;
275 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
276 clocks = <&mstp2_clks R8A7740_CLK_SCIFA6>;
277 clock-names = "fck";
278 power-domains = <&pd_a3sp>;
279 status = "disabled";
280 };
281
282 scifa7: serial@e6cd0000 {
283 compatible = "renesas,scifa-r8a7740", "renesas,scifa";
284 reg = <0xe6cd0000 0x100>;
285 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&mstp2_clks R8A7740_CLK_SCIFA7>;
287 clock-names = "fck";
288 power-domains = <&pd_a3sp>;
289 status = "disabled";
290 };
291
292 scifb: serial@e6c30000 {
293 compatible = "renesas,scifb-r8a7740", "renesas,scifb";
294 reg = <0xe6c30000 0x100>;
295 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
296 clocks = <&mstp2_clks R8A7740_CLK_SCIFB>;
297 clock-names = "fck";
298 power-domains = <&pd_a3sp>;
299 status = "disabled";
300 };
301
302 pfc: pfc@e6050000 {
303 compatible = "renesas,pfc-r8a7740";
304 reg = <0xe6050000 0x8000>,
305 <0xe605800c 0x20>;
306 gpio-controller;
307 #gpio-cells = <2>;
308 gpio-ranges = <&pfc 0 0 212>;
309 interrupts-extended =
310 <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
311 <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
312 <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
313 <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
314 <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
315 <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
316 <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
317 <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
318 power-domains = <&pd_c5>;
319 };
320
321 tpu: pwm@e6600000 {
322 compatible = "renesas,tpu-r8a7740", "renesas,tpu";
323 reg = <0xe6600000 0x100>;
324 clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
325 power-domains = <&pd_a3sp>;
326 status = "disabled";
327 #pwm-cells = <3>;
328 };
329
330 mmcif0: mmc@e6bd0000 {
331 compatible = "renesas,mmcif-r8a7740", "renesas,sh-mmcif";
332 reg = <0xe6bd0000 0x100>;
333 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH
334 GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
335 clocks = <&mstp3_clks R8A7740_CLK_MMC>;
336 power-domains = <&pd_a3sp>;
337 status = "disabled";
338 };
339
340 sdhi0: sd@e6850000 {
341 compatible = "renesas,sdhi-r8a7740";
342 reg = <0xe6850000 0x100>;
343 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH
344 GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH
345 GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
346 clocks = <&mstp3_clks R8A7740_CLK_SDHI0>;
347 power-domains = <&pd_a3sp>;
348 cap-sd-highspeed;
349 cap-sdio-irq;
350 status = "disabled";
351 };
352
353 sdhi1: sd@e6860000 {
354 compatible = "renesas,sdhi-r8a7740";
355 reg = <0xe6860000 0x100>;
356 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH
357 GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH
358 GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
359 clocks = <&mstp3_clks R8A7740_CLK_SDHI1>;
360 power-domains = <&pd_a3sp>;
361 cap-sd-highspeed;
362 cap-sdio-irq;
363 status = "disabled";
364 };
365
366 sdhi2: sd@e6870000 {
367 compatible = "renesas,sdhi-r8a7740";
368 reg = <0xe6870000 0x100>;
369 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH
370 GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH
371 GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
372 clocks = <&mstp4_clks R8A7740_CLK_SDHI2>;
373 power-domains = <&pd_a3sp>;
374 cap-sd-highspeed;
375 cap-sdio-irq;
376 status = "disabled";
377 };
378
379 sh_fsi2: sound@fe1f0000 {
380 #sound-dai-cells = <1>;
381 compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
382 reg = <0xfe1f0000 0x400>;
383 interrupts = <GIC_SPI 9 0x4>;
384 clocks = <&mstp3_clks R8A7740_CLK_FSI>;
385 power-domains = <&pd_a4mp>;
386 status = "disabled";
387 };
388
389 tmu0: timer@fff80000 {
390 compatible = "renesas,tmu-r8a7740", "renesas,tmu";
391 reg = <0xfff80000 0x2c>;
392 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
393 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
394 <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
395 clocks = <&mstp1_clks R8A7740_CLK_TMU0>;
396 clock-names = "fck";
397 power-domains = <&pd_a4r>;
398
399 #renesas,channels = <3>;
400
401 status = "disabled";
402 };
403
404 tmu1: timer@fff90000 {
405 compatible = "renesas,tmu-r8a7740", "renesas,tmu";
406 reg = <0xfff90000 0x2c>;
407 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
408 <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
409 <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
410 clocks = <&mstp1_clks R8A7740_CLK_TMU1>;
411 clock-names = "fck";
412 power-domains = <&pd_a4r>;
413
414 #renesas,channels = <3>;
415
416 status = "disabled";
417 };
418
419 clocks {
420 #address-cells = <1>;
421 #size-cells = <1>;
422 ranges;
423
424 /* External root clock */
425 extalr_clk: extalr {
426 compatible = "fixed-clock";
427 #clock-cells = <0>;
428 clock-frequency = <32768>;
429 };
430 extal1_clk: extal1 {
431 compatible = "fixed-clock";
432 #clock-cells = <0>;
433 clock-frequency = <0>;
434 };
435 extal2_clk: extal2 {
436 compatible = "fixed-clock";
437 #clock-cells = <0>;
438 clock-frequency = <0>;
439 };
440 dv_clk: dv {
441 compatible = "fixed-clock";
442 #clock-cells = <0>;
443 clock-frequency = <27000000>;
444 };
445 fmsick_clk: fmsick {
446 compatible = "fixed-clock";
447 #clock-cells = <0>;
448 clock-frequency = <0>;
449 };
450 fmsock_clk: fmsock {
451 compatible = "fixed-clock";
452 #clock-cells = <0>;
453 clock-frequency = <0>;
454 };
455 fsiack_clk: fsiack {
456 compatible = "fixed-clock";
457 #clock-cells = <0>;
458 clock-frequency = <0>;
459 };
460 fsibck_clk: fsibck {
461 compatible = "fixed-clock";
462 #clock-cells = <0>;
463 clock-frequency = <0>;
464 };
465
466 /* Special CPG clocks */
467 cpg_clocks: cpg_clocks@e6150000 {
468 compatible = "renesas,r8a7740-cpg-clocks";
469 reg = <0xe6150000 0x10000>;
470 clocks = <&extal1_clk>, <&extalr_clk>;
471 #clock-cells = <1>;
472 clock-output-names = "system", "pllc0", "pllc1",
473 "pllc2", "r",
474 "usb24s",
475 "i", "zg", "b", "m1", "hp",
476 "hpp", "usbp", "s", "zb", "m3",
477 "cp";
478 };
479
480 /* Variable factor clocks (DIV6) */
481 vclk1_clk: vclk1@e6150008 {
482 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
483 reg = <0xe6150008 4>;
484 clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
485 <&cpg_clocks R8A7740_CLK_USB24S>,
486 <&extal1_div2_clk>, <&extalr_clk>, <0>,
487 <0>;
488 #clock-cells = <0>;
489 };
490 vclk2_clk: vclk2@e615000c {
491 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
492 reg = <0xe615000c 4>;
493 clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
494 <&cpg_clocks R8A7740_CLK_USB24S>,
495 <&extal1_div2_clk>, <&extalr_clk>, <0>,
496 <0>;
497 #clock-cells = <0>;
498 };
499 fmsi_clk: fmsi@e6150010 {
500 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
501 reg = <0xe6150010 4>;
502 clocks = <&pllc1_div2_clk>, <&fmsick_clk>, <0>, <0>;
503 #clock-cells = <0>;
504 };
505 fmso_clk: fmso@e6150014 {
506 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
507 reg = <0xe6150014 4>;
508 clocks = <&pllc1_div2_clk>, <&fmsock_clk>, <0>, <0>;
509 #clock-cells = <0>;
510 };
511 fsia_clk: fsia@e6150018 {
512 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
513 reg = <0xe6150018 4>;
514 clocks = <&pllc1_div2_clk>, <&fsiack_clk>, <0>, <0>;
515 #clock-cells = <0>;
516 };
517 sub_clk: sub@e6150080 {
518 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
519 reg = <0xe6150080 4>;
520 clocks = <&pllc1_div2_clk>,
521 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
522 #clock-cells = <0>;
523 };
524 spu_clk: spu@e6150084 {
525 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
526 reg = <0xe6150084 4>;
527 clocks = <&pllc1_div2_clk>,
528 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
529 #clock-cells = <0>;
530 };
531 vou_clk: vou@e6150088 {
532 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
533 reg = <0xe6150088 4>;
534 clocks = <&pllc1_div2_clk>, <&extal1_clk>, <&dv_clk>,
535 <0>;
536 #clock-cells = <0>;
537 };
538 stpro_clk: stpro@e615009c {
539 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
540 reg = <0xe615009c 4>;
541 clocks = <&cpg_clocks R8A7740_CLK_PLLC0>;
542 #clock-cells = <0>;
543 };
544
545 /* Fixed factor clocks */
546 pllc1_div2_clk: pllc1_div2 {
547 compatible = "fixed-factor-clock";
548 clocks = <&cpg_clocks R8A7740_CLK_PLLC1>;
549 #clock-cells = <0>;
550 clock-div = <2>;
551 clock-mult = <1>;
552 };
553 extal1_div2_clk: extal1_div2 {
554 compatible = "fixed-factor-clock";
555 clocks = <&extal1_clk>;
556 #clock-cells = <0>;
557 clock-div = <2>;
558 clock-mult = <1>;
559 };
560
561 /* Gate clocks */
562 subck_clks: subck_clks@e6150080 {
563 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
564 reg = <0xe6150080 4>;
565 clocks = <&sub_clk>, <&sub_clk>;
566 #clock-cells = <1>;
567 clock-indices = <
568 R8A7740_CLK_SUBCK R8A7740_CLK_SUBCK2
569 >;
570 clock-output-names =
571 "subck", "subck2";
572 };
573 mstp1_clks: mstp1_clks@e6150134 {
574 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
575 reg = <0xe6150134 4>, <0xe6150038 4>;
576 clocks = <&cpg_clocks R8A7740_CLK_S>,
577 <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>,
578 <&cpg_clocks R8A7740_CLK_B>,
579 <&cpg_clocks R8A7740_CLK_HPP>, <&sub_clk>,
580 <&cpg_clocks R8A7740_CLK_B>;
581 #clock-cells = <1>;
582 clock-indices = <
583 R8A7740_CLK_CEU21 R8A7740_CLK_CEU20 R8A7740_CLK_TMU0
584 R8A7740_CLK_LCDC1 R8A7740_CLK_IIC0 R8A7740_CLK_TMU1
585 R8A7740_CLK_LCDC0
586 >;
587 clock-output-names =
588 "ceu21", "ceu20", "tmu0", "lcdc1", "iic0",
589 "tmu1", "lcdc0";
590 };
591 mstp2_clks: mstp2_clks@e6150138 {
592 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
593 reg = <0xe6150138 4>, <0xe6150040 4>;
594 clocks = <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
595 <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
596 <&cpg_clocks R8A7740_CLK_HP>,
597 <&cpg_clocks R8A7740_CLK_HP>,
598 <&cpg_clocks R8A7740_CLK_HP>,
599 <&sub_clk>, <&sub_clk>, <&sub_clk>,
600 <&sub_clk>, <&sub_clk>, <&sub_clk>,
601 <&sub_clk>;
602 #clock-cells = <1>;
603 clock-indices = <
604 R8A7740_CLK_SCIFA6 R8A7740_CLK_INTCA
605 R8A7740_CLK_SCIFA7
606 R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2
607 R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC
608 R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB
609 R8A7740_CLK_SCIFA0 R8A7740_CLK_SCIFA1
610 R8A7740_CLK_SCIFA2 R8A7740_CLK_SCIFA3
611 R8A7740_CLK_SCIFA4
612 >;
613 clock-output-names =
614 "scifa6", "intca",
615 "scifa7", "dmac1", "dmac2", "dmac3",
616 "usbdmac", "scifa5", "scifb", "scifa0", "scifa1",
617 "scifa2", "scifa3", "scifa4";
618 };
619 mstp3_clks: mstp3_clks@e615013c {
620 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
621 reg = <0xe615013c 4>, <0xe6150048 4>;
622 clocks = <&cpg_clocks R8A7740_CLK_R>,
623 <&cpg_clocks R8A7740_CLK_HP>,
624 <&sub_clk>,
625 <&cpg_clocks R8A7740_CLK_HP>,
626 <&cpg_clocks R8A7740_CLK_HP>,
627 <&cpg_clocks R8A7740_CLK_HP>,
628 <&cpg_clocks R8A7740_CLK_HP>,
629 <&cpg_clocks R8A7740_CLK_HP>,
630 <&cpg_clocks R8A7740_CLK_HP>;
631 #clock-cells = <1>;
632 clock-indices = <
633 R8A7740_CLK_CMT1 R8A7740_CLK_FSI R8A7740_CLK_IIC1
634 R8A7740_CLK_USBF R8A7740_CLK_SDHI0 R8A7740_CLK_SDHI1
635 R8A7740_CLK_MMC R8A7740_CLK_GETHER R8A7740_CLK_TPU0
636 >;
637 clock-output-names =
638 "cmt1", "fsi", "iic1", "usbf", "sdhi0", "sdhi1",
639 "mmc", "gether", "tpu0";
640 };
641 mstp4_clks: mstp4_clks@e6150140 {
642 compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
643 reg = <0xe6150140 4>, <0xe615004c 4>;
644 clocks = <&cpg_clocks R8A7740_CLK_HP>,
645 <&cpg_clocks R8A7740_CLK_HP>,
646 <&cpg_clocks R8A7740_CLK_HP>,
647 <&cpg_clocks R8A7740_CLK_HP>;
648 #clock-cells = <1>;
649 clock-indices = <
650 R8A7740_CLK_USBH R8A7740_CLK_SDHI2
651 R8A7740_CLK_USBFUNC R8A7740_CLK_USBPHY
652 >;
653 clock-output-names =
654 "usbhost", "sdhi2", "usbfunc", "usphy";
655 };
656 };
657
658 sysc: system-controller@e6180000 {
659 compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
660 reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
661
662 pm-domains {
663 pd_c5: c5 {
664 #address-cells = <1>;
665 #size-cells = <0>;
666 #power-domain-cells = <0>;
667
668 pd_a4lc: a4lc@1 {
669 reg = <1>;
670 #power-domain-cells = <0>;
671 };
672
673 pd_a4mp: a4mp@2 {
674 reg = <2>;
675 #power-domain-cells = <0>;
676 };
677
678 pd_d4: d4@3 {
679 reg = <3>;
680 #power-domain-cells = <0>;
681 };
682
683 pd_a4r: a4r@5 {
684 reg = <5>;
685 #address-cells = <1>;
686 #size-cells = <0>;
687 #power-domain-cells = <0>;
688
689 pd_a3rv: a3rv@6 {
690 reg = <6>;
691 #power-domain-cells = <0>;
692 };
693 };
694
695 pd_a4s: a4s@10 {
696 reg = <10>;
697 #address-cells = <1>;
698 #size-cells = <0>;
699 #power-domain-cells = <0>;
700
701 pd_a3sp: a3sp@11 {
702 reg = <11>;
703 #power-domain-cells = <0>;
704 };
705
706 pd_a3sm: a3sm@12 {
707 reg = <12>;
708 #power-domain-cells = <0>;
709 };
710
711 pd_a3sg: a3sg@13 {
712 reg = <13>;
713 #power-domain-cells = <0>;
714 };
715 };
716
717 pd_a4su: a4su@20 {
718 reg = <20>;
719 #power-domain-cells = <0>;
720 };
721 };
722 };
723 };
724};