GNU Linux-libre 4.14.332-gnu1
[releases.git] / arch / arm / boot / dts / sh73a0.dtsi
1 /*
2  * Device Tree Source for the SH73A0 SoC
3  *
4  * Copyright (C) 2012 Renesas Solutions Corp.
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2.  This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10
11 #include <dt-bindings/clock/sh73a0-clock.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14
15 / {
16         compatible = "renesas,sh73a0";
17         interrupt-parent = <&gic>;
18         #address-cells = <1>;
19         #size-cells = <1>;
20
21         cpus {
22                 #address-cells = <1>;
23                 #size-cells = <0>;
24
25                 cpu0: cpu@0 {
26                         device_type = "cpu";
27                         compatible = "arm,cortex-a9";
28                         reg = <0>;
29                         clock-frequency = <1196000000>;
30                         power-domains = <&pd_a2sl>;
31                         next-level-cache = <&L2>;
32                 };
33                 cpu1: cpu@1 {
34                         device_type = "cpu";
35                         compatible = "arm,cortex-a9";
36                         reg = <1>;
37                         clock-frequency = <1196000000>;
38                         power-domains = <&pd_a2sl>;
39                         next-level-cache = <&L2>;
40                 };
41         };
42
43         timer@f0000600 {
44                 compatible = "arm,cortex-a9-twd-timer";
45                 reg = <0xf0000600 0x20>;
46                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
47                 clocks = <&twd_clk>;
48         };
49
50         gic: interrupt-controller@f0001000 {
51                 compatible = "arm,cortex-a9-gic";
52                 #interrupt-cells = <3>;
53                 interrupt-controller;
54                 reg = <0xf0001000 0x1000>,
55                       <0xf0000100 0x100>;
56         };
57
58         L2: cache-controller@f0100000 {
59                 compatible = "arm,pl310-cache";
60                 reg = <0xf0100000 0x1000>;
61                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
62                 power-domains = <&pd_a3sm>;
63                 arm,data-latency = <3 3 3>;
64                 arm,tag-latency = <2 2 2>;
65                 arm,shared-override;
66                 cache-unified;
67                 cache-level = <2>;
68         };
69
70         sbsc2: memory-controller@fb400000 {
71                 compatible = "renesas,sbsc-sh73a0";
72                 reg = <0xfb400000 0x400>;
73                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
74                              <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
75                 interrupt-names = "sec", "temp";
76                 power-domains = <&pd_a4bc1>;
77         };
78
79         sbsc1: memory-controller@fe400000 {
80                 compatible = "renesas,sbsc-sh73a0";
81                 reg = <0xfe400000 0x400>;
82                 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
83                              <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
84                 interrupt-names = "sec", "temp";
85                 power-domains = <&pd_a4bc0>;
86         };
87
88         pmu {
89                 compatible = "arm,cortex-a9-pmu";
90                 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
91                              <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
92                 interrupt-affinity = <&cpu0>, <&cpu1>;
93         };
94
95         cmt1: timer@e6138000 {
96                 compatible = "renesas,cmt-48-sh73a0", "renesas,cmt-48";
97                 reg = <0xe6138000 0x200>;
98                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
99                 clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
100                 clock-names = "fck";
101                 power-domains = <&pd_c5>;
102
103                 renesas,channels-mask = <0x3f>;
104
105                 status = "disabled";
106         };
107
108         irqpin0: interrupt-controller@e6900000 {
109                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
110                 #interrupt-cells = <2>;
111                 interrupt-controller;
112                 reg = <0xe6900000 4>,
113                         <0xe6900010 4>,
114                         <0xe6900020 1>,
115                         <0xe6900040 1>,
116                         <0xe6900060 1>;
117                 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
118                               GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
119                               GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
120                               GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH
121                               GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH
122                               GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH
123                               GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH
124                               GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
125                 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
126                 power-domains = <&pd_a4s>;
127                 control-parent;
128         };
129
130         irqpin1: interrupt-controller@e6900004 {
131                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
132                 #interrupt-cells = <2>;
133                 interrupt-controller;
134                 reg = <0xe6900004 4>,
135                         <0xe6900014 4>,
136                         <0xe6900024 1>,
137                         <0xe6900044 1>,
138                         <0xe6900064 1>;
139                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH
140                               GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH
141                               GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH
142                               GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH
143                               GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH
144                               GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH
145                               GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH
146                               GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
147                 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
148                 power-domains = <&pd_a4s>;
149                 control-parent;
150         };
151
152         irqpin2: interrupt-controller@e6900008 {
153                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
154                 #interrupt-cells = <2>;
155                 interrupt-controller;
156                 reg = <0xe6900008 4>,
157                         <0xe6900018 4>,
158                         <0xe6900028 1>,
159                         <0xe6900048 1>,
160                         <0xe6900068 1>;
161                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH
162                               GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
163                               GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH
164                               GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH
165                               GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH
166                               GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH
167                               GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH
168                               GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
169                 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
170                 power-domains = <&pd_a4s>;
171                 control-parent;
172         };
173
174         irqpin3: interrupt-controller@e690000c {
175                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
176                 #interrupt-cells = <2>;
177                 interrupt-controller;
178                 reg = <0xe690000c 4>,
179                         <0xe690001c 4>,
180                         <0xe690002c 1>,
181                         <0xe690004c 1>,
182                         <0xe690006c 1>;
183                 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH
184                               GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH
185                               GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH
186                               GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH
187                               GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH
188                               GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH
189                               GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH
190                               GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
191                 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
192                 power-domains = <&pd_a4s>;
193                 control-parent;
194         };
195
196         i2c0: i2c@e6820000 {
197                 #address-cells = <1>;
198                 #size-cells = <0>;
199                 compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
200                 reg = <0xe6820000 0x425>;
201                 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH
202                               GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH
203                               GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH
204                               GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
205                 clocks = <&mstp1_clks SH73A0_CLK_IIC0>;
206                 power-domains = <&pd_a3sp>;
207                 status = "disabled";
208         };
209
210         i2c1: i2c@e6822000 {
211                 #address-cells = <1>;
212                 #size-cells = <0>;
213                 compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
214                 reg = <0xe6822000 0x425>;
215                 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH
216                               GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH
217                               GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH
218                               GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
219                 clocks = <&mstp3_clks SH73A0_CLK_IIC1>;
220                 power-domains = <&pd_a3sp>;
221                 status = "disabled";
222         };
223
224         i2c2: i2c@e6824000 {
225                 #address-cells = <1>;
226                 #size-cells = <0>;
227                 compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
228                 reg = <0xe6824000 0x425>;
229                 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH
230                               GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH
231                               GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH
232                               GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
233                 clocks = <&mstp0_clks SH73A0_CLK_IIC2>;
234                 power-domains = <&pd_a3sp>;
235                 status = "disabled";
236         };
237
238         i2c3: i2c@e6826000 {
239                 #address-cells = <1>;
240                 #size-cells = <0>;
241                 compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
242                 reg = <0xe6826000 0x425>;
243                 interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH
244                               GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH
245                               GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH
246                               GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
247                 clocks = <&mstp4_clks SH73A0_CLK_IIC3>;
248                 power-domains = <&pd_a3sp>;
249                 status = "disabled";
250         };
251
252         i2c4: i2c@e6828000 {
253                 #address-cells = <1>;
254                 #size-cells = <0>;
255                 compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
256                 reg = <0xe6828000 0x425>;
257                 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH
258                               GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH
259                               GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH
260                               GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
261                 clocks = <&mstp4_clks SH73A0_CLK_IIC4>;
262                 power-domains = <&pd_c5>;
263                 status = "disabled";
264         };
265
266         mmcif: mmc@e6bd0000 {
267                 compatible = "renesas,mmcif-sh73a0", "renesas,sh-mmcif";
268                 reg = <0xe6bd0000 0x100>;
269                 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH
270                               GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
271                 clocks = <&mstp3_clks SH73A0_CLK_MMCIF0>;
272                 power-domains = <&pd_a3sp>;
273                 reg-io-width = <4>;
274                 status = "disabled";
275         };
276
277         msiof0: spi@e6e20000 {
278                 compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
279                 reg = <0xe6e20000 0x0064>;
280                 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
281                 clocks = <&mstp0_clks SH73A0_CLK_MSIOF0>;
282                 power-domains = <&pd_a3sp>;
283                 #address-cells = <1>;
284                 #size-cells = <0>;
285                 status = "disabled";
286         };
287
288         msiof1: spi@e6e10000 {
289                 compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
290                 reg = <0xe6e10000 0x0064>;
291                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
292                 clocks = <&mstp2_clks SH73A0_CLK_MSIOF1>;
293                 power-domains = <&pd_a3sp>;
294                 #address-cells = <1>;
295                 #size-cells = <0>;
296                 status = "disabled";
297         };
298
299         msiof2: spi@e6e00000 {
300                 compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
301                 reg = <0xe6e00000 0x0064>;
302                 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
303                 clocks = <&mstp2_clks SH73A0_CLK_MSIOF2>;
304                 power-domains = <&pd_a3sp>;
305                 #address-cells = <1>;
306                 #size-cells = <0>;
307                 status = "disabled";
308         };
309
310         msiof3: spi@e6c90000 {
311                 compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
312                 reg = <0xe6c90000 0x0064>;
313                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
314                 clocks = <&mstp2_clks SH73A0_CLK_MSIOF3>;
315                 power-domains = <&pd_a3sp>;
316                 #address-cells = <1>;
317                 #size-cells = <0>;
318                 status = "disabled";
319         };
320
321         sdhi0: sd@ee100000 {
322                 compatible = "renesas,sdhi-sh73a0";
323                 reg = <0xee100000 0x100>;
324                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH
325                               GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH
326                               GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
327                 clocks = <&mstp3_clks SH73A0_CLK_SDHI0>;
328                 power-domains = <&pd_a3sp>;
329                 cap-sd-highspeed;
330                 status = "disabled";
331         };
332
333         /* SDHI1 and SDHI2 have no CD pins, no need for CD IRQ */
334         sdhi1: sd@ee120000 {
335                 compatible = "renesas,sdhi-sh73a0";
336                 reg = <0xee120000 0x100>;
337                 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH
338                               GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
339                 clocks = <&mstp3_clks SH73A0_CLK_SDHI1>;
340                 power-domains = <&pd_a3sp>;
341                 toshiba,mmc-wrprotect-disable;
342                 cap-sd-highspeed;
343                 status = "disabled";
344         };
345
346         sdhi2: sd@ee140000 {
347                 compatible = "renesas,sdhi-sh73a0";
348                 reg = <0xee140000 0x100>;
349                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH
350                               GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
351                 clocks = <&mstp3_clks SH73A0_CLK_SDHI2>;
352                 power-domains = <&pd_a3sp>;
353                 toshiba,mmc-wrprotect-disable;
354                 cap-sd-highspeed;
355                 status = "disabled";
356         };
357
358         scifa0: serial@e6c40000 {
359                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
360                 reg = <0xe6c40000 0x100>;
361                 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
362                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA0>;
363                 clock-names = "fck";
364                 power-domains = <&pd_a3sp>;
365                 status = "disabled";
366         };
367
368         scifa1: serial@e6c50000 {
369                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
370                 reg = <0xe6c50000 0x100>;
371                 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
372                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA1>;
373                 clock-names = "fck";
374                 power-domains = <&pd_a3sp>;
375                 status = "disabled";
376         };
377
378         scifa2: serial@e6c60000 {
379                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
380                 reg = <0xe6c60000 0x100>;
381                 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
382                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA2>;
383                 clock-names = "fck";
384                 power-domains = <&pd_a3sp>;
385                 status = "disabled";
386         };
387
388         scifa3: serial@e6c70000 {
389                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
390                 reg = <0xe6c70000 0x100>;
391                 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
392                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA3>;
393                 clock-names = "fck";
394                 power-domains = <&pd_a3sp>;
395                 status = "disabled";
396         };
397
398         scifa4: serial@e6c80000 {
399                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
400                 reg = <0xe6c80000 0x100>;
401                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
402                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA4>;
403                 clock-names = "fck";
404                 power-domains = <&pd_a3sp>;
405                 status = "disabled";
406         };
407
408         scifa5: serial@e6cb0000 {
409                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
410                 reg = <0xe6cb0000 0x100>;
411                 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
412                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA5>;
413                 clock-names = "fck";
414                 power-domains = <&pd_a3sp>;
415                 status = "disabled";
416         };
417
418         scifa6: serial@e6cc0000 {
419                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
420                 reg = <0xe6cc0000 0x100>;
421                 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
422                 clocks = <&mstp3_clks SH73A0_CLK_SCIFA6>;
423                 clock-names = "fck";
424                 power-domains = <&pd_a3sp>;
425                 status = "disabled";
426         };
427
428         scifa7: serial@e6cd0000 {
429                 compatible = "renesas,scifa-sh73a0", "renesas,scifa";
430                 reg = <0xe6cd0000 0x100>;
431                 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
432                 clocks = <&mstp2_clks SH73A0_CLK_SCIFA7>;
433                 clock-names = "fck";
434                 power-domains = <&pd_a3sp>;
435                 status = "disabled";
436         };
437
438         scifb: serial@e6c30000 {
439                 compatible = "renesas,scifb-sh73a0", "renesas,scifb";
440                 reg = <0xe6c30000 0x100>;
441                 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
442                 clocks = <&mstp2_clks SH73A0_CLK_SCIFB>;
443                 clock-names = "fck";
444                 power-domains = <&pd_a3sp>;
445                 status = "disabled";
446         };
447
448         pfc: pin-controller@e6050000 {
449                 compatible = "renesas,pfc-sh73a0";
450                 reg = <0xe6050000 0x8000>,
451                       <0xe605801c 0x1c>;
452                 gpio-controller;
453                 #gpio-cells = <2>;
454                 gpio-ranges =
455                         <&pfc 0 0 119>, <&pfc 128 128 37>, <&pfc 192 192 91>,
456                         <&pfc 288 288 22>;
457                 interrupts-extended =
458                         <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
459                         <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
460                         <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
461                         <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
462                         <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
463                         <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
464                         <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
465                         <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
466                 power-domains = <&pd_c5>;
467         };
468
469         sysc: system-controller@e6180000 {
470                 compatible = "renesas,sysc-sh73a0", "renesas,sysc-rmobile";
471                 reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
472
473                 pm-domains {
474                         pd_c5: c5 {
475                                 #address-cells = <1>;
476                                 #size-cells = <0>;
477                                 #power-domain-cells = <0>;
478
479                                 pd_c4: c4@0 {
480                                         reg = <0>;
481                                         #power-domain-cells = <0>;
482                                 };
483
484                                 pd_d4: d4@1 {
485                                         reg = <1>;
486                                         #power-domain-cells = <0>;
487                                 };
488
489                                 pd_a4bc0: a4bc0@4 {
490                                         reg = <4>;
491                                         #power-domain-cells = <0>;
492                                 };
493
494                                 pd_a4bc1: a4bc1@5 {
495                                         reg = <5>;
496                                         #power-domain-cells = <0>;
497                                 };
498
499                                 pd_a4lc0: a4lc0@6 {
500                                         reg = <6>;
501                                         #power-domain-cells = <0>;
502                                 };
503
504                                 pd_a4lc1: a4lc1@7 {
505                                         reg = <7>;
506                                         #power-domain-cells = <0>;
507                                 };
508
509                                 pd_a4mp: a4mp@8 {
510                                         reg = <8>;
511                                         #address-cells = <1>;
512                                         #size-cells = <0>;
513                                         #power-domain-cells = <0>;
514
515                                         pd_a3mp: a3mp@9 {
516                                                 reg = <9>;
517                                                 #power-domain-cells = <0>;
518                                         };
519
520                                         pd_a3vc: a3vc@10 {
521                                                 reg = <10>;
522                                                 #power-domain-cells = <0>;
523                                         };
524                                 };
525
526                                 pd_a4rm: a4rm@12 {
527                                         reg = <12>;
528                                         #address-cells = <1>;
529                                         #size-cells = <0>;
530                                         #power-domain-cells = <0>;
531
532                                         pd_a3r: a3r@13 {
533                                                 reg = <13>;
534                                                 #address-cells = <1>;
535                                                 #size-cells = <0>;
536                                                 #power-domain-cells = <0>;
537
538                                                 pd_a2rv: a2rv@14 {
539                                                         reg = <14>;
540                                                         #address-cells = <1>;
541                                                         #size-cells = <0>;
542                                                         #power-domain-cells = <0>;
543                                                 };
544                                         };
545                                 };
546
547                                 pd_a4s: a4s@16 {
548                                         reg = <16>;
549                                         #address-cells = <1>;
550                                         #size-cells = <0>;
551                                         #power-domain-cells = <0>;
552
553                                         pd_a3sp: a3sp@17 {
554                                                 reg = <17>;
555                                                 #power-domain-cells = <0>;
556                                         };
557
558                                         pd_a3sg: a3sg@18 {
559                                                 reg = <18>;
560                                                 #power-domain-cells = <0>;
561                                         };
562
563                                         pd_a3sm: a3sm@19 {
564                                                 reg = <19>;
565                                                 #address-cells = <1>;
566                                                 #size-cells = <0>;
567                                                 #power-domain-cells = <0>;
568
569                                                 pd_a2sl: a2sl@20 {
570                                                         reg = <20>;
571                                                         #power-domain-cells = <0>;
572                                                 };
573                                         };
574                                 };
575                         };
576                 };
577         };
578
579         sh_fsi2: sound@ec230000 {
580                 #sound-dai-cells = <1>;
581                 compatible = "renesas,fsi2-sh73a0", "renesas,sh_fsi2";
582                 reg = <0xec230000 0x400>;
583                 interrupts = <GIC_SPI 146 0x4>;
584                 power-domains = <&pd_a4mp>;
585                 status = "disabled";
586         };
587
588         bsc: bus@fec10000 {
589                 compatible = "renesas,bsc-sh73a0", "renesas,bsc",
590                              "simple-pm-bus";
591                 #address-cells = <1>;
592                 #size-cells = <1>;
593                 ranges = <0 0 0x20000000>;
594                 reg = <0xfec10000 0x400>;
595                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
596                 clocks = <&zb_clk>;
597                 power-domains = <&pd_a4s>;
598         };
599
600         clocks {
601                 #address-cells = <1>;
602                 #size-cells = <1>;
603                 ranges;
604
605                 /* External root clocks */
606                 extalr_clk: extalr {
607                         compatible = "fixed-clock";
608                         #clock-cells = <0>;
609                         clock-frequency = <32768>;
610                 };
611                 extal1_clk: extal1 {
612                         compatible = "fixed-clock";
613                         #clock-cells = <0>;
614                         clock-frequency = <26000000>;
615                 };
616                 extal2_clk: extal2 {
617                         compatible = "fixed-clock";
618                         #clock-cells = <0>;
619                 };
620                 extcki_clk: extcki {
621                         compatible = "fixed-clock";
622                         #clock-cells = <0>;
623                 };
624                 fsiack_clk: fsiack {
625                         compatible = "fixed-clock";
626                         #clock-cells = <0>;
627                         clock-frequency = <0>;
628                 };
629                 fsibck_clk: fsibck {
630                         compatible = "fixed-clock";
631                         #clock-cells = <0>;
632                         clock-frequency = <0>;
633                 };
634
635                 /* Special CPG clocks */
636                 cpg_clocks: cpg_clocks@e6150000 {
637                         compatible = "renesas,sh73a0-cpg-clocks";
638                         reg = <0xe6150000 0x10000>;
639                         clocks = <&extal1_clk>, <&extal2_clk>;
640                         #clock-cells = <1>;
641                         clock-output-names = "main", "pll0", "pll1", "pll2",
642                                              "pll3", "dsi0phy", "dsi1phy",
643                                              "zg", "m3", "b", "m1", "m2",
644                                              "z", "zx", "hp";
645                 };
646
647                 /* Variable factor clocks (DIV6) */
648                 vclk1_clk: vclk1@e6150008 {
649                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
650                         reg = <0xe6150008 4>;
651                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
652                                  <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
653                                  <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
654                                  <0>;
655                         #clock-cells = <0>;
656                 };
657                 vclk2_clk: vclk2@e615000c {
658                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
659                         reg = <0xe615000c 4>;
660                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
661                                  <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
662                                  <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
663                                  <0>;
664                         #clock-cells = <0>;
665                 };
666                 vclk3_clk: vclk3@e615001c {
667                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
668                         reg = <0xe615001c 4>;
669                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
670                                  <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
671                                  <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
672                                  <0>;
673                         #clock-cells = <0>;
674                 };
675                 zb_clk: zb_clk@e6150010 {
676                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
677                         reg = <0xe6150010 4>;
678                         clocks = <&pll1_div2_clk>, <0>,
679                                  <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
680                         #clock-cells = <0>;
681                         clock-output-names = "zb";
682                 };
683                 flctl_clk: flctlck@e6150014 {
684                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
685                         reg = <0xe6150014 4>;
686                         clocks = <&pll1_div2_clk>, <0>,
687                                  <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
688                         #clock-cells = <0>;
689                 };
690                 sdhi0_clk: sdhi0ck@e6150074 {
691                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
692                         reg = <0xe6150074 4>;
693                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
694                                  <&pll1_div13_clk>, <0>;
695                         #clock-cells = <0>;
696                 };
697                 sdhi1_clk: sdhi1ck@e6150078 {
698                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
699                         reg = <0xe6150078 4>;
700                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
701                                  <&pll1_div13_clk>, <0>;
702                         #clock-cells = <0>;
703                 };
704                 sdhi2_clk: sdhi2ck@e615007c {
705                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
706                         reg = <0xe615007c 4>;
707                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
708                                  <&pll1_div13_clk>, <0>;
709                         #clock-cells = <0>;
710                 };
711                 fsia_clk: fsia@e6150018 {
712                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
713                         reg = <0xe6150018 4>;
714                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
715                                  <&fsiack_clk>, <&fsiack_clk>;
716                         #clock-cells = <0>;
717                 };
718                 fsib_clk: fsib@e6150090 {
719                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
720                         reg = <0xe6150090 4>;
721                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
722                                  <&fsibck_clk>, <&fsibck_clk>;
723                         #clock-cells = <0>;
724                 };
725                 sub_clk: sub@e6150080 {
726                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
727                         reg = <0xe6150080 4>;
728                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
729                                  <&extal2_clk>, <&extal2_clk>;
730                         #clock-cells = <0>;
731                 };
732                 spua_clk: spua@e6150084 {
733                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
734                         reg = <0xe6150084 4>;
735                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
736                                  <&extal2_clk>, <&extal2_clk>;
737                         #clock-cells = <0>;
738                 };
739                 spuv_clk: spuv@e6150094 {
740                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
741                         reg = <0xe6150094 4>;
742                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
743                                  <&extal2_clk>, <&extal2_clk>;
744                         #clock-cells = <0>;
745                 };
746                 msu_clk: msu@e6150088 {
747                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
748                         reg = <0xe6150088 4>;
749                         clocks = <&pll1_div2_clk>, <0>,
750                                  <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
751                         #clock-cells = <0>;
752                 };
753                 hsi_clk: hsi@e615008c {
754                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
755                         reg = <0xe615008c 4>;
756                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
757                                  <&pll1_div7_clk>, <0>;
758                         #clock-cells = <0>;
759                 };
760                 mfg1_clk: mfg1@e6150098 {
761                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
762                         reg = <0xe6150098 4>;
763                         clocks = <&pll1_div2_clk>, <0>,
764                                  <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
765                         #clock-cells = <0>;
766                 };
767                 mfg2_clk: mfg2@e615009c {
768                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
769                         reg = <0xe615009c 4>;
770                         clocks = <&pll1_div2_clk>, <0>,
771                                  <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
772                         #clock-cells = <0>;
773                 };
774                 dsit_clk: dsit@e6150060 {
775                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
776                         reg = <0xe6150060 4>;
777                         clocks = <&pll1_div2_clk>, <0>,
778                                  <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
779                         #clock-cells = <0>;
780                 };
781                 dsi0p_clk: dsi0pck@e6150064 {
782                         compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
783                         reg = <0xe6150064 4>;
784                         clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
785                                  <&cpg_clocks SH73A0_CLK_MAIN>, <&extal2_clk>,
786                                  <&extcki_clk>, <0>, <0>, <0>;
787                         #clock-cells = <0>;
788                 };
789
790                 /* Fixed factor clocks */
791                 main_div2_clk: main_div2 {
792                         compatible = "fixed-factor-clock";
793                         clocks = <&cpg_clocks SH73A0_CLK_MAIN>;
794                         #clock-cells = <0>;
795                         clock-div = <2>;
796                         clock-mult = <1>;
797                 };
798                 pll1_div2_clk: pll1_div2 {
799                         compatible = "fixed-factor-clock";
800                         clocks = <&cpg_clocks SH73A0_CLK_PLL1>;
801                         #clock-cells = <0>;
802                         clock-div = <2>;
803                         clock-mult = <1>;
804                 };
805                 pll1_div7_clk: pll1_div7 {
806                         compatible = "fixed-factor-clock";
807                         clocks = <&cpg_clocks SH73A0_CLK_PLL1>;
808                         #clock-cells = <0>;
809                         clock-div = <7>;
810                         clock-mult = <1>;
811                 };
812                 pll1_div13_clk: pll1_div13 {
813                         compatible = "fixed-factor-clock";
814                         clocks = <&cpg_clocks SH73A0_CLK_PLL1>;
815                         #clock-cells = <0>;
816                         clock-div = <13>;
817                         clock-mult = <1>;
818                 };
819                 twd_clk: twd {
820                         compatible = "fixed-factor-clock";
821                         clocks = <&cpg_clocks SH73A0_CLK_Z>;
822                         #clock-cells = <0>;
823                         clock-div = <4>;
824                         clock-mult = <1>;
825                 };
826
827                 /* Gate clocks */
828                 mstp0_clks: mstp0_clks@e6150130 {
829                         compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
830                         reg = <0xe6150130 4>, <0xe6150030 4>;
831                         clocks = <&cpg_clocks SH73A0_CLK_HP>, <&sub_clk>;
832                         #clock-cells = <1>;
833                         clock-indices = <
834                                 SH73A0_CLK_IIC2 SH73A0_CLK_MSIOF0
835                         >;
836                         clock-output-names =
837                                 "iic2", "msiof0";
838                 };
839                 mstp1_clks: mstp1_clks@e6150134 {
840                         compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
841                         reg = <0xe6150134 4>, <0xe6150038 4>;
842                         clocks = <&cpg_clocks SH73A0_CLK_B>,
843                                  <&cpg_clocks SH73A0_CLK_B>,
844                                  <&cpg_clocks SH73A0_CLK_B>,
845                                  <&cpg_clocks SH73A0_CLK_B>,
846                                  <&sub_clk>, <&cpg_clocks SH73A0_CLK_B>,
847                                  <&cpg_clocks SH73A0_CLK_HP>,
848                                  <&cpg_clocks SH73A0_CLK_ZG>,
849                                  <&cpg_clocks SH73A0_CLK_B>;
850                         #clock-cells = <1>;
851                         clock-indices = <
852                                 SH73A0_CLK_CEU1 SH73A0_CLK_CSI2_RX1
853                                 SH73A0_CLK_CEU0 SH73A0_CLK_CSI2_RX0
854                                 SH73A0_CLK_TMU0 SH73A0_CLK_DSITX0
855                                 SH73A0_CLK_IIC0 SH73A0_CLK_SGX
856                                 SH73A0_CLK_LCDC0
857                         >;
858                         clock-output-names =
859                                 "ceu1", "csi2_rx1", "ceu0", "csi2_rx0",
860                                 "tmu0", "dsitx0", "iic0", "sgx", "lcdc0";
861                 };
862                 mstp2_clks: mstp2_clks@e6150138 {
863                         compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
864                         reg = <0xe6150138 4>, <0xe6150040 4>;
865                         clocks = <&sub_clk>, <&cpg_clocks SH73A0_CLK_HP>,
866                                  <&cpg_clocks SH73A0_CLK_HP>, <&sub_clk>,
867                                  <&sub_clk>, <&sub_clk>, <&sub_clk>,
868                                  <&sub_clk>, <&sub_clk>, <&sub_clk>,
869                                  <&sub_clk>, <&sub_clk>, <&sub_clk>;
870                         #clock-cells = <1>;
871                         clock-indices = <
872                                 SH73A0_CLK_SCIFA7 SH73A0_CLK_SY_DMAC
873                                 SH73A0_CLK_MP_DMAC SH73A0_CLK_MSIOF3
874                                 SH73A0_CLK_MSIOF1 SH73A0_CLK_SCIFA5
875                                 SH73A0_CLK_SCIFB SH73A0_CLK_MSIOF2
876                                 SH73A0_CLK_SCIFA0 SH73A0_CLK_SCIFA1
877                                 SH73A0_CLK_SCIFA2 SH73A0_CLK_SCIFA3
878                                 SH73A0_CLK_SCIFA4
879                         >;
880                         clock-output-names =
881                                 "scifa7", "sy_dmac", "mp_dmac", "msiof3",
882                                 "msiof1", "scifa5", "scifb", "msiof2",
883                                 "scifa0", "scifa1", "scifa2", "scifa3",
884                                 "scifa4";
885                 };
886                 mstp3_clks: mstp3_clks@e615013c {
887                         compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
888                         reg = <0xe615013c 4>, <0xe6150048 4>;
889                         clocks = <&sub_clk>, <&extalr_clk>,
890                                  <&cpg_clocks SH73A0_CLK_HP>, <&sub_clk>,
891                                  <&cpg_clocks SH73A0_CLK_HP>,
892                                  <&cpg_clocks SH73A0_CLK_HP>, <&flctl_clk>,
893                                  <&sdhi0_clk>, <&sdhi1_clk>,
894                                  <&cpg_clocks SH73A0_CLK_HP>, <&sdhi2_clk>,
895                                  <&main_div2_clk>, <&main_div2_clk>,
896                                  <&main_div2_clk>, <&main_div2_clk>,
897                                  <&main_div2_clk>;
898                         #clock-cells = <1>;
899                         clock-indices = <
900                                 SH73A0_CLK_SCIFA6 SH73A0_CLK_CMT1
901                                 SH73A0_CLK_FSI SH73A0_CLK_IRDA
902                                 SH73A0_CLK_IIC1 SH73A0_CLK_USB SH73A0_CLK_FLCTL
903                                 SH73A0_CLK_SDHI0 SH73A0_CLK_SDHI1
904                                 SH73A0_CLK_MMCIF0 SH73A0_CLK_SDHI2
905                                 SH73A0_CLK_TPU0 SH73A0_CLK_TPU1
906                                 SH73A0_CLK_TPU2 SH73A0_CLK_TPU3
907                                 SH73A0_CLK_TPU4
908                         >;
909                         clock-output-names =
910                                 "scifa6", "cmt1", "fsi", "irda", "iic1",
911                                 "usb", "flctl", "sdhi0", "sdhi1", "mmcif0", "sdhi2",
912                                 "tpu0", "tpu1", "tpu2", "tpu3", "tpu4";
913                 };
914                 mstp4_clks: mstp4_clks@e6150140 {
915                         compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
916                         reg = <0xe6150140 4>, <0xe615004c 4>;
917                         clocks = <&cpg_clocks SH73A0_CLK_HP>,
918                                  <&cpg_clocks SH73A0_CLK_HP>, <&extalr_clk>;
919                         #clock-cells = <1>;
920                         clock-indices = <
921                                 SH73A0_CLK_IIC3 SH73A0_CLK_IIC4
922                                 SH73A0_CLK_KEYSC
923                         >;
924                         clock-output-names =
925                                 "iic3", "iic4", "keysc";
926                 };
927                 mstp5_clks: mstp5_clks@e6150144 {
928                         compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
929                         reg = <0xe6150144 4>, <0xe615003c 4>;
930                         clocks = <&cpg_clocks SH73A0_CLK_HP>;
931                         #clock-cells = <1>;
932                         clock-indices = <
933                                 SH73A0_CLK_INTCA0
934                         >;
935                         clock-output-names =
936                                 "intca0";
937                 };
938         };
939 };