blob: 7e0c57ff9892ec49c355706f80cef355e9ae3fa6 [file] [log] [blame]
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +03001/*
2 * Device Tree Source for the r8a7792 SoC
3 *
4 * Copyright (C) 2016 Cogent Embedded Inc.
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/r8a7792-clock.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/interrupt-controller/arm-gic.h>
14#include <dt-bindings/power/r8a7792-sysc.h>
15
16/ {
17 compatible = "renesas,r8a7792";
18 #address-cells = <2>;
19 #size-cells = <2>;
20
Sergei Shtylyov78082702016-07-23 21:49:12 +030021 aliases {
22 i2c0 = &i2c0;
23 i2c1 = &i2c1;
24 i2c2 = &i2c2;
25 i2c3 = &i2c3;
26 i2c4 = &i2c4;
27 i2c5 = &i2c5;
Sergei Shtylyova2d30b92016-07-23 22:17:42 +030028 vin0 = &vin0;
29 vin1 = &vin1;
30 vin2 = &vin2;
31 vin3 = &vin3;
32 vin4 = &vin4;
33 vin5 = &vin5;
Sergei Shtylyovd6f5fe82016-08-06 00:52:39 +030034 };
Sergei Shtylyov78082702016-07-23 21:49:12 +030035
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +030036 cpus {
37 #address-cells = <1>;
38 #size-cells = <0>;
Sergei Shtylyov8fd763c2016-06-21 01:31:01 +030039 enable-method = "renesas,apmu";
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +030040
41 cpu0: cpu@0 {
42 device_type = "cpu";
43 compatible = "arm,cortex-a15";
44 reg = <0>;
45 clock-frequency = <1000000000>;
46 clocks = <&cpg_clocks R8A7792_CLK_Z>;
47 power-domains = <&sysc R8A7792_PD_CA15_CPU0>;
48 next-level-cache = <&L2_CA15>;
49 };
50
Sergei Shtylyov8fd763c2016-06-21 01:31:01 +030051 cpu1: cpu@1 {
52 device_type = "cpu";
53 compatible = "arm,cortex-a15";
54 reg = <1>;
55 clock-frequency = <1000000000>;
56 power-domains = <&sysc R8A7792_PD_CA15_CPU1>;
57 next-level-cache = <&L2_CA15>;
58 };
59
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +030060 L2_CA15: cache-controller@0 {
61 compatible = "cache";
62 reg = <0>;
63 cache-unified;
64 cache-level = <2>;
65 power-domains = <&sysc R8A7792_PD_CA15_SCU>;
66 };
67 };
68
69 soc {
70 compatible = "simple-bus";
71 interrupt-parent = <&gic>;
72
73 #address-cells = <2>;
74 #size-cells = <2>;
75 ranges;
76
Sergei Shtylyov8fd763c2016-06-21 01:31:01 +030077 apmu@e6152000 {
78 compatible = "renesas,r8a7792-apmu", "renesas,apmu";
79 reg = <0 0xe6152000 0 0x188>;
80 cpus = <&cpu0 &cpu1>;
81 };
82
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +030083 gic: interrupt-controller@f1001000 {
84 compatible = "arm,gic-400";
85 #interrupt-cells = <3>;
86 interrupt-controller;
87 reg = <0 0xf1001000 0 0x1000>,
88 <0 0xf1002000 0 0x1000>,
89 <0 0xf1004000 0 0x2000>,
90 <0 0xf1006000 0 0x2000>;
91 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
92 IRQ_TYPE_LEVEL_HIGH)>;
93 };
94
Sergei Shtylyov56efdbe52016-06-13 00:12:06 +030095 irqc: interrupt-controller@e61c0000 {
96 compatible = "renesas,irqc-r8a7792", "renesas,irqc";
97 #interrupt-cells = <2>;
98 interrupt-controller;
99 reg = <0 0xe61c0000 0 0x200>;
100 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
101 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
102 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
103 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
104 clocks = <&mstp4_clks R8A7792_CLK_IRQC>;
105 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
106 };
107
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300108 timer {
109 compatible = "arm,armv7-timer";
110 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
111 IRQ_TYPE_LEVEL_LOW)>,
112 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
113 IRQ_TYPE_LEVEL_LOW)>,
114 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
115 IRQ_TYPE_LEVEL_LOW)>,
116 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
117 IRQ_TYPE_LEVEL_LOW)>;
118 };
119
120 sysc: system-controller@e6180000 {
121 compatible = "renesas,r8a7792-sysc";
122 reg = <0 0xe6180000 0 0x0200>;
123 #power-domain-cells = <1>;
124 };
125
Sergei Shtylyov02183a52016-07-15 00:00:05 +0300126 pfc: pin-controller@e6060000 {
127 compatible = "renesas,pfc-r8a7792";
128 reg = <0 0xe6060000 0 0x144>;
129 };
130
Sergei Shtylyov63359c22016-07-06 01:02:20 +0300131 gpio0: gpio@e6050000 {
132 compatible = "renesas,gpio-r8a7792",
133 "renesas,gpio-rcar";
134 reg = <0 0xe6050000 0 0x50>;
135 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
136 #gpio-cells = <2>;
137 gpio-controller;
138 gpio-ranges = <&pfc 0 0 29>;
139 #interrupt-cells = <2>;
140 interrupt-controller;
141 clocks = <&mstp9_clks R8A7792_CLK_GPIO0>;
142 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
143 };
144
145 gpio1: gpio@e6051000 {
146 compatible = "renesas,gpio-r8a7792",
147 "renesas,gpio-rcar";
148 reg = <0 0xe6051000 0 0x50>;
149 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
150 #gpio-cells = <2>;
151 gpio-controller;
152 gpio-ranges = <&pfc 0 32 23>;
153 #interrupt-cells = <2>;
154 interrupt-controller;
155 clocks = <&mstp9_clks R8A7792_CLK_GPIO1>;
156 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
157 };
158
159 gpio2: gpio@e6052000 {
160 compatible = "renesas,gpio-r8a7792",
161 "renesas,gpio-rcar";
162 reg = <0 0xe6052000 0 0x50>;
163 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
164 #gpio-cells = <2>;
165 gpio-controller;
166 gpio-ranges = <&pfc 0 64 32>;
167 #interrupt-cells = <2>;
168 interrupt-controller;
169 clocks = <&mstp9_clks R8A7792_CLK_GPIO2>;
170 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
171 };
172
173 gpio3: gpio@e6053000 {
174 compatible = "renesas,gpio-r8a7792",
175 "renesas,gpio-rcar";
176 reg = <0 0xe6053000 0 0x50>;
177 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
178 #gpio-cells = <2>;
179 gpio-controller;
180 gpio-ranges = <&pfc 0 96 28>;
181 #interrupt-cells = <2>;
182 interrupt-controller;
183 clocks = <&mstp9_clks R8A7792_CLK_GPIO3>;
184 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
185 };
186
187 gpio4: gpio@e6054000 {
188 compatible = "renesas,gpio-r8a7792",
189 "renesas,gpio-rcar";
190 reg = <0 0xe6054000 0 0x50>;
191 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
192 #gpio-cells = <2>;
193 gpio-controller;
194 gpio-ranges = <&pfc 0 128 17>;
195 #interrupt-cells = <2>;
196 interrupt-controller;
197 clocks = <&mstp9_clks R8A7792_CLK_GPIO4>;
198 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
199 };
200
201 gpio5: gpio@e6055000 {
202 compatible = "renesas,gpio-r8a7792",
203 "renesas,gpio-rcar";
204 reg = <0 0xe6055000 0 0x50>;
205 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
206 #gpio-cells = <2>;
207 gpio-controller;
208 gpio-ranges = <&pfc 0 160 17>;
209 #interrupt-cells = <2>;
210 interrupt-controller;
211 clocks = <&mstp9_clks R8A7792_CLK_GPIO5>;
212 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
213 };
214
215 gpio6: gpio@e6055100 {
216 compatible = "renesas,gpio-r8a7792",
217 "renesas,gpio-rcar";
218 reg = <0 0xe6055100 0 0x50>;
219 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
220 #gpio-cells = <2>;
221 gpio-controller;
222 gpio-ranges = <&pfc 0 192 17>;
223 #interrupt-cells = <2>;
224 interrupt-controller;
225 clocks = <&mstp9_clks R8A7792_CLK_GPIO6>;
226 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
227 };
228
229 gpio7: gpio@e6055200 {
230 compatible = "renesas,gpio-r8a7792",
231 "renesas,gpio-rcar";
232 reg = <0 0xe6055200 0 0x50>;
233 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
234 #gpio-cells = <2>;
235 gpio-controller;
236 gpio-ranges = <&pfc 0 224 17>;
237 #interrupt-cells = <2>;
238 interrupt-controller;
239 clocks = <&mstp9_clks R8A7792_CLK_GPIO7>;
240 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
241 };
242
243 gpio8: gpio@e6055300 {
244 compatible = "renesas,gpio-r8a7792",
245 "renesas,gpio-rcar";
246 reg = <0 0xe6055300 0 0x50>;
247 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
248 #gpio-cells = <2>;
249 gpio-controller;
250 gpio-ranges = <&pfc 0 256 17>;
251 #interrupt-cells = <2>;
252 interrupt-controller;
253 clocks = <&mstp9_clks R8A7792_CLK_GPIO8>;
254 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
255 };
256
257 gpio9: gpio@e6055400 {
258 compatible = "renesas,gpio-r8a7792",
259 "renesas,gpio-rcar";
260 reg = <0 0xe6055400 0 0x50>;
261 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
262 #gpio-cells = <2>;
263 gpio-controller;
264 gpio-ranges = <&pfc 0 288 17>;
265 #interrupt-cells = <2>;
266 interrupt-controller;
267 clocks = <&mstp9_clks R8A7792_CLK_GPIO9>;
268 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
269 };
270
271 gpio10: gpio@e6055500 {
272 compatible = "renesas,gpio-r8a7792",
273 "renesas,gpio-rcar";
274 reg = <0 0xe6055500 0 0x50>;
275 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
276 #gpio-cells = <2>;
277 gpio-controller;
278 gpio-ranges = <&pfc 0 320 32>;
279 #interrupt-cells = <2>;
280 interrupt-controller;
281 clocks = <&mstp9_clks R8A7792_CLK_GPIO10>;
282 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
283 };
284
285 gpio11: gpio@e6055600 {
286 compatible = "renesas,gpio-r8a7792",
287 "renesas,gpio-rcar";
288 reg = <0 0xe6055600 0 0x50>;
289 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
290 #gpio-cells = <2>;
291 gpio-controller;
292 gpio-ranges = <&pfc 0 352 30>;
293 #interrupt-cells = <2>;
294 interrupt-controller;
295 clocks = <&mstp9_clks R8A7792_CLK_GPIO11>;
296 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
297 };
298
Sergei Shtylyovfdf8ec02016-06-13 00:08:18 +0300299 dmac0: dma-controller@e6700000 {
300 compatible = "renesas,dmac-r8a7792",
301 "renesas,rcar-dmac";
302 reg = <0 0xe6700000 0 0x20000>;
303 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH
304 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
305 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
306 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
307 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
308 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
309 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
310 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
311 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
312 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
313 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
314 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
315 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
316 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
317 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
318 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
319 interrupt-names = "error",
320 "ch0", "ch1", "ch2", "ch3",
321 "ch4", "ch5", "ch6", "ch7",
322 "ch8", "ch9", "ch10", "ch11",
323 "ch12", "ch13", "ch14";
324 clocks = <&mstp2_clks R8A7792_CLK_SYS_DMAC0>;
325 clock-names = "fck";
326 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
327 #dma-cells = <1>;
328 dma-channels = <15>;
329 };
330
331 dmac1: dma-controller@e6720000 {
332 compatible = "renesas,dmac-r8a7792",
333 "renesas,rcar-dmac";
334 reg = <0 0xe6720000 0 0x20000>;
335 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
336 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
337 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
338 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
339 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
340 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
341 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
342 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
343 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
344 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
345 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
346 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
347 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
348 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
349 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
350 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
351 interrupt-names = "error",
352 "ch0", "ch1", "ch2", "ch3",
353 "ch4", "ch5", "ch6", "ch7",
354 "ch8", "ch9", "ch10", "ch11",
355 "ch12", "ch13", "ch14";
356 clocks = <&mstp2_clks R8A7792_CLK_SYS_DMAC1>;
357 clock-names = "fck";
358 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
359 #dma-cells = <1>;
360 dma-channels = <15>;
361 };
362
Sergei Shtylyove66796b2016-06-13 00:09:42 +0300363 scif0: serial@e6e60000 {
364 compatible = "renesas,scif-r8a7792",
365 "renesas,rcar-gen2-scif", "renesas,scif";
366 reg = <0 0xe6e60000 0 64>;
367 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
368 clocks = <&mstp7_clks R8A7792_CLK_SCIF0>, <&zs_clk>,
369 <&scif_clk>;
370 clock-names = "fck", "brg_int", "scif_clk";
371 dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
372 <&dmac1 0x29>, <&dmac1 0x2a>;
373 dma-names = "tx", "rx", "tx", "rx";
374 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
375 status = "disabled";
376 };
377
378 scif1: serial@e6e68000 {
379 compatible = "renesas,scif-r8a7792",
380 "renesas,rcar-gen2-scif", "renesas,scif";
381 reg = <0 0xe6e68000 0 64>;
382 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
383 clocks = <&mstp7_clks R8A7792_CLK_SCIF1>, <&zs_clk>,
384 <&scif_clk>;
385 clock-names = "fck", "brg_int", "scif_clk";
386 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
387 <&dmac1 0x2d>, <&dmac1 0x2e>;
388 dma-names = "tx", "rx", "tx", "rx";
389 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
390 status = "disabled";
391 };
392
393 scif2: serial@e6e58000 {
394 compatible = "renesas,scif-r8a7792",
395 "renesas,rcar-gen2-scif", "renesas,scif";
396 reg = <0 0xe6e58000 0 64>;
397 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
398 clocks = <&mstp7_clks R8A7792_CLK_SCIF2>, <&zs_clk>,
399 <&scif_clk>;
400 clock-names = "fck", "brg_int", "scif_clk";
401 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
402 <&dmac1 0x2b>, <&dmac1 0x2c>;
403 dma-names = "tx", "rx", "tx", "rx";
404 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
405 status = "disabled";
406 };
407
408 scif3: serial@e6ea8000 {
409 compatible = "renesas,scif-r8a7792",
410 "renesas,rcar-gen2-scif", "renesas,scif";
411 reg = <0 0xe6ea8000 0 64>;
412 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
413 clocks = <&mstp7_clks R8A7792_CLK_SCIF3>, <&zs_clk>,
414 <&scif_clk>;
415 clock-names = "fck", "brg_int", "scif_clk";
416 dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
417 <&dmac1 0x2f>, <&dmac1 0x30>;
418 dma-names = "tx", "rx", "tx", "rx";
419 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
420 status = "disabled";
421 };
422
423 hscif0: serial@e62c0000 {
424 compatible = "renesas,hscif-r8a7792",
425 "renesas,rcar-gen2-hscif", "renesas,hscif";
426 reg = <0 0xe62c0000 0 96>;
427 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
428 clocks = <&mstp7_clks R8A7792_CLK_HSCIF0>, <&zs_clk>,
429 <&scif_clk>;
430 clock-names = "fck", "brg_int", "scif_clk";
431 dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
432 <&dmac1 0x39>, <&dmac1 0x3a>;
433 dma-names = "tx", "rx", "tx", "rx";
434 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
435 status = "disabled";
436 };
437
438 hscif1: serial@e62c8000 {
439 compatible = "renesas,hscif-r8a7792",
440 "renesas,rcar-gen2-hscif", "renesas,hscif";
441 reg = <0 0xe62c8000 0 96>;
442 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
443 clocks = <&mstp7_clks R8A7792_CLK_HSCIF1>, <&zs_clk>,
444 <&scif_clk>;
445 clock-names = "fck", "brg_int", "scif_clk";
446 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
447 <&dmac1 0x4d>, <&dmac1 0x4e>;
448 dma-names = "tx", "rx", "tx", "rx";
449 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
450 status = "disabled";
451 };
452
Sergei Shtylyovce01b142016-07-23 21:11:26 +0300453 sdhi0: sd@ee100000 {
454 compatible = "renesas,sdhi-r8a7792";
455 reg = <0 0xee100000 0 0x328>;
456 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
457 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
458 <&dmac1 0xcd>, <&dmac1 0xce>;
459 dma-names = "tx", "rx", "tx", "rx";
460 clocks = <&mstp3_clks R8A7792_CLK_SDHI0>;
461 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
462 status = "disabled";
463 };
464
Sergei Shtylyov3e1839e2016-06-17 01:03:53 +0300465 jpu: jpeg-codec@fe980000 {
466 compatible = "renesas,jpu-r8a7792",
467 "renesas,rcar-gen2-jpu";
468 reg = <0 0xfe980000 0 0x10300>;
469 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
470 clocks = <&mstp1_clks R8A7792_CLK_JPU>;
471 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
472 };
473
Sergei Shtylyovb12dcdc2016-07-05 00:23:30 +0300474 avb: ethernet@e6800000 {
475 compatible = "renesas,etheravb-r8a7792",
476 "renesas,etheravb-rcar-gen2";
477 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
478 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
479 clocks = <&mstp8_clks R8A7792_CLK_ETHERAVB>;
480 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
481 #address-cells = <1>;
482 #size-cells = <0>;
483 status = "disabled";
484 };
485
Sergei Shtylyov78082702016-07-23 21:49:12 +0300486 /* I2C doesn't need pinmux */
487 i2c0: i2c@e6508000 {
488 compatible = "renesas,i2c-r8a7792";
489 reg = <0 0xe6508000 0 0x40>;
490 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
491 clocks = <&mstp9_clks R8A7792_CLK_I2C0>;
492 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
493 i2c-scl-internal-delay-ns = <6>;
494 #address-cells = <1>;
495 #size-cells = <0>;
496 status = "disabled";
497 };
498
499 i2c1: i2c@e6518000 {
500 compatible = "renesas,i2c-r8a7792";
501 reg = <0 0xe6518000 0 0x40>;
502 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
503 clocks = <&mstp9_clks R8A7792_CLK_I2C1>;
504 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
505 i2c-scl-internal-delay-ns = <6>;
506 #address-cells = <1>;
507 #size-cells = <0>;
508 status = "disabled";
509 };
510
511 i2c2: i2c@e6530000 {
512 compatible = "renesas,i2c-r8a7792";
513 reg = <0 0xe6530000 0 0x40>;
514 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
515 clocks = <&mstp9_clks R8A7792_CLK_I2C2>;
516 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
517 i2c-scl-internal-delay-ns = <6>;
518 #address-cells = <1>;
519 #size-cells = <0>;
520 status = "disabled";
521 };
522
523 i2c3: i2c@e6540000 {
524 compatible = "renesas,i2c-r8a7792";
525 reg = <0 0xe6540000 0 0x40>;
526 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
527 clocks = <&mstp9_clks R8A7792_CLK_I2C3>;
528 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
529 i2c-scl-internal-delay-ns = <6>;
530 #address-cells = <1>;
531 #size-cells = <0>;
532 status = "disabled";
533 };
534
535 i2c4: i2c@e6520000 {
536 compatible = "renesas,i2c-r8a7792";
537 reg = <0 0xe6520000 0 0x40>;
538 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
539 clocks = <&mstp9_clks R8A7792_CLK_I2C4>;
540 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
541 i2c-scl-internal-delay-ns = <6>;
542 #address-cells = <1>;
543 #size-cells = <0>;
544 status = "disabled";
545 };
546
547 i2c5: i2c@e6528000 {
548 compatible = "renesas,i2c-r8a7792";
549 reg = <0 0xe6528000 0 0x40>;
550 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
551 clocks = <&mstp9_clks R8A7792_CLK_I2C5>;
552 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
553 i2c-scl-internal-delay-ns = <110>;
554 #address-cells = <1>;
555 #size-cells = <0>;
556 status = "disabled";
557 };
558
Sergei Shtylyovf947c022016-07-14 23:20:35 +0300559 can0: can@e6e80000 {
560 compatible = "renesas,can-r8a7792",
561 "renesas,rcar-gen2-can";
562 reg = <0 0xe6e80000 0 0x1000>;
563 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
564 clocks = <&mstp9_clks R8A7792_CLK_CAN0>,
565 <&rcan_clk>, <&can_clk>;
566 clock-names = "clkp1", "clkp2", "can_clk";
567 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
568 status = "disabled";
569 };
570
571 can1: can@e6e88000 {
572 compatible = "renesas,can-r8a7792",
573 "renesas,rcar-gen2-can";
574 reg = <0 0xe6e88000 0 0x1000>;
575 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
576 clocks = <&mstp9_clks R8A7792_CLK_CAN1>,
577 <&rcan_clk>, <&can_clk>;
578 clock-names = "clkp1", "clkp2", "can_clk";
579 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
580 status = "disabled";
581 };
582
Sergei Shtylyova2d30b92016-07-23 22:17:42 +0300583 vin0: video@e6ef0000 {
584 compatible = "renesas,vin-r8a7792",
585 "renesas,rcar-gen2-vin";
586 reg = <0 0xe6ef0000 0 0x1000>;
587 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
588 clocks = <&mstp8_clks R8A7792_CLK_VIN0>;
589 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
590 status = "disabled";
591 };
592
593 vin1: video@e6ef1000 {
594 compatible = "renesas,vin-r8a7792",
595 "renesas,rcar-gen2-vin";
596 reg = <0 0xe6ef1000 0 0x1000>;
597 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
598 clocks = <&mstp8_clks R8A7792_CLK_VIN1>;
599 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
600 status = "disabled";
601 };
602
603 vin2: video@e6ef2000 {
604 compatible = "renesas,vin-r8a7792",
605 "renesas,rcar-gen2-vin";
606 reg = <0 0xe6ef2000 0 0x1000>;
607 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
608 clocks = <&mstp8_clks R8A7792_CLK_VIN2>;
609 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
610 status = "disabled";
611 };
612
613 vin3: video@e6ef3000 {
614 compatible = "renesas,vin-r8a7792",
615 "renesas,rcar-gen2-vin";
616 reg = <0 0xe6ef3000 0 0x1000>;
617 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
618 clocks = <&mstp8_clks R8A7792_CLK_VIN3>;
619 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
620 status = "disabled";
621 };
622
623 vin4: video@e6ef4000 {
624 compatible = "renesas,vin-r8a7792",
625 "renesas,rcar-gen2-vin";
626 reg = <0 0xe6ef4000 0 0x1000>;
627 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
628 clocks = <&mstp8_clks R8A7792_CLK_VIN4>;
629 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
630 status = "disabled";
631 };
632
633 vin5: video@e6ef5000 {
634 compatible = "renesas,vin-r8a7792",
635 "renesas,rcar-gen2-vin";
636 reg = <0 0xe6ef5000 0 0x1000>;
637 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
638 clocks = <&mstp8_clks R8A7792_CLK_VIN5>;
639 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
640 status = "disabled";
641 };
642
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300643 /* Special CPG clocks */
644 cpg_clocks: cpg_clocks@e6150000 {
645 compatible = "renesas,r8a7792-cpg-clocks",
646 "renesas,rcar-gen2-cpg-clocks";
647 reg = <0 0xe6150000 0 0x1000>;
648 clocks = <&extal_clk>;
649 #clock-cells = <1>;
650 clock-output-names = "main", "pll0", "pll1", "pll3",
Sergei Shtylyove0c3f922016-07-12 00:52:43 +0300651 "lb", "qspi", "z";
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300652 #power-domain-cells = <0>;
653 };
654
655 /* Fixed factor clocks */
Sergei Shtylyov4b9b7b32016-07-12 00:51:58 +0300656 pll1_div2_clk: pll1_div2 {
657 compatible = "fixed-factor-clock";
658 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
659 #clock-cells = <0>;
660 clock-div = <2>;
661 clock-mult = <1>;
662 };
Sergei Shtylyov3b0211a2016-08-05 21:25:47 +0300663 zx_clk: zx {
664 compatible = "fixed-factor-clock";
665 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
666 #clock-cells = <0>;
667 clock-div = <3>;
668 clock-mult = <1>;
669 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300670 zs_clk: zs {
671 compatible = "fixed-factor-clock";
672 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
673 #clock-cells = <0>;
674 clock-div = <6>;
675 clock-mult = <1>;
676 };
Sergei Shtylyov08cafff2016-07-05 00:22:38 +0300677 hp_clk: hp {
678 compatible = "fixed-factor-clock";
679 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
680 #clock-cells = <0>;
681 clock-div = <12>;
682 clock-mult = <1>;
683 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300684 p_clk: p {
685 compatible = "fixed-factor-clock";
686 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
687 #clock-cells = <0>;
688 clock-div = <24>;
689 clock-mult = <1>;
690 };
691 cp_clk: cp {
692 compatible = "fixed-factor-clock";
693 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
694 #clock-cells = <0>;
695 clock-div = <48>;
696 clock-mult = <1>;
697 };
Sergei Shtylyoveebc8e22016-06-17 01:02:48 +0300698 m2_clk: m2 {
699 compatible = "fixed-factor-clock";
700 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
701 #clock-cells = <0>;
702 clock-div = <8>;
703 clock-mult = <1>;
704 };
Sergei Shtylyovfe683922016-07-23 21:10:31 +0300705 sd_clk: sd {
706 compatible = "fixed-factor-clock";
707 clocks = <&pll1_div2_clk>;
708 #clock-cells = <0>;
709 clock-div = <8>;
710 clock-mult = <1>;
711 };
Sergei Shtylyov47db0512016-07-14 23:19:44 +0300712 rcan_clk: rcan {
713 compatible = "fixed-factor-clock";
714 clocks = <&pll1_div2_clk>;
715 #clock-cells = <0>;
716 clock-div = <49>;
717 clock-mult = <1>;
718 };
Sergei Shtylyov62855bc2016-07-23 22:16:38 +0300719 zg_clk: zg {
720 compatible = "fixed-factor-clock";
721 clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
722 #clock-cells = <0>;
723 clock-div = <5>;
724 clock-mult = <1>;
725 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300726
727 /* Gate clocks */
Sergei Shtylyoveebc8e22016-06-17 01:02:48 +0300728 mstp1_clks: mstp1_clks@e6150134 {
729 compatible = "renesas,r8a7792-mstp-clocks",
730 "renesas,cpg-mstp-clocks";
731 reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
732 clocks = <&m2_clk>;
733 #clock-cells = <1>;
734 clock-indices = <R8A7792_CLK_JPU>;
735 clock-output-names = "jpu";
736 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300737 mstp2_clks: mstp2_clks@e6150138 {
738 compatible = "renesas,r8a7792-mstp-clocks",
739 "renesas,cpg-mstp-clocks";
740 reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
741 clocks = <&zs_clk>, <&zs_clk>;
742 #clock-cells = <1>;
743 clock-indices = <
744 R8A7792_CLK_SYS_DMAC1 R8A7792_CLK_SYS_DMAC0
745 >;
746 clock-output-names = "sys-dmac1", "sys-dmac0";
747 };
Sergei Shtylyovfe683922016-07-23 21:10:31 +0300748 mstp3_clks: mstp3_clks@e615013c {
749 compatible = "renesas,r8a7792-mstp-clocks",
750 "renesas,cpg-mstp-clocks";
751 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
752 clocks = <&sd_clk>;
753 #clock-cells = <1>;
754 renesas,clock-indices = <R8A7792_CLK_SDHI0>;
755 clock-output-names = "sdhi0";
756 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300757 mstp4_clks: mstp4_clks@e6150140 {
758 compatible = "renesas,r8a7792-mstp-clocks",
759 "renesas,cpg-mstp-clocks";
760 reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
761 clocks = <&cp_clk>;
762 #clock-cells = <1>;
763 clock-indices = <R8A7792_CLK_IRQC>;
764 clock-output-names = "irqc";
765 };
766 mstp7_clks: mstp7_clks@e615014c {
767 compatible = "renesas,r8a7792-mstp-clocks",
768 "renesas,cpg-mstp-clocks";
769 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
770 clocks = <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>,
Sergei Shtylyov3b0211a2016-08-05 21:25:47 +0300771 <&p_clk>, <&p_clk>, <&zx_clk>, <&zx_clk>;
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300772 #clock-cells = <1>;
773 clock-indices = <
774 R8A7792_CLK_HSCIF1 R8A7792_CLK_HSCIF0
775 R8A7792_CLK_SCIF3 R8A7792_CLK_SCIF2
776 R8A7792_CLK_SCIF1 R8A7792_CLK_SCIF0
Sergei Shtylyov3b0211a2016-08-05 21:25:47 +0300777 R8A7792_CLK_DU1 R8A7792_CLK_DU0
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300778 >;
779 clock-output-names = "hscif1", "hscif0", "scif3",
Sergei Shtylyov3b0211a2016-08-05 21:25:47 +0300780 "scif2", "scif1", "scif0",
781 "du1", "du0";
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300782 };
Sergei Shtylyov08cafff2016-07-05 00:22:38 +0300783 mstp8_clks: mstp8_clks@e6150990 {
784 compatible = "renesas,r8a7792-mstp-clocks",
785 "renesas,cpg-mstp-clocks";
786 reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
Sergei Shtylyov62855bc2016-07-23 22:16:38 +0300787 clocks = <&zg_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>,
788 <&zg_clk>, <&zg_clk>, <&hp_clk>;
Sergei Shtylyov08cafff2016-07-05 00:22:38 +0300789 #clock-cells = <1>;
Sergei Shtylyov62855bc2016-07-23 22:16:38 +0300790 clock-indices = <
791 R8A7792_CLK_VIN5 R8A7792_CLK_VIN4
792 R8A7792_CLK_VIN3 R8A7792_CLK_VIN2
793 R8A7792_CLK_VIN1 R8A7792_CLK_VIN0
794 R8A7792_CLK_ETHERAVB
795 >;
796 clock-output-names = "vin5", "vin4", "vin3", "vin2",
797 "vin1", "vin0", "etheravb";
Sergei Shtylyov08cafff2016-07-05 00:22:38 +0300798 };
Sergei Shtylyov4e2b4f62016-07-06 01:01:22 +0300799 mstp9_clks: mstp9_clks@e6150994 {
800 compatible = "renesas,r8a7792-mstp-clocks",
801 "renesas,cpg-mstp-clocks";
802 reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
803 clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
804 <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
Sergei Shtylyov47db0512016-07-14 23:19:44 +0300805 <&cp_clk>, <&cp_clk>, <&p_clk>, <&p_clk>,
Sergei Shtylyoveedee252016-07-23 21:48:33 +0300806 <&cp_clk>, <&cp_clk>, <&hp_clk>, <&hp_clk>,
807 <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
Sergei Shtylyov4e2b4f62016-07-06 01:01:22 +0300808 #clock-cells = <1>;
809 clock-indices = <
810 R8A7792_CLK_GPIO7 R8A7792_CLK_GPIO6
811 R8A7792_CLK_GPIO5 R8A7792_CLK_GPIO4
812 R8A7792_CLK_GPIO3 R8A7792_CLK_GPIO2
813 R8A7792_CLK_GPIO1 R8A7792_CLK_GPIO0
814 R8A7792_CLK_GPIO11 R8A7792_CLK_GPIO10
Sergei Shtylyov47db0512016-07-14 23:19:44 +0300815 R8A7792_CLK_CAN1 R8A7792_CLK_CAN0
Sergei Shtylyov4e2b4f62016-07-06 01:01:22 +0300816 R8A7792_CLK_GPIO9 R8A7792_CLK_GPIO8
Sergei Shtylyoveedee252016-07-23 21:48:33 +0300817 R8A7792_CLK_I2C5 R8A7792_CLK_I2C4
818 R8A7792_CLK_I2C3 R8A7792_CLK_I2C2
819 R8A7792_CLK_I2C1 R8A7792_CLK_I2C0
Sergei Shtylyov4e2b4f62016-07-06 01:01:22 +0300820 >;
821 clock-output-names =
822 "gpio7", "gpio6", "gpio5", "gpio4",
823 "gpio3", "gpio2", "gpio1", "gpio0",
Sergei Shtylyov47db0512016-07-14 23:19:44 +0300824 "gpio11", "gpio10", "can1", "can0",
Sergei Shtylyoveedee252016-07-23 21:48:33 +0300825 "gpio9", "gpio8", "i2c5", "i2c4",
826 "i2c3", "i2c2", "i2c1", "i2c0";
Sergei Shtylyov4e2b4f62016-07-06 01:01:22 +0300827 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300828 };
829
830 /* External root clock */
831 extal_clk: extal {
832 compatible = "fixed-clock";
833 #clock-cells = <0>;
834 /* This value must be overridden by the board. */
835 clock-frequency = <0>;
836 };
837
838 /* External SCIF clock */
839 scif_clk: scif {
840 compatible = "fixed-clock";
841 #clock-cells = <0>;
842 /* This value must be overridden by the board. */
843 clock-frequency = <0>;
844 };
Sergei Shtylyov47db0512016-07-14 23:19:44 +0300845
846 /* External CAN clock */
847 can_clk: can {
848 compatible = "fixed-clock";
849 #clock-cells = <0>;
850 /* This value must be overridden by the board. */
851 clock-frequency = <0>;
852 };
Sergei Shtylyov7c4163a2016-06-13 00:06:52 +0300853};