ARM: dts: r8a7792: add DU support
[cascardo/linux.git] / arch / arm / boot / dts / r8a7792.dtsi
1 /*
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
21         aliases {
22                 i2c0 = &i2c0;
23                 i2c1 = &i2c1;
24                 i2c2 = &i2c2;
25                 i2c3 = &i2c3;
26                 i2c4 = &i2c4;
27                 i2c5 = &i2c5;
28                 vin0 = &vin0;
29                 vin1 = &vin1;
30                 vin2 = &vin2;
31                 vin3 = &vin3;
32                 vin4 = &vin4;
33                 vin5 = &vin5;
34         };
35
36         cpus {
37                 #address-cells = <1>;
38                 #size-cells = <0>;
39                 enable-method = "renesas,apmu";
40
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
51                 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
60                 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
77                 apmu@e6152000 {
78                         compatible = "renesas,r8a7792-apmu", "renesas,apmu";
79                         reg = <0 0xe6152000 0 0x188>;
80                         cpus = <&cpu0 &cpu1>;
81                 };
82
83                 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
95                 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
108                 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
126                 pfc: pin-controller@e6060000 {
127                         compatible = "renesas,pfc-r8a7792";
128                         reg = <0 0xe6060000 0 0x144>;
129                 };
130
131                 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
299                 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
363                 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
453                 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
465                 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
474                 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
486                 /* 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
559                 du: display@feb00000 {
560                         compatible = "renesas,du-r8a7792";
561                         reg = <0 0xfeb00000 0 0x40000>;
562                         reg-names = "du";
563                         interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
564                                      <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
565                         clocks = <&mstp7_clks R8A7792_CLK_DU0>,
566                                  <&mstp7_clks R8A7792_CLK_DU1>;
567                         clock-names = "du.0", "du.1";
568                         status = "disabled";
569
570                         ports {
571                                 #address-cells = <1>;
572                                 #size-cells = <0>;
573
574                                 port@0 {
575                                         reg = <0>;
576                                         du_out_rgb0: endpoint {
577                                         };
578                                 };
579                                 port@1 {
580                                         reg = <1>;
581                                         du_out_rgb1: endpoint {
582                                         };
583                                 };
584                         };
585                 };
586
587                 can0: can@e6e80000 {
588                         compatible = "renesas,can-r8a7792",
589                                      "renesas,rcar-gen2-can";
590                         reg = <0 0xe6e80000 0 0x1000>;
591                         interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
592                         clocks = <&mstp9_clks R8A7792_CLK_CAN0>,
593                                  <&rcan_clk>, <&can_clk>;
594                         clock-names = "clkp1", "clkp2", "can_clk";
595                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
596                         status = "disabled";
597                 };
598
599                 can1: can@e6e88000 {
600                         compatible = "renesas,can-r8a7792",
601                                      "renesas,rcar-gen2-can";
602                         reg = <0 0xe6e88000 0 0x1000>;
603                         interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
604                         clocks = <&mstp9_clks R8A7792_CLK_CAN1>,
605                                  <&rcan_clk>, <&can_clk>;
606                         clock-names = "clkp1", "clkp2", "can_clk";
607                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
608                         status = "disabled";
609                 };
610
611                 vin0: video@e6ef0000 {
612                         compatible = "renesas,vin-r8a7792",
613                                      "renesas,rcar-gen2-vin";
614                         reg = <0 0xe6ef0000 0 0x1000>;
615                         interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
616                         clocks = <&mstp8_clks R8A7792_CLK_VIN0>;
617                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
618                         status = "disabled";
619                 };
620
621                 vin1: video@e6ef1000 {
622                         compatible = "renesas,vin-r8a7792",
623                                      "renesas,rcar-gen2-vin";
624                         reg = <0 0xe6ef1000 0 0x1000>;
625                         interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
626                         clocks = <&mstp8_clks R8A7792_CLK_VIN1>;
627                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
628                         status = "disabled";
629                 };
630
631                 vin2: video@e6ef2000 {
632                         compatible = "renesas,vin-r8a7792",
633                                      "renesas,rcar-gen2-vin";
634                         reg = <0 0xe6ef2000 0 0x1000>;
635                         interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
636                         clocks = <&mstp8_clks R8A7792_CLK_VIN2>;
637                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
638                         status = "disabled";
639                 };
640
641                 vin3: video@e6ef3000 {
642                         compatible = "renesas,vin-r8a7792",
643                                      "renesas,rcar-gen2-vin";
644                         reg = <0 0xe6ef3000 0 0x1000>;
645                         interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
646                         clocks = <&mstp8_clks R8A7792_CLK_VIN3>;
647                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
648                         status = "disabled";
649                 };
650
651                 vin4: video@e6ef4000 {
652                         compatible = "renesas,vin-r8a7792",
653                                      "renesas,rcar-gen2-vin";
654                         reg = <0 0xe6ef4000 0 0x1000>;
655                         interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
656                         clocks = <&mstp8_clks R8A7792_CLK_VIN4>;
657                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
658                         status = "disabled";
659                 };
660
661                 vin5: video@e6ef5000 {
662                         compatible = "renesas,vin-r8a7792",
663                                      "renesas,rcar-gen2-vin";
664                         reg = <0 0xe6ef5000 0 0x1000>;
665                         interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
666                         clocks = <&mstp8_clks R8A7792_CLK_VIN5>;
667                         power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
668                         status = "disabled";
669                 };
670
671                 /* Special CPG clocks */
672                 cpg_clocks: cpg_clocks@e6150000 {
673                         compatible = "renesas,r8a7792-cpg-clocks",
674                                      "renesas,rcar-gen2-cpg-clocks";
675                         reg = <0 0xe6150000 0 0x1000>;
676                         clocks = <&extal_clk>;
677                         #clock-cells = <1>;
678                         clock-output-names = "main", "pll0", "pll1", "pll3",
679                                              "lb", "qspi", "z";
680                         #power-domain-cells = <0>;
681                 };
682
683                 /* Fixed factor clocks */
684                 pll1_div2_clk: pll1_div2 {
685                         compatible = "fixed-factor-clock";
686                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
687                         #clock-cells = <0>;
688                         clock-div = <2>;
689                         clock-mult = <1>;
690                 };
691                 zx_clk: zx {
692                         compatible = "fixed-factor-clock";
693                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
694                         #clock-cells = <0>;
695                         clock-div = <3>;
696                         clock-mult = <1>;
697                 };
698                 zs_clk: zs {
699                         compatible = "fixed-factor-clock";
700                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
701                         #clock-cells = <0>;
702                         clock-div = <6>;
703                         clock-mult = <1>;
704                 };
705                 hp_clk: hp {
706                         compatible = "fixed-factor-clock";
707                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
708                         #clock-cells = <0>;
709                         clock-div = <12>;
710                         clock-mult = <1>;
711                 };
712                 p_clk: p {
713                         compatible = "fixed-factor-clock";
714                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
715                         #clock-cells = <0>;
716                         clock-div = <24>;
717                         clock-mult = <1>;
718                 };
719                 cp_clk: cp {
720                         compatible = "fixed-factor-clock";
721                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
722                         #clock-cells = <0>;
723                         clock-div = <48>;
724                         clock-mult = <1>;
725                 };
726                 m2_clk: m2 {
727                         compatible = "fixed-factor-clock";
728                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
729                         #clock-cells = <0>;
730                         clock-div = <8>;
731                         clock-mult = <1>;
732                 };
733                 sd_clk: sd {
734                         compatible = "fixed-factor-clock";
735                         clocks = <&pll1_div2_clk>;
736                         #clock-cells = <0>;
737                         clock-div = <8>;
738                         clock-mult = <1>;
739                 };
740                 rcan_clk: rcan {
741                         compatible = "fixed-factor-clock";
742                         clocks = <&pll1_div2_clk>;
743                         #clock-cells = <0>;
744                         clock-div = <49>;
745                         clock-mult = <1>;
746                 };
747                 zg_clk: zg {
748                         compatible = "fixed-factor-clock";
749                         clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
750                         #clock-cells = <0>;
751                         clock-div = <5>;
752                         clock-mult = <1>;
753                 };
754
755                 /* Gate clocks */
756                 mstp1_clks: mstp1_clks@e6150134 {
757                         compatible = "renesas,r8a7792-mstp-clocks",
758                                      "renesas,cpg-mstp-clocks";
759                         reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
760                         clocks = <&m2_clk>;
761                         #clock-cells = <1>;
762                         clock-indices = <R8A7792_CLK_JPU>;
763                         clock-output-names = "jpu";
764                 };
765                 mstp2_clks: mstp2_clks@e6150138 {
766                         compatible = "renesas,r8a7792-mstp-clocks",
767                                      "renesas,cpg-mstp-clocks";
768                         reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
769                         clocks = <&zs_clk>, <&zs_clk>;
770                         #clock-cells = <1>;
771                         clock-indices = <
772                                 R8A7792_CLK_SYS_DMAC1 R8A7792_CLK_SYS_DMAC0
773                         >;
774                         clock-output-names = "sys-dmac1", "sys-dmac0";
775                 };
776                 mstp3_clks: mstp3_clks@e615013c {
777                         compatible = "renesas,r8a7792-mstp-clocks",
778                                      "renesas,cpg-mstp-clocks";
779                         reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
780                         clocks = <&sd_clk>;
781                         #clock-cells = <1>;
782                         renesas,clock-indices = <R8A7792_CLK_SDHI0>;
783                         clock-output-names = "sdhi0";
784                 };
785                 mstp4_clks: mstp4_clks@e6150140 {
786                         compatible = "renesas,r8a7792-mstp-clocks",
787                                      "renesas,cpg-mstp-clocks";
788                         reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
789                         clocks = <&cp_clk>;
790                         #clock-cells = <1>;
791                         clock-indices = <R8A7792_CLK_IRQC>;
792                         clock-output-names = "irqc";
793                 };
794                 mstp7_clks: mstp7_clks@e615014c {
795                         compatible = "renesas,r8a7792-mstp-clocks",
796                                      "renesas,cpg-mstp-clocks";
797                         reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
798                         clocks = <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>,
799                                  <&p_clk>, <&p_clk>, <&zx_clk>, <&zx_clk>;
800                         #clock-cells = <1>;
801                         clock-indices = <
802                                 R8A7792_CLK_HSCIF1 R8A7792_CLK_HSCIF0
803                                 R8A7792_CLK_SCIF3 R8A7792_CLK_SCIF2
804                                 R8A7792_CLK_SCIF1 R8A7792_CLK_SCIF0
805                                 R8A7792_CLK_DU1 R8A7792_CLK_DU0
806                         >;
807                         clock-output-names = "hscif1", "hscif0", "scif3",
808                                              "scif2", "scif1", "scif0",
809                                              "du1", "du0";
810                 };
811                 mstp8_clks: mstp8_clks@e6150990 {
812                         compatible = "renesas,r8a7792-mstp-clocks",
813                                      "renesas,cpg-mstp-clocks";
814                         reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
815                         clocks = <&zg_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>,
816                                  <&zg_clk>, <&zg_clk>, <&hp_clk>;
817                         #clock-cells = <1>;
818                         clock-indices = <
819                                 R8A7792_CLK_VIN5 R8A7792_CLK_VIN4
820                                 R8A7792_CLK_VIN3 R8A7792_CLK_VIN2
821                                 R8A7792_CLK_VIN1 R8A7792_CLK_VIN0
822                                 R8A7792_CLK_ETHERAVB
823                         >;
824                         clock-output-names = "vin5", "vin4", "vin3", "vin2",
825                                              "vin1", "vin0", "etheravb";
826                 };
827                 mstp9_clks: mstp9_clks@e6150994 {
828                         compatible = "renesas,r8a7792-mstp-clocks",
829                                      "renesas,cpg-mstp-clocks";
830                         reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
831                         clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
832                                  <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
833                                  <&cp_clk>, <&cp_clk>, <&p_clk>, <&p_clk>,
834                                  <&cp_clk>, <&cp_clk>, <&hp_clk>, <&hp_clk>,
835                                  <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
836                         #clock-cells = <1>;
837                         clock-indices = <
838                                 R8A7792_CLK_GPIO7 R8A7792_CLK_GPIO6
839                                 R8A7792_CLK_GPIO5 R8A7792_CLK_GPIO4
840                                 R8A7792_CLK_GPIO3 R8A7792_CLK_GPIO2
841                                 R8A7792_CLK_GPIO1 R8A7792_CLK_GPIO0
842                                 R8A7792_CLK_GPIO11 R8A7792_CLK_GPIO10
843                                 R8A7792_CLK_CAN1 R8A7792_CLK_CAN0
844                                 R8A7792_CLK_GPIO9 R8A7792_CLK_GPIO8
845                                 R8A7792_CLK_I2C5 R8A7792_CLK_I2C4
846                                 R8A7792_CLK_I2C3 R8A7792_CLK_I2C2
847                                 R8A7792_CLK_I2C1 R8A7792_CLK_I2C0
848                         >;
849                         clock-output-names =
850                                 "gpio7", "gpio6", "gpio5", "gpio4",
851                                 "gpio3", "gpio2", "gpio1", "gpio0",
852                                 "gpio11", "gpio10", "can1", "can0",
853                                 "gpio9", "gpio8", "i2c5", "i2c4",
854                                 "i2c3", "i2c2", "i2c1", "i2c0";
855                 };
856         };
857
858         /* External root clock */
859         extal_clk: extal {
860                 compatible = "fixed-clock";
861                 #clock-cells = <0>;
862                 /* This value must be overridden by the board. */
863                 clock-frequency = <0>;
864         };
865
866         /* External SCIF clock */
867         scif_clk: scif {
868                 compatible = "fixed-clock";
869                 #clock-cells = <0>;
870                 /* This value must be overridden by the board. */
871                 clock-frequency = <0>;
872         };
873
874         /* External CAN clock */
875         can_clk: can {
876                 compatible = "fixed-clock";
877                 #clock-cells = <0>;
878                 /* This value must be overridden by the board. */
879                 clock-frequency = <0>;
880         };
881 };