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