blob: 2e01d4950b5902c5e480e9feda7ab599fe4f9eb9 [file] [log] [blame]
Magnus Damm0468b2d2013-03-28 00:49:34 +09001/*
2 * Device Tree Source for the r8a7790 SoC
3 *
Sergei Shtylyovd8913c62014-02-20 02:20:43 +03004 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded Inc.
Magnus Damm0468b2d2013-03-28 00:49:34 +09006 *
7 * This file is licensed under the terms of the GNU General Public License
8 * version 2. This program is licensed "as is" without any warranty of any
9 * kind, whether express or implied.
10 */
11
Laurent Pinchart22a1f592013-12-11 15:05:14 +010012#include <dt-bindings/clock/r8a7790-clock.h>
Laurent Pinchart5f75e732013-11-19 03:18:25 +010013#include <dt-bindings/interrupt-controller/arm-gic.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15
Magnus Damm0468b2d2013-03-28 00:49:34 +090016/ {
17 compatible = "renesas,r8a7790";
18 interrupt-parent = <&gic>;
Takashi Yoshii8585deb2013-03-29 16:49:17 +090019 #address-cells = <2>;
20 #size-cells = <2>;
Magnus Damm0468b2d2013-03-28 00:49:34 +090021
Wolfram Sang6b1d7c62014-02-16 10:40:58 +010022 aliases {
23 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 i2c2 = &i2c2;
26 i2c3 = &i2c3;
Wolfram Sang05f39912014-03-25 19:56:29 +010027 i2c4 = &iic0;
28 i2c5 = &iic1;
29 i2c6 = &iic2;
30 i2c7 = &iic3;
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +010031 spi0 = &qspi;
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +010032 spi1 = &msiof0;
33 spi2 = &msiof1;
34 spi3 = &msiof2;
35 spi4 = &msiof3;
Ben Dooks9f685bf2014-08-13 00:16:18 +040036 vin0 = &vin0;
37 vin1 = &vin1;
38 vin2 = &vin2;
39 vin3 = &vin3;
Wolfram Sang6b1d7c62014-02-16 10:40:58 +010040 };
41
Magnus Damm0468b2d2013-03-28 00:49:34 +090042 cpus {
43 #address-cells = <1>;
44 #size-cells = <0>;
45
46 cpu0: cpu@0 {
47 device_type = "cpu";
48 compatible = "arm,cortex-a15";
49 reg = <0>;
50 clock-frequency = <1300000000>;
Benoit Coussonb989e132014-06-03 21:02:24 +090051 voltage-tolerance = <1>; /* 1% */
52 clocks = <&cpg_clocks R8A7790_CLK_Z>;
53 clock-latency = <300000>; /* 300 us */
54
55 /* kHz - uV - OPPs unknown yet */
56 operating-points = <1400000 1000000>,
57 <1225000 1000000>,
58 <1050000 1000000>,
59 < 875000 1000000>,
60 < 700000 1000000>,
61 < 350000 1000000>;
Magnus Damm0468b2d2013-03-28 00:49:34 +090062 };
Magnus Dammc1f95972013-08-29 08:22:17 +090063
64 cpu1: cpu@1 {
65 device_type = "cpu";
66 compatible = "arm,cortex-a15";
67 reg = <1>;
68 clock-frequency = <1300000000>;
69 };
70
71 cpu2: cpu@2 {
72 device_type = "cpu";
73 compatible = "arm,cortex-a15";
74 reg = <2>;
75 clock-frequency = <1300000000>;
76 };
77
78 cpu3: cpu@3 {
79 device_type = "cpu";
80 compatible = "arm,cortex-a15";
81 reg = <3>;
82 clock-frequency = <1300000000>;
83 };
Magnus Damm2007e742013-09-15 00:28:58 +090084
85 cpu4: cpu@4 {
86 device_type = "cpu";
87 compatible = "arm,cortex-a7";
88 reg = <0x100>;
89 clock-frequency = <780000000>;
90 };
91
92 cpu5: cpu@5 {
93 device_type = "cpu";
94 compatible = "arm,cortex-a7";
95 reg = <0x101>;
96 clock-frequency = <780000000>;
97 };
98
99 cpu6: cpu@6 {
100 device_type = "cpu";
101 compatible = "arm,cortex-a7";
102 reg = <0x102>;
103 clock-frequency = <780000000>;
104 };
105
106 cpu7: cpu@7 {
107 device_type = "cpu";
108 compatible = "arm,cortex-a7";
109 reg = <0x103>;
110 clock-frequency = <780000000>;
111 };
Magnus Damm0468b2d2013-03-28 00:49:34 +0900112 };
113
114 gic: interrupt-controller@f1001000 {
115 compatible = "arm,cortex-a15-gic";
116 #interrupt-cells = <3>;
117 #address-cells = <0>;
118 interrupt-controller;
Takashi Yoshii8585deb2013-03-29 16:49:17 +0900119 reg = <0 0xf1001000 0 0x1000>,
120 <0 0xf1002000 0 0x1000>,
121 <0 0xf1004000 0 0x2000>,
122 <0 0xf1006000 0 0x2000>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100123 interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Magnus Damm0468b2d2013-03-28 00:49:34 +0900124 };
125
Magnus Damm23de2272013-11-21 14:19:29 +0900126 gpio0: gpio@e6050000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200127 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900128 reg = <0 0xe6050000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100129 interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200130 #gpio-cells = <2>;
131 gpio-controller;
132 gpio-ranges = <&pfc 0 0 32>;
133 #interrupt-cells = <2>;
134 interrupt-controller;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +0200135 clocks = <&mstp9_clks R8A7790_CLK_GPIO0>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200136 };
137
Magnus Damm23de2272013-11-21 14:19:29 +0900138 gpio1: gpio@e6051000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200139 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900140 reg = <0 0xe6051000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100141 interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200142 #gpio-cells = <2>;
143 gpio-controller;
144 gpio-ranges = <&pfc 0 32 32>;
145 #interrupt-cells = <2>;
146 interrupt-controller;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +0200147 clocks = <&mstp9_clks R8A7790_CLK_GPIO1>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200148 };
149
Magnus Damm23de2272013-11-21 14:19:29 +0900150 gpio2: gpio@e6052000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200151 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900152 reg = <0 0xe6052000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100153 interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200154 #gpio-cells = <2>;
155 gpio-controller;
156 gpio-ranges = <&pfc 0 64 32>;
157 #interrupt-cells = <2>;
158 interrupt-controller;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +0200159 clocks = <&mstp9_clks R8A7790_CLK_GPIO2>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200160 };
161
Magnus Damm23de2272013-11-21 14:19:29 +0900162 gpio3: gpio@e6053000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200163 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900164 reg = <0 0xe6053000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100165 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200166 #gpio-cells = <2>;
167 gpio-controller;
168 gpio-ranges = <&pfc 0 96 32>;
169 #interrupt-cells = <2>;
170 interrupt-controller;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +0200171 clocks = <&mstp9_clks R8A7790_CLK_GPIO3>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200172 };
173
Magnus Damm23de2272013-11-21 14:19:29 +0900174 gpio4: gpio@e6054000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200175 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900176 reg = <0 0xe6054000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100177 interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200178 #gpio-cells = <2>;
179 gpio-controller;
180 gpio-ranges = <&pfc 0 128 32>;
181 #interrupt-cells = <2>;
182 interrupt-controller;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +0200183 clocks = <&mstp9_clks R8A7790_CLK_GPIO4>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200184 };
185
Magnus Damm23de2272013-11-21 14:19:29 +0900186 gpio5: gpio@e6055000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200187 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900188 reg = <0 0xe6055000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100189 interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200190 #gpio-cells = <2>;
191 gpio-controller;
192 gpio-ranges = <&pfc 0 160 32>;
193 #interrupt-cells = <2>;
194 interrupt-controller;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +0200195 clocks = <&mstp9_clks R8A7790_CLK_GPIO5>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200196 };
197
Magnus Damm03e2f562013-11-20 16:59:30 +0900198 thermal@e61f0000 {
199 compatible = "renesas,thermal-r8a7790", "renesas,rcar-thermal";
200 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
Magnus Damm03e2f562013-11-20 16:59:30 +0900201 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevend3a439d2014-01-07 19:57:14 +0100202 clocks = <&mstp5_clks R8A7790_CLK_THERMAL>;
Magnus Damm03e2f562013-11-20 16:59:30 +0900203 };
204
Magnus Damm0468b2d2013-03-28 00:49:34 +0900205 timer {
206 compatible = "arm,armv7-timer";
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100207 interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
208 <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
209 <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
210 <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
Magnus Damm0468b2d2013-03-28 00:49:34 +0900211 };
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900212
Laurent Pinchart39cf6d72014-07-09 15:12:37 +0200213 cmt0: timer@ffca0000 {
Simon Horman37757032014-09-08 09:27:45 +0900214 compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
Laurent Pinchart39cf6d72014-07-09 15:12:37 +0200215 reg = <0 0xffca0000 0 0x1004>;
216 interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
217 <0 143 IRQ_TYPE_LEVEL_HIGH>;
218 clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
219 clock-names = "fck";
220
221 renesas,channels-mask = <0x60>;
222
223 status = "disabled";
224 };
225
226 cmt1: timer@e6130000 {
Simon Horman37757032014-09-08 09:27:45 +0900227 compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
Laurent Pinchart39cf6d72014-07-09 15:12:37 +0200228 reg = <0 0xe6130000 0 0x1004>;
229 interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
230 <0 121 IRQ_TYPE_LEVEL_HIGH>,
231 <0 122 IRQ_TYPE_LEVEL_HIGH>,
232 <0 123 IRQ_TYPE_LEVEL_HIGH>,
233 <0 124 IRQ_TYPE_LEVEL_HIGH>,
234 <0 125 IRQ_TYPE_LEVEL_HIGH>,
235 <0 126 IRQ_TYPE_LEVEL_HIGH>,
236 <0 127 IRQ_TYPE_LEVEL_HIGH>;
237 clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
238 clock-names = "fck";
239
240 renesas,channels-mask = <0xff>;
241
242 status = "disabled";
243 };
244
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900245 irqc0: interrupt-controller@e61c0000 {
Magnus Damm220fc352013-11-20 09:07:40 +0900246 compatible = "renesas,irqc-r8a7790", "renesas,irqc";
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900247 #interrupt-cells = <2>;
248 interrupt-controller;
Takashi Yoshii8585deb2013-03-29 16:49:17 +0900249 reg = <0 0xe61c0000 0 0x200>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100250 interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
251 <0 1 IRQ_TYPE_LEVEL_HIGH>,
252 <0 2 IRQ_TYPE_LEVEL_HIGH>,
253 <0 3 IRQ_TYPE_LEVEL_HIGH>;
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900254 };
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200255
Laurent Pinchartb9fea492014-07-19 01:50:24 +0200256 dmac0: dma-controller@e6700000 {
257 compatible = "renesas,rcar-dmac";
258 reg = <0 0xe6700000 0 0x20000>;
259 interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
260 0 200 IRQ_TYPE_LEVEL_HIGH
261 0 201 IRQ_TYPE_LEVEL_HIGH
262 0 202 IRQ_TYPE_LEVEL_HIGH
263 0 203 IRQ_TYPE_LEVEL_HIGH
264 0 204 IRQ_TYPE_LEVEL_HIGH
265 0 205 IRQ_TYPE_LEVEL_HIGH
266 0 206 IRQ_TYPE_LEVEL_HIGH
267 0 207 IRQ_TYPE_LEVEL_HIGH
268 0 208 IRQ_TYPE_LEVEL_HIGH
269 0 209 IRQ_TYPE_LEVEL_HIGH
270 0 210 IRQ_TYPE_LEVEL_HIGH
271 0 211 IRQ_TYPE_LEVEL_HIGH
272 0 212 IRQ_TYPE_LEVEL_HIGH
273 0 213 IRQ_TYPE_LEVEL_HIGH
274 0 214 IRQ_TYPE_LEVEL_HIGH>;
275 interrupt-names = "error",
276 "ch0", "ch1", "ch2", "ch3",
277 "ch4", "ch5", "ch6", "ch7",
278 "ch8", "ch9", "ch10", "ch11",
279 "ch12", "ch13", "ch14";
280 clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC0>;
281 clock-names = "fck";
282 #dma-cells = <1>;
283 dma-channels = <15>;
284 };
285
286 dmac1: dma-controller@e6720000 {
287 compatible = "renesas,rcar-dmac";
288 reg = <0 0xe6720000 0 0x20000>;
289 interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
290 0 216 IRQ_TYPE_LEVEL_HIGH
291 0 217 IRQ_TYPE_LEVEL_HIGH
292 0 218 IRQ_TYPE_LEVEL_HIGH
293 0 219 IRQ_TYPE_LEVEL_HIGH
294 0 308 IRQ_TYPE_LEVEL_HIGH
295 0 309 IRQ_TYPE_LEVEL_HIGH
296 0 310 IRQ_TYPE_LEVEL_HIGH
297 0 311 IRQ_TYPE_LEVEL_HIGH
298 0 312 IRQ_TYPE_LEVEL_HIGH
299 0 313 IRQ_TYPE_LEVEL_HIGH
300 0 314 IRQ_TYPE_LEVEL_HIGH
301 0 315 IRQ_TYPE_LEVEL_HIGH
302 0 316 IRQ_TYPE_LEVEL_HIGH
303 0 317 IRQ_TYPE_LEVEL_HIGH
304 0 318 IRQ_TYPE_LEVEL_HIGH>;
305 interrupt-names = "error",
306 "ch0", "ch1", "ch2", "ch3",
307 "ch4", "ch5", "ch6", "ch7",
308 "ch8", "ch9", "ch10", "ch11",
309 "ch12", "ch13", "ch14";
310 clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC1>;
311 clock-names = "fck";
312 #dma-cells = <1>;
313 dma-channels = <15>;
314 };
Kuninori Morimotoba3240b2014-11-03 17:44:51 -0800315
316 audma0: dma-controller@ec700000 {
317 compatible = "renesas,rcar-dmac";
318 reg = <0 0xec700000 0 0x10000>;
319 interrupts = <0 346 IRQ_TYPE_LEVEL_HIGH
320 0 320 IRQ_TYPE_LEVEL_HIGH
321 0 321 IRQ_TYPE_LEVEL_HIGH
322 0 322 IRQ_TYPE_LEVEL_HIGH
323 0 323 IRQ_TYPE_LEVEL_HIGH
324 0 324 IRQ_TYPE_LEVEL_HIGH
325 0 325 IRQ_TYPE_LEVEL_HIGH
326 0 326 IRQ_TYPE_LEVEL_HIGH
327 0 327 IRQ_TYPE_LEVEL_HIGH
328 0 328 IRQ_TYPE_LEVEL_HIGH
329 0 329 IRQ_TYPE_LEVEL_HIGH
330 0 330 IRQ_TYPE_LEVEL_HIGH
331 0 331 IRQ_TYPE_LEVEL_HIGH
332 0 332 IRQ_TYPE_LEVEL_HIGH>;
333 interrupt-names = "error",
334 "ch0", "ch1", "ch2", "ch3",
335 "ch4", "ch5", "ch6", "ch7",
336 "ch8", "ch9", "ch10", "ch11",
337 "ch12";
338 clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC0>;
339 clock-names = "fck";
340 #dma-cells = <1>;
341 dma-channels = <13>;
342 };
343
344 audma1: dma-controller@ec720000 {
345 compatible = "renesas,rcar-dmac";
346 reg = <0 0xec720000 0 0x10000>;
347 interrupts = <0 347 IRQ_TYPE_LEVEL_HIGH
348 0 333 IRQ_TYPE_LEVEL_HIGH
349 0 334 IRQ_TYPE_LEVEL_HIGH
350 0 335 IRQ_TYPE_LEVEL_HIGH
351 0 336 IRQ_TYPE_LEVEL_HIGH
352 0 337 IRQ_TYPE_LEVEL_HIGH
353 0 338 IRQ_TYPE_LEVEL_HIGH
354 0 339 IRQ_TYPE_LEVEL_HIGH
355 0 340 IRQ_TYPE_LEVEL_HIGH
356 0 341 IRQ_TYPE_LEVEL_HIGH
357 0 342 IRQ_TYPE_LEVEL_HIGH
358 0 343 IRQ_TYPE_LEVEL_HIGH
359 0 344 IRQ_TYPE_LEVEL_HIGH
360 0 345 IRQ_TYPE_LEVEL_HIGH>;
361 interrupt-names = "error",
362 "ch0", "ch1", "ch2", "ch3",
363 "ch4", "ch5", "ch6", "ch7",
364 "ch8", "ch9", "ch10", "ch11",
365 "ch12";
366 clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC1>;
367 clock-names = "fck";
368 #dma-cells = <1>;
369 dma-channels = <13>;
370 };
371
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200372 i2c0: i2c@e6508000 {
373 #address-cells = <1>;
374 #size-cells = <0>;
375 compatible = "renesas,i2c-r8a7790";
376 reg = <0 0xe6508000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100377 interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000378 clocks = <&mstp9_clks R8A7790_CLK_I2C0>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200379 status = "disabled";
380 };
381
382 i2c1: i2c@e6518000 {
383 #address-cells = <1>;
384 #size-cells = <0>;
385 compatible = "renesas,i2c-r8a7790";
386 reg = <0 0xe6518000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100387 interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000388 clocks = <&mstp9_clks R8A7790_CLK_I2C1>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200389 status = "disabled";
390 };
391
392 i2c2: i2c@e6530000 {
393 #address-cells = <1>;
394 #size-cells = <0>;
395 compatible = "renesas,i2c-r8a7790";
396 reg = <0 0xe6530000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100397 interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000398 clocks = <&mstp9_clks R8A7790_CLK_I2C2>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200399 status = "disabled";
400 };
401
402 i2c3: i2c@e6540000 {
403 #address-cells = <1>;
404 #size-cells = <0>;
405 compatible = "renesas,i2c-r8a7790";
406 reg = <0 0xe6540000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100407 interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000408 clocks = <&mstp9_clks R8A7790_CLK_I2C3>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200409 status = "disabled";
410 };
411
Wolfram Sang05f39912014-03-25 19:56:29 +0100412 iic0: i2c@e6500000 {
413 #address-cells = <1>;
414 #size-cells = <0>;
415 compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
416 reg = <0 0xe6500000 0 0x425>;
417 interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>;
418 clocks = <&mstp3_clks R8A7790_CLK_IIC0>;
419 status = "disabled";
420 };
421
422 iic1: i2c@e6510000 {
423 #address-cells = <1>;
424 #size-cells = <0>;
425 compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
426 reg = <0 0xe6510000 0 0x425>;
427 interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>;
428 clocks = <&mstp3_clks R8A7790_CLK_IIC1>;
429 status = "disabled";
430 };
431
432 iic2: i2c@e6520000 {
433 #address-cells = <1>;
434 #size-cells = <0>;
435 compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
436 reg = <0 0xe6520000 0 0x425>;
437 interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>;
438 clocks = <&mstp3_clks R8A7790_CLK_IIC2>;
439 status = "disabled";
440 };
441
442 iic3: i2c@e60b0000 {
443 #address-cells = <1>;
444 #size-cells = <0>;
445 compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
446 reg = <0 0xe60b0000 0 0x425>;
447 interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>;
448 clocks = <&mstp9_clks R8A7790_CLK_IICDVFS>;
449 status = "disabled";
450 };
451
Laurent Pinchart22c2b782014-10-26 19:40:11 +0200452 mmcif0: mmc@ee200000 {
Magnus Damm063e85602013-11-20 09:05:53 +0900453 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200454 reg = <0 0xee200000 0 0x80>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100455 interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100456 clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>;
Laurent Pinchart108216c2014-10-26 19:40:13 +0200457 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>;
458 dma-names = "tx", "rx";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200459 reg-io-width = <4>;
460 status = "disabled";
461 };
462
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700463 mmcif1: mmc@ee220000 {
Magnus Damm063e85602013-11-20 09:05:53 +0900464 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200465 reg = <0 0xee220000 0 0x80>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100466 interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100467 clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>;
Laurent Pinchart108216c2014-10-26 19:40:13 +0200468 dmas = <&dmac0 0xe1>, <&dmac0 0xe2>;
469 dma-names = "tx", "rx";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200470 reg-io-width = <4>;
471 status = "disabled";
472 };
473
Laurent Pinchart9694c772013-05-09 15:05:57 +0200474 pfc: pfc@e6060000 {
475 compatible = "renesas,pfc-r8a7790";
476 reg = <0 0xe6060000 0 0x250>;
477 };
Olof Johansson55689bf2013-08-14 00:24:05 -0700478
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700479 sdhi0: sd@ee100000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200480 compatible = "renesas,sdhi-r8a7790";
Ben Dooksd721a152013-12-16 12:38:48 +0000481 reg = <0 0xee100000 0 0x200>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100482 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100483 clocks = <&mstp3_clks R8A7790_CLK_SDHI0>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200484 cap-sd-highspeed;
485 status = "disabled";
486 };
487
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700488 sdhi1: sd@ee120000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200489 compatible = "renesas,sdhi-r8a7790";
Ben Dooksd721a152013-12-16 12:38:48 +0000490 reg = <0 0xee120000 0 0x200>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100491 interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100492 clocks = <&mstp3_clks R8A7790_CLK_SDHI1>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200493 cap-sd-highspeed;
494 status = "disabled";
495 };
496
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700497 sdhi2: sd@ee140000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200498 compatible = "renesas,sdhi-r8a7790";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200499 reg = <0 0xee140000 0 0x100>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100500 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100501 clocks = <&mstp3_clks R8A7790_CLK_SDHI2>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200502 cap-sd-highspeed;
503 status = "disabled";
504 };
505
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700506 sdhi3: sd@ee160000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200507 compatible = "renesas,sdhi-r8a7790";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200508 reg = <0 0xee160000 0 0x100>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100509 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100510 clocks = <&mstp3_clks R8A7790_CLK_SDHI3>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200511 cap-sd-highspeed;
512 status = "disabled";
513 };
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100514
Laurent Pinchart597af202013-10-29 16:23:12 +0100515 scifa0: serial@e6c40000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100516 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
Laurent Pinchart597af202013-10-29 16:23:12 +0100517 reg = <0 0xe6c40000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100518 interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100519 clocks = <&mstp2_clks R8A7790_CLK_SCIFA0>;
520 clock-names = "sci_ick";
521 status = "disabled";
522 };
523
524 scifa1: serial@e6c50000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100525 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
Laurent Pinchart597af202013-10-29 16:23:12 +0100526 reg = <0 0xe6c50000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100527 interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100528 clocks = <&mstp2_clks R8A7790_CLK_SCIFA1>;
529 clock-names = "sci_ick";
530 status = "disabled";
531 };
532
533 scifa2: serial@e6c60000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100534 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
Laurent Pinchart597af202013-10-29 16:23:12 +0100535 reg = <0 0xe6c60000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100536 interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100537 clocks = <&mstp2_clks R8A7790_CLK_SCIFA2>;
538 clock-names = "sci_ick";
539 status = "disabled";
540 };
541
542 scifb0: serial@e6c20000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100543 compatible = "renesas,scifb-r8a7790", "renesas,scifb";
Laurent Pinchart597af202013-10-29 16:23:12 +0100544 reg = <0 0xe6c20000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100545 interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100546 clocks = <&mstp2_clks R8A7790_CLK_SCIFB0>;
547 clock-names = "sci_ick";
548 status = "disabled";
549 };
550
551 scifb1: serial@e6c30000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100552 compatible = "renesas,scifb-r8a7790", "renesas,scifb";
Laurent Pinchart597af202013-10-29 16:23:12 +0100553 reg = <0 0xe6c30000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100554 interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100555 clocks = <&mstp2_clks R8A7790_CLK_SCIFB1>;
556 clock-names = "sci_ick";
557 status = "disabled";
558 };
559
560 scifb2: serial@e6ce0000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100561 compatible = "renesas,scifb-r8a7790", "renesas,scifb";
Laurent Pinchart597af202013-10-29 16:23:12 +0100562 reg = <0 0xe6ce0000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100563 interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100564 clocks = <&mstp2_clks R8A7790_CLK_SCIFB2>;
565 clock-names = "sci_ick";
566 status = "disabled";
567 };
568
569 scif0: serial@e6e60000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100570 compatible = "renesas,scif-r8a7790", "renesas,scif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100571 reg = <0 0xe6e60000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100572 interrupts = <0 152 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100573 clocks = <&mstp7_clks R8A7790_CLK_SCIF0>;
574 clock-names = "sci_ick";
575 status = "disabled";
576 };
577
578 scif1: serial@e6e68000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100579 compatible = "renesas,scif-r8a7790", "renesas,scif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100580 reg = <0 0xe6e68000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100581 interrupts = <0 153 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100582 clocks = <&mstp7_clks R8A7790_CLK_SCIF1>;
583 clock-names = "sci_ick";
584 status = "disabled";
585 };
586
587 hscif0: serial@e62c0000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100588 compatible = "renesas,hscif-r8a7790", "renesas,hscif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100589 reg = <0 0xe62c0000 0 96>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100590 interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100591 clocks = <&mstp7_clks R8A7790_CLK_HSCIF0>;
592 clock-names = "sci_ick";
593 status = "disabled";
594 };
595
596 hscif1: serial@e62c8000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100597 compatible = "renesas,hscif-r8a7790", "renesas,hscif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100598 reg = <0 0xe62c8000 0 96>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100599 interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100600 clocks = <&mstp7_clks R8A7790_CLK_HSCIF1>;
601 clock-names = "sci_ick";
602 status = "disabled";
603 };
604
Sergei Shtylyovd8913c62014-02-20 02:20:43 +0300605 ether: ethernet@ee700000 {
606 compatible = "renesas,ether-r8a7790";
607 reg = <0 0xee700000 0 0x400>;
608 interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>;
609 clocks = <&mstp8_clks R8A7790_CLK_ETHER>;
610 phy-mode = "rmii";
611 #address-cells = <1>;
612 #size-cells = <0>;
613 status = "disabled";
614 };
615
Valentine Barshakcde630f2014-01-14 21:05:30 +0400616 sata0: sata@ee300000 {
617 compatible = "renesas,sata-r8a7790";
618 reg = <0 0xee300000 0 0x2000>;
Valentine Barshakcde630f2014-01-14 21:05:30 +0400619 interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
620 clocks = <&mstp8_clks R8A7790_CLK_SATA0>;
621 status = "disabled";
622 };
623
624 sata1: sata@ee500000 {
625 compatible = "renesas,sata-r8a7790";
626 reg = <0 0xee500000 0 0x2000>;
Valentine Barshakcde630f2014-01-14 21:05:30 +0400627 interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
628 clocks = <&mstp8_clks R8A7790_CLK_SATA1>;
629 status = "disabled";
630 };
631
Yoshihiro Shimodaae0a5552014-10-24 19:44:33 +0900632 hsusb: usb@e6590000 {
633 compatible = "renesas,usbhs-r8a7790";
634 reg = <0 0xe6590000 0 0x100>;
635 interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
636 clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
637 renesas,buswait = <4>;
638 phys = <&usb0 1>;
639 phy-names = "usb";
640 status = "disabled";
641 };
642
Sergei Shtylyove089f652014-09-27 01:00:20 +0400643 usbphy: usb-phy@e6590100 {
644 compatible = "renesas,usb-phy-r8a7790";
645 reg = <0 0xe6590100 0 0x100>;
646 #address-cells = <1>;
647 #size-cells = <0>;
648 clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
649 clock-names = "usbhs";
650 status = "disabled";
651
652 usb0: usb-channel@0 {
653 reg = <0>;
654 #phy-cells = <1>;
655 };
656 usb2: usb-channel@2 {
657 reg = <2>;
658 #phy-cells = <1>;
659 };
660 };
661
Ben Dooks9f685bf2014-08-13 00:16:18 +0400662 vin0: video@e6ef0000 {
663 compatible = "renesas,vin-r8a7790";
664 clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
665 reg = <0 0xe6ef0000 0 0x1000>;
666 interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
667 status = "disabled";
668 };
669
670 vin1: video@e6ef1000 {
671 compatible = "renesas,vin-r8a7790";
672 clocks = <&mstp8_clks R8A7790_CLK_VIN1>;
673 reg = <0 0xe6ef1000 0 0x1000>;
674 interrupts = <0 189 IRQ_TYPE_LEVEL_HIGH>;
675 status = "disabled";
676 };
677
678 vin2: video@e6ef2000 {
679 compatible = "renesas,vin-r8a7790";
680 clocks = <&mstp8_clks R8A7790_CLK_VIN2>;
681 reg = <0 0xe6ef2000 0 0x1000>;
682 interrupts = <0 190 IRQ_TYPE_LEVEL_HIGH>;
683 status = "disabled";
684 };
685
686 vin3: video@e6ef3000 {
687 compatible = "renesas,vin-r8a7790";
688 clocks = <&mstp8_clks R8A7790_CLK_VIN3>;
689 reg = <0 0xe6ef3000 0 0x1000>;
690 interrupts = <0 191 IRQ_TYPE_LEVEL_HIGH>;
691 status = "disabled";
692 };
693
Laurent Pinchart3ac6a832014-01-21 16:00:46 +0100694 vsp1@fe920000 {
695 compatible = "renesas,vsp1";
696 reg = <0 0xfe920000 0 0x8000>;
697 interrupts = <0 266 IRQ_TYPE_LEVEL_HIGH>;
698 clocks = <&mstp1_clks R8A7790_CLK_VSP1_R>;
699
700 renesas,has-sru;
701 renesas,#rpf = <5>;
702 renesas,#uds = <1>;
703 renesas,#wpf = <4>;
704 };
705
706 vsp1@fe928000 {
707 compatible = "renesas,vsp1";
708 reg = <0 0xfe928000 0 0x8000>;
709 interrupts = <0 267 IRQ_TYPE_LEVEL_HIGH>;
710 clocks = <&mstp1_clks R8A7790_CLK_VSP1_S>;
711
712 renesas,has-lut;
713 renesas,has-sru;
714 renesas,#rpf = <5>;
715 renesas,#uds = <3>;
716 renesas,#wpf = <4>;
717 };
718
719 vsp1@fe930000 {
720 compatible = "renesas,vsp1";
721 reg = <0 0xfe930000 0 0x8000>;
722 interrupts = <0 246 IRQ_TYPE_LEVEL_HIGH>;
723 clocks = <&mstp1_clks R8A7790_CLK_VSP1_DU0>;
724
725 renesas,has-lif;
726 renesas,has-lut;
727 renesas,#rpf = <4>;
728 renesas,#uds = <1>;
729 renesas,#wpf = <4>;
730 };
731
732 vsp1@fe938000 {
733 compatible = "renesas,vsp1";
734 reg = <0 0xfe938000 0 0x8000>;
735 interrupts = <0 247 IRQ_TYPE_LEVEL_HIGH>;
736 clocks = <&mstp1_clks R8A7790_CLK_VSP1_DU1>;
737
738 renesas,has-lif;
739 renesas,has-lut;
740 renesas,#rpf = <4>;
741 renesas,#uds = <1>;
742 renesas,#wpf = <4>;
743 };
744
745 du: display@feb00000 {
746 compatible = "renesas,du-r8a7790";
747 reg = <0 0xfeb00000 0 0x70000>,
748 <0 0xfeb90000 0 0x1c>,
749 <0 0xfeb94000 0 0x1c>;
750 reg-names = "du", "lvds.0", "lvds.1";
751 interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>,
752 <0 268 IRQ_TYPE_LEVEL_HIGH>,
753 <0 269 IRQ_TYPE_LEVEL_HIGH>;
754 clocks = <&mstp7_clks R8A7790_CLK_DU0>,
755 <&mstp7_clks R8A7790_CLK_DU1>,
756 <&mstp7_clks R8A7790_CLK_DU2>,
757 <&mstp7_clks R8A7790_CLK_LVDS0>,
758 <&mstp7_clks R8A7790_CLK_LVDS1>;
759 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1";
760 status = "disabled";
761
762 ports {
763 #address-cells = <1>;
764 #size-cells = <0>;
765
766 port@0 {
767 reg = <0>;
768 du_out_rgb: endpoint {
769 };
770 };
771 port@1 {
772 reg = <1>;
773 du_out_lvds0: endpoint {
774 };
775 };
776 port@2 {
777 reg = <2>;
778 du_out_lvds1: endpoint {
779 };
780 };
781 };
782 };
783
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100784 clocks {
785 #address-cells = <2>;
786 #size-cells = <2>;
787 ranges;
788
789 /* External root clock */
790 extal_clk: extal_clk {
791 compatible = "fixed-clock";
792 #clock-cells = <0>;
793 /* This value must be overriden by the board. */
794 clock-frequency = <0>;
795 clock-output-names = "extal";
796 };
797
Phil Edworthy51d17912014-06-13 10:37:16 +0100798 /* External PCIe clock - can be overridden by the board */
799 pcie_bus_clk: pcie_bus_clk {
800 compatible = "fixed-clock";
801 #clock-cells = <0>;
802 clock-frequency = <100000000>;
803 clock-output-names = "pcie_bus";
804 status = "disabled";
805 };
806
Kuninori Morimotoc7c2ec32014-01-13 18:25:39 -0800807 /*
808 * The external audio clocks are configured as 0 Hz fixed frequency clocks by
809 * default. Boards that provide audio clocks should override them.
810 */
811 audio_clk_a: audio_clk_a {
812 compatible = "fixed-clock";
813 #clock-cells = <0>;
814 clock-frequency = <0>;
815 clock-output-names = "audio_clk_a";
816 };
817 audio_clk_b: audio_clk_b {
818 compatible = "fixed-clock";
819 #clock-cells = <0>;
820 clock-frequency = <0>;
821 clock-output-names = "audio_clk_b";
822 };
823 audio_clk_c: audio_clk_c {
824 compatible = "fixed-clock";
825 #clock-cells = <0>;
826 clock-frequency = <0>;
827 clock-output-names = "audio_clk_c";
828 };
829
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100830 /* Special CPG clocks */
831 cpg_clocks: cpg_clocks@e6150000 {
832 compatible = "renesas,r8a7790-cpg-clocks",
833 "renesas,rcar-gen2-cpg-clocks";
834 reg = <0 0xe6150000 0 0x1000>;
835 clocks = <&extal_clk>;
836 #clock-cells = <1>;
837 clock-output-names = "main", "pll0", "pll1", "pll3",
838 "lb", "qspi", "sdh", "sd0", "sd1",
839 "z";
840 };
841
842 /* Variable factor clocks */
843 sd2_clk: sd2_clk@e6150078 {
844 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
845 reg = <0 0xe6150078 0 4>;
846 clocks = <&pll1_div2_clk>;
847 #clock-cells = <0>;
848 clock-output-names = "sd2";
849 };
850 sd3_clk: sd3_clk@e615007c {
851 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
852 reg = <0 0xe615007c 0 4>;
853 clocks = <&pll1_div2_clk>;
854 #clock-cells = <0>;
855 clock-output-names = "sd3";
856 };
857 mmc0_clk: mmc0_clk@e6150240 {
858 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
859 reg = <0 0xe6150240 0 4>;
860 clocks = <&pll1_div2_clk>;
861 #clock-cells = <0>;
862 clock-output-names = "mmc0";
863 };
864 mmc1_clk: mmc1_clk@e6150244 {
865 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
866 reg = <0 0xe6150244 0 4>;
867 clocks = <&pll1_div2_clk>;
868 #clock-cells = <0>;
869 clock-output-names = "mmc1";
870 };
871 ssp_clk: ssp_clk@e6150248 {
872 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
873 reg = <0 0xe6150248 0 4>;
874 clocks = <&pll1_div2_clk>;
875 #clock-cells = <0>;
876 clock-output-names = "ssp";
877 };
878 ssprs_clk: ssprs_clk@e615024c {
879 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
880 reg = <0 0xe615024c 0 4>;
881 clocks = <&pll1_div2_clk>;
882 #clock-cells = <0>;
883 clock-output-names = "ssprs";
884 };
885
886 /* Fixed factor clocks */
887 pll1_div2_clk: pll1_div2_clk {
888 compatible = "fixed-factor-clock";
889 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
890 #clock-cells = <0>;
891 clock-div = <2>;
892 clock-mult = <1>;
893 clock-output-names = "pll1_div2";
894 };
895 z2_clk: z2_clk {
896 compatible = "fixed-factor-clock";
897 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
898 #clock-cells = <0>;
899 clock-div = <2>;
900 clock-mult = <1>;
901 clock-output-names = "z2";
902 };
903 zg_clk: zg_clk {
904 compatible = "fixed-factor-clock";
905 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
906 #clock-cells = <0>;
907 clock-div = <3>;
908 clock-mult = <1>;
909 clock-output-names = "zg";
910 };
911 zx_clk: zx_clk {
912 compatible = "fixed-factor-clock";
913 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
914 #clock-cells = <0>;
915 clock-div = <3>;
916 clock-mult = <1>;
917 clock-output-names = "zx";
918 };
919 zs_clk: zs_clk {
920 compatible = "fixed-factor-clock";
921 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
922 #clock-cells = <0>;
923 clock-div = <6>;
924 clock-mult = <1>;
925 clock-output-names = "zs";
926 };
927 hp_clk: hp_clk {
928 compatible = "fixed-factor-clock";
929 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
930 #clock-cells = <0>;
931 clock-div = <12>;
932 clock-mult = <1>;
933 clock-output-names = "hp";
934 };
935 i_clk: i_clk {
936 compatible = "fixed-factor-clock";
937 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
938 #clock-cells = <0>;
939 clock-div = <2>;
940 clock-mult = <1>;
941 clock-output-names = "i";
942 };
943 b_clk: b_clk {
944 compatible = "fixed-factor-clock";
945 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
946 #clock-cells = <0>;
947 clock-div = <12>;
948 clock-mult = <1>;
949 clock-output-names = "b";
950 };
951 p_clk: p_clk {
952 compatible = "fixed-factor-clock";
953 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
954 #clock-cells = <0>;
955 clock-div = <24>;
956 clock-mult = <1>;
957 clock-output-names = "p";
958 };
959 cl_clk: cl_clk {
960 compatible = "fixed-factor-clock";
961 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
962 #clock-cells = <0>;
963 clock-div = <48>;
964 clock-mult = <1>;
965 clock-output-names = "cl";
966 };
967 m2_clk: m2_clk {
968 compatible = "fixed-factor-clock";
969 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
970 #clock-cells = <0>;
971 clock-div = <8>;
972 clock-mult = <1>;
973 clock-output-names = "m2";
974 };
975 imp_clk: imp_clk {
976 compatible = "fixed-factor-clock";
977 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
978 #clock-cells = <0>;
979 clock-div = <4>;
980 clock-mult = <1>;
981 clock-output-names = "imp";
982 };
983 rclk_clk: rclk_clk {
984 compatible = "fixed-factor-clock";
985 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
986 #clock-cells = <0>;
987 clock-div = <(48 * 1024)>;
988 clock-mult = <1>;
989 clock-output-names = "rclk";
990 };
991 oscclk_clk: oscclk_clk {
992 compatible = "fixed-factor-clock";
993 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
994 #clock-cells = <0>;
995 clock-div = <(12 * 1024)>;
996 clock-mult = <1>;
997 clock-output-names = "oscclk";
998 };
999 zb3_clk: zb3_clk {
1000 compatible = "fixed-factor-clock";
1001 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
1002 #clock-cells = <0>;
1003 clock-div = <4>;
1004 clock-mult = <1>;
1005 clock-output-names = "zb3";
1006 };
1007 zb3d2_clk: zb3d2_clk {
1008 compatible = "fixed-factor-clock";
1009 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
1010 #clock-cells = <0>;
1011 clock-div = <8>;
1012 clock-mult = <1>;
1013 clock-output-names = "zb3d2";
1014 };
1015 ddr_clk: ddr_clk {
1016 compatible = "fixed-factor-clock";
1017 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
1018 #clock-cells = <0>;
1019 clock-div = <8>;
1020 clock-mult = <1>;
1021 clock-output-names = "ddr";
1022 };
1023 mp_clk: mp_clk {
1024 compatible = "fixed-factor-clock";
1025 clocks = <&pll1_div2_clk>;
1026 #clock-cells = <0>;
1027 clock-div = <15>;
1028 clock-mult = <1>;
1029 clock-output-names = "mp";
1030 };
1031 cp_clk: cp_clk {
1032 compatible = "fixed-factor-clock";
1033 clocks = <&extal_clk>;
1034 #clock-cells = <0>;
1035 clock-div = <2>;
1036 clock-mult = <1>;
1037 clock-output-names = "cp";
1038 };
1039
1040 /* Gate clocks */
Laurent Pinchart9d909512013-12-19 16:51:01 +01001041 mstp0_clks: mstp0_clks@e6150130 {
1042 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1043 reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
1044 clocks = <&mp_clk>;
1045 #clock-cells = <1>;
1046 renesas,clock-indices = <R8A7790_CLK_MSIOF0>;
1047 clock-output-names = "msiof0";
1048 };
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001049 mstp1_clks: mstp1_clks@e6150134 {
1050 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1051 reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
Yoshifumi Hosoya4ba8f242014-10-14 16:01:42 +09001052 clocks = <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&m2_clk>,
1053 <&zs_clk>, <&p_clk>, <&zg_clk>, <&zs_clk>, <&zs_clk>,
1054 <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
1055 <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001056 #clock-cells = <1>;
1057 renesas,clock-indices = <
Yoshifumi Hosoya4ba8f242014-10-14 16:01:42 +09001058 R8A7790_CLK_VCP1 R8A7790_CLK_VCP0 R8A7790_CLK_VPC1
1059 R8A7790_CLK_VPC0 R8A7790_CLK_JPU R8A7790_CLK_SSP1
1060 R8A7790_CLK_TMU1 R8A7790_CLK_3DG R8A7790_CLK_2DDMAC
1061 R8A7790_CLK_FDP1_2 R8A7790_CLK_FDP1_1 R8A7790_CLK_FDP1_0
1062 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2 R8A7790_CLK_CMT0
1063 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1 R8A7790_CLK_VSP1_DU0
1064 R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001065 >;
1066 clock-output-names =
Yoshifumi Hosoya4ba8f242014-10-14 16:01:42 +09001067 "vcp1", "vcp0", "vpc1", "vpc0", "jpu", "ssp1",
1068 "tmu1", "3dg", "2ddmac", "fdp1-2", "fdp1-1",
1069 "fdp1-0", "tmu3", "tmu2", "cmt0", "tmu0",
Kouei Abe2284ff52014-10-14 16:01:40 +09001070 "vsp1-du1", "vsp1-du0", "vsp1-rt", "vsp1-sy";
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001071 };
1072 mstp2_clks: mstp2_clks@e6150138 {
1073 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1074 reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
1075 clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
Laurent Pinchartc819acd2014-07-19 01:50:23 +02001076 <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&zs_clk>,
1077 <&zs_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001078 #clock-cells = <1>;
1079 renesas,clock-indices = <
1080 R8A7790_CLK_SCIFA2 R8A7790_CLK_SCIFA1 R8A7790_CLK_SCIFA0
Laurent Pinchart9d909512013-12-19 16:51:01 +01001081 R8A7790_CLK_MSIOF2 R8A7790_CLK_SCIFB0 R8A7790_CLK_SCIFB1
1082 R8A7790_CLK_MSIOF1 R8A7790_CLK_MSIOF3 R8A7790_CLK_SCIFB2
Laurent Pinchartc819acd2014-07-19 01:50:23 +02001083 R8A7790_CLK_SYS_DMAC1 R8A7790_CLK_SYS_DMAC0
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001084 >;
1085 clock-output-names =
Laurent Pinchart9d909512013-12-19 16:51:01 +01001086 "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
Laurent Pinchartc819acd2014-07-19 01:50:23 +02001087 "scifb1", "msiof1", "msiof3", "scifb2",
1088 "sys-dmac1", "sys-dmac0";
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001089 };
1090 mstp3_clks: mstp3_clks@e615013c {
1091 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1092 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
Wolfram Sang17465142014-03-11 22:24:37 +01001093 clocks = <&hp_clk>, <&cp_clk>, <&mmc1_clk>, <&sd3_clk>,
1094 <&sd2_clk>, <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, <&mmc0_clk>,
Phil Edworthyecafea82014-06-13 10:37:15 +01001095 <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001096 #clock-cells = <1>;
1097 renesas,clock-indices = <
Wolfram Sang17465142014-03-11 22:24:37 +01001098 R8A7790_CLK_IIC2 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
1099 R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 R8A7790_CLK_MMCIF0
Phil Edworthyecafea82014-06-13 10:37:15 +01001100 R8A7790_CLK_IIC0 R8A7790_CLK_PCIEC R8A7790_CLK_IIC1 R8A7790_CLK_SSUSB R8A7790_CLK_CMT1
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001101 >;
1102 clock-output-names =
Wolfram Sang17465142014-03-11 22:24:37 +01001103 "iic2", "tpu0", "mmcif1", "sdhi3",
1104 "sdhi2", "sdhi1", "sdhi0", "mmcif0",
Phil Edworthyecafea82014-06-13 10:37:15 +01001105 "iic0", "pciec", "iic1", "ssusb", "cmt1";
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001106 };
1107 mstp5_clks: mstp5_clks@e6150144 {
1108 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1109 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
Kuninori Morimotoba3240b2014-11-03 17:44:51 -08001110 clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001111 #clock-cells = <1>;
Kuninori Morimotoba3240b2014-11-03 17:44:51 -08001112 renesas,clock-indices = <R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1
1113 R8A7790_CLK_THERMAL R8A7790_CLK_PWM>;
1114 clock-output-names = "audmac0", "audmac1", "thermal", "pwm";
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001115 };
1116 mstp7_clks: mstp7_clks@e615014c {
1117 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1118 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
1119 clocks = <&mp_clk>, <&mp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
1120 <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>,
1121 <&zx_clk>;
1122 #clock-cells = <1>;
1123 renesas,clock-indices = <
1124 R8A7790_CLK_EHCI R8A7790_CLK_HSUSB R8A7790_CLK_HSCIF1
1125 R8A7790_CLK_HSCIF0 R8A7790_CLK_SCIF1 R8A7790_CLK_SCIF0
1126 R8A7790_CLK_DU2 R8A7790_CLK_DU1 R8A7790_CLK_DU0
1127 R8A7790_CLK_LVDS1 R8A7790_CLK_LVDS0
1128 >;
1129 clock-output-names =
1130 "ehci", "hsusb", "hscif1", "hscif0", "scif1",
1131 "scif0", "du2", "du1", "du0", "lvds1", "lvds0";
1132 };
1133 mstp8_clks: mstp8_clks@e6150990 {
1134 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1135 reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
Laurent Pinchartbccccc32014-01-07 09:22:55 +01001136 clocks = <&zg_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>, <&p_clk>,
1137 <&zs_clk>, <&zs_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001138 #clock-cells = <1>;
Laurent Pinchart3f2beaa2014-01-07 09:22:53 +01001139 renesas,clock-indices = <
1140 R8A7790_CLK_VIN3 R8A7790_CLK_VIN2 R8A7790_CLK_VIN1
Laurent Pinchartbccccc32014-01-07 09:22:55 +01001141 R8A7790_CLK_VIN0 R8A7790_CLK_ETHER R8A7790_CLK_SATA1
1142 R8A7790_CLK_SATA0
Laurent Pinchart3f2beaa2014-01-07 09:22:53 +01001143 >;
Laurent Pinchartbccccc32014-01-07 09:22:55 +01001144 clock-output-names =
1145 "vin3", "vin2", "vin1", "vin0", "ether", "sata1", "sata0";
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001146 };
1147 mstp9_clks: mstp9_clks@e6150994 {
1148 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1149 reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
Geert Uytterhoeven81f68832014-04-23 10:25:27 +02001150 clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>,
1151 <&cp_clk>, <&cp_clk>, <&cp_clk>,
1152 <&p_clk>, <&p_clk>, <&cpg_clocks R8A7790_CLK_QSPI>, <&cp_clk>,
Laurent Pinchart3672b052014-04-01 13:02:17 +02001153 <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001154 #clock-cells = <1>;
1155 renesas,clock-indices = <
Geert Uytterhoeven81f68832014-04-23 10:25:27 +02001156 R8A7790_CLK_GPIO5 R8A7790_CLK_GPIO4 R8A7790_CLK_GPIO3
1157 R8A7790_CLK_GPIO2 R8A7790_CLK_GPIO1 R8A7790_CLK_GPIO0
Wolfram Sang17465142014-03-11 22:24:37 +01001158 R8A7790_CLK_RCAN1 R8A7790_CLK_RCAN0 R8A7790_CLK_QSPI_MOD R8A7790_CLK_IICDVFS
1159 R8A7790_CLK_I2C3 R8A7790_CLK_I2C2 R8A7790_CLK_I2C1 R8A7790_CLK_I2C0
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001160 >;
Laurent Pinchart91b56ca2013-12-19 16:51:03 +01001161 clock-output-names =
Geert Uytterhoeven81f68832014-04-23 10:25:27 +02001162 "gpio5", "gpio4", "gpio3", "gpio2", "gpio1", "gpio0",
Wolfram Sang17465142014-03-11 22:24:37 +01001163 "rcan1", "rcan0", "qspi_mod", "iic3",
1164 "i2c3", "i2c2", "i2c1", "i2c0";
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001165 };
Kuninori Morimotobcde3722014-06-10 23:53:27 -07001166 mstp10_clks: mstp10_clks@e6150998 {
1167 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1168 reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
1169 clocks = <&p_clk>,
1170 <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
1171 <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
1172 <&p_clk>,
1173 <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
1174 <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
1175 <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
1176 <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
1177 <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
1178 <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>;
1179
1180 #clock-cells = <1>;
1181 clock-indices = <
1182 R8A7790_CLK_SSI_ALL
1183 R8A7790_CLK_SSI9 R8A7790_CLK_SSI8 R8A7790_CLK_SSI7 R8A7790_CLK_SSI6 R8A7790_CLK_SSI5
1184 R8A7790_CLK_SSI4 R8A7790_CLK_SSI3 R8A7790_CLK_SSI2 R8A7790_CLK_SSI1 R8A7790_CLK_SSI0
1185 R8A7790_CLK_SCU_ALL
1186 R8A7790_CLK_SCU_DVC1 R8A7790_CLK_SCU_DVC0
1187 R8A7790_CLK_SCU_SRC9 R8A7790_CLK_SCU_SRC8 R8A7790_CLK_SCU_SRC7 R8A7790_CLK_SCU_SRC6 R8A7790_CLK_SCU_SRC5
1188 R8A7790_CLK_SCU_SRC4 R8A7790_CLK_SCU_SRC3 R8A7790_CLK_SCU_SRC2 R8A7790_CLK_SCU_SRC1 R8A7790_CLK_SCU_SRC0
1189 >;
1190 clock-output-names =
1191 "ssi-all",
1192 "ssi9", "ssi8", "ssi7", "ssi6", "ssi5",
1193 "ssi4", "ssi3", "ssi2", "ssi1", "ssi0",
1194 "scu-all",
1195 "scu-dvc1", "scu-dvc0",
1196 "scu-src9", "scu-src8", "scu-src7", "scu-src6", "scu-src5",
1197 "scu-src4", "scu-src3", "scu-src2", "scu-src1", "scu-src0";
1198 };
Laurent Pinchart22a1f592013-12-11 15:05:14 +01001199 };
Geert Uytterhoeven7053e132014-02-10 11:47:29 +01001200
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +01001201 qspi: spi@e6b10000 {
Geert Uytterhoeven7053e132014-02-10 11:47:29 +01001202 compatible = "renesas,qspi-r8a7790", "renesas,qspi";
1203 reg = <0 0xe6b10000 0 0x2c>;
Geert Uytterhoeven7053e132014-02-10 11:47:29 +01001204 interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
1205 clocks = <&mstp9_clks R8A7790_CLK_QSPI_MOD>;
Geert Uytterhoeven37cf3d62014-08-06 14:59:08 +02001206 dmas = <&dmac0 0x17>, <&dmac0 0x18>;
1207 dma-names = "tx", "rx";
Geert Uytterhoeven7053e132014-02-10 11:47:29 +01001208 num-cs = <1>;
1209 #address-cells = <1>;
1210 #size-cells = <0>;
1211 status = "disabled";
1212 };
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001213
1214 msiof0: spi@e6e20000 {
1215 compatible = "renesas,msiof-r8a7790";
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001216 reg = <0 0xe6e20000 0 0x0064>, <0 0xe7e20000 0 0x0064>;
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001217 interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
1218 clocks = <&mstp0_clks R8A7790_CLK_MSIOF0>;
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001219 dmas = <&dmac0 0x51>, <&dmac0 0x52>;
1220 dma-names = "tx", "rx";
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001221 #address-cells = <1>;
1222 #size-cells = <0>;
1223 status = "disabled";
1224 };
1225
1226 msiof1: spi@e6e10000 {
1227 compatible = "renesas,msiof-r8a7790";
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001228 reg = <0 0xe6e10000 0 0x0064>, <0 0xe7e10000 0 0x0064>;
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001229 interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>;
1230 clocks = <&mstp2_clks R8A7790_CLK_MSIOF1>;
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001231 dmas = <&dmac0 0x55>, <&dmac0 0x56>;
1232 dma-names = "tx", "rx";
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001233 #address-cells = <1>;
1234 #size-cells = <0>;
1235 status = "disabled";
1236 };
1237
1238 msiof2: spi@e6e00000 {
1239 compatible = "renesas,msiof-r8a7790";
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001240 reg = <0 0xe6e00000 0 0x0064>, <0 0xe7e00000 0 0x0064>;
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001241 interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>;
1242 clocks = <&mstp2_clks R8A7790_CLK_MSIOF2>;
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001243 dmas = <&dmac0 0x41>, <&dmac0 0x42>;
1244 dma-names = "tx", "rx";
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001245 #address-cells = <1>;
1246 #size-cells = <0>;
1247 status = "disabled";
1248 };
1249
1250 msiof3: spi@e6c90000 {
1251 compatible = "renesas,msiof-r8a7790";
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001252 reg = <0 0xe6c90000 0 0x0064>, <0 0xe7c90000 0 0x0064>;
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001253 interrupts = <0 159 IRQ_TYPE_LEVEL_HIGH>;
1254 clocks = <&mstp2_clks R8A7790_CLK_MSIOF3>;
Geert Uytterhoevenfbff6682014-08-06 14:59:09 +02001255 dmas = <&dmac0 0x45>, <&dmac0 0x46>;
1256 dma-names = "tx", "rx";
Geert Uytterhoevenae8a6142014-02-25 11:30:15 +01001257 #address-cells = <1>;
1258 #size-cells = <0>;
1259 status = "disabled";
1260 };
Kuninori Morimoto7df2fd52014-06-10 23:53:54 -07001261
Yoshihiro Shimoda157fcd82014-10-24 19:41:46 +09001262 xhci: usb@ee000000 {
1263 compatible = "renesas,xhci-r8a7790";
1264 reg = <0 0xee000000 0 0xc00>;
1265 interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>;
1266 clocks = <&mstp3_clks R8A7790_CLK_SSUSB>;
1267 phys = <&usb2 1>;
1268 phy-names = "usb";
1269 status = "disabled";
1270 };
1271
Ben Dooksff4f3eb2014-06-24 21:59:54 +04001272 pci0: pci@ee090000 {
1273 compatible = "renesas,pci-r8a7790";
1274 device_type = "pci";
1275 clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
1276 reg = <0 0xee090000 0 0xc00>,
1277 <0 0xee080000 0 0x1100>;
1278 interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
1279 status = "disabled";
1280
1281 bus-range = <0 0>;
1282 #address-cells = <3>;
1283 #size-cells = <2>;
1284 #interrupt-cells = <1>;
1285 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1286 interrupt-map-mask = <0xff00 0 0 0x7>;
1287 interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
Geert Uytterhoeven517ec802014-06-30 11:49:53 +02001288 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
1289 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>;
Sergei Shtylyov538c40e2014-09-29 22:21:59 +04001290
1291 usb@0,1 {
1292 reg = <0x800 0 0 0 0>;
1293 device_type = "pci";
1294 phys = <&usb0 0>;
1295 phy-names = "usb";
1296 };
1297
1298 usb@0,2 {
1299 reg = <0x1000 0 0 0 0>;
1300 device_type = "pci";
1301 phys = <&usb0 0>;
1302 phy-names = "usb";
1303 };
Ben Dooksff4f3eb2014-06-24 21:59:54 +04001304 };
1305
1306 pci1: pci@ee0b0000 {
1307 compatible = "renesas,pci-r8a7790";
1308 device_type = "pci";
1309 clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
1310 reg = <0 0xee0b0000 0 0xc00>,
1311 <0 0xee0a0000 0 0x1100>;
1312 interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>;
1313 status = "disabled";
1314
1315 bus-range = <1 1>;
1316 #address-cells = <3>;
1317 #size-cells = <2>;
1318 #interrupt-cells = <1>;
1319 ranges = <0x02000000 0 0xee0a0000 0 0xee0a0000 0 0x00010000>;
1320 interrupt-map-mask = <0xff00 0 0 0x7>;
1321 interrupt-map = <0x0000 0 0 1 &gic 0 112 IRQ_TYPE_LEVEL_HIGH
Geert Uytterhoeven517ec802014-06-30 11:49:53 +02001322 0x0800 0 0 1 &gic 0 112 IRQ_TYPE_LEVEL_HIGH
1323 0x1000 0 0 2 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooksff4f3eb2014-06-24 21:59:54 +04001324 };
1325
1326 pci2: pci@ee0d0000 {
1327 compatible = "renesas,pci-r8a7790";
1328 device_type = "pci";
1329 clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
1330 reg = <0 0xee0d0000 0 0xc00>,
1331 <0 0xee0c0000 0 0x1100>;
1332 interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>;
1333 status = "disabled";
1334
1335 bus-range = <2 2>;
1336 #address-cells = <3>;
1337 #size-cells = <2>;
1338 #interrupt-cells = <1>;
1339 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1340 interrupt-map-mask = <0xff00 0 0 0x7>;
1341 interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH
Geert Uytterhoeven517ec802014-06-30 11:49:53 +02001342 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH
1343 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
Sergei Shtylyov538c40e2014-09-29 22:21:59 +04001344
1345 usb@0,1 {
1346 reg = <0x800 0 0 0 0>;
1347 device_type = "pci";
1348 phys = <&usb2 0>;
1349 phy-names = "usb";
1350 };
1351
1352 usb@0,2 {
1353 reg = <0x1000 0 0 0 0>;
1354 device_type = "pci";
1355 phys = <&usb2 0>;
1356 phy-names = "usb";
1357 };
Ben Dooksff4f3eb2014-06-24 21:59:54 +04001358 };
1359
Phil Edworthy745329d2014-06-13 10:37:17 +01001360 pciec: pcie@fe000000 {
1361 compatible = "renesas,pcie-r8a7790";
1362 reg = <0 0xfe000000 0 0x80000>;
1363 #address-cells = <3>;
1364 #size-cells = <2>;
1365 bus-range = <0x00 0xff>;
1366 device_type = "pci";
1367 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
1368 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
1369 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
1370 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1371 /* Map all possible DDR as inbound ranges */
1372 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1373 0x43000000 1 0x80000000 1 0x80000000 0 0x80000000>;
1374 interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>,
1375 <0 117 IRQ_TYPE_LEVEL_HIGH>,
1376 <0 118 IRQ_TYPE_LEVEL_HIGH>;
1377 #interrupt-cells = <1>;
1378 interrupt-map-mask = <0 0 0 0>;
1379 interrupt-map = <0 0 0 0 &gic 0 116 IRQ_TYPE_LEVEL_HIGH>;
1380 clocks = <&mstp3_clks R8A7790_CLK_PCIEC>, <&pcie_bus_clk>;
1381 clock-names = "pcie", "pcie_bus";
1382 status = "disabled";
1383 };
1384
Kuninori Morimoto7df2fd52014-06-10 23:53:54 -07001385 rcar_sound: rcar_sound@0xec500000 {
1386 #sound-dai-cells = <1>;
1387 compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2", "renesas,rcar_sound";
Kuninori Morimoto7df2fd52014-06-10 23:53:54 -07001388 reg = <0 0xec500000 0 0x1000>, /* SCU */
1389 <0 0xec5a0000 0 0x100>, /* ADG */
1390 <0 0xec540000 0 0x1000>, /* SSIU */
1391 <0 0xec541000 0 0x1280>; /* SSI */
1392 clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>,
1393 <&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>,
1394 <&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>,
1395 <&mstp10_clks R8A7790_CLK_SSI5>, <&mstp10_clks R8A7790_CLK_SSI4>,
1396 <&mstp10_clks R8A7790_CLK_SSI3>, <&mstp10_clks R8A7790_CLK_SSI2>,
1397 <&mstp10_clks R8A7790_CLK_SSI1>, <&mstp10_clks R8A7790_CLK_SSI0>,
1398 <&mstp10_clks R8A7790_CLK_SCU_SRC9>, <&mstp10_clks R8A7790_CLK_SCU_SRC8>,
1399 <&mstp10_clks R8A7790_CLK_SCU_SRC7>, <&mstp10_clks R8A7790_CLK_SCU_SRC6>,
1400 <&mstp10_clks R8A7790_CLK_SCU_SRC5>, <&mstp10_clks R8A7790_CLK_SCU_SRC4>,
1401 <&mstp10_clks R8A7790_CLK_SCU_SRC3>, <&mstp10_clks R8A7790_CLK_SCU_SRC2>,
1402 <&mstp10_clks R8A7790_CLK_SCU_SRC1>, <&mstp10_clks R8A7790_CLK_SCU_SRC0>,
Kuninori Morimoto334d69a2014-06-25 17:52:17 -07001403 <&mstp10_clks R8A7790_CLK_SCU_DVC0>, <&mstp10_clks R8A7790_CLK_SCU_DVC1>,
Kuninori Morimoto7df2fd52014-06-10 23:53:54 -07001404 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>;
1405 clock-names = "ssi-all",
1406 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1407 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
1408 "src.9", "src.8", "src.7", "src.6", "src.5",
1409 "src.4", "src.3", "src.2", "src.1", "src.0",
Kuninori Morimoto334d69a2014-06-25 17:52:17 -07001410 "dvc.0", "dvc.1",
Kuninori Morimoto7df2fd52014-06-10 23:53:54 -07001411 "clk_a", "clk_b", "clk_c", "clk_i";
1412
1413 status = "disabled";
1414
Kuninori Morimoto334d69a2014-06-25 17:52:17 -07001415 rcar_sound,dvc {
1416 dvc0: dvc@0 { };
1417 dvc1: dvc@1 { };
1418 };
1419
Kuninori Morimoto7df2fd52014-06-10 23:53:54 -07001420 rcar_sound,src {
1421 src0: src@0 { };
1422 src1: src@1 { };
1423 src2: src@2 { };
1424 src3: src@3 { };
1425 src4: src@4 { };
1426 src5: src@5 { };
1427 src6: src@6 { };
1428 src7: src@7 { };
1429 src8: src@8 { };
1430 src9: src@9 { };
1431 };
1432
1433 rcar_sound,ssi {
1434 ssi0: ssi@0 { interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; };
1435 ssi1: ssi@1 { interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; };
1436 ssi2: ssi@2 { interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; };
1437 ssi3: ssi@3 { interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; };
1438 ssi4: ssi@4 { interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; };
1439 ssi5: ssi@5 { interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; };
1440 ssi6: ssi@6 { interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; };
1441 ssi7: ssi@7 { interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; };
1442 ssi8: ssi@8 { interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; };
1443 ssi9: ssi@9 { interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; };
1444 };
1445 };
Magnus Damm0468b2d2013-03-28 00:49:34 +09001446};