Merge tag 'for-linus-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
[linux-2.6-microblaze.git] / arch / arm / boot / dts / r8a73a4.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the r8a73a4 SoC
4  *
5  * Copyright (C) 2013 Renesas Solutions Corp.
6  * Copyright (C) 2013 Magnus Damm
7  */
8
9 #include <dt-bindings/clock/r8a73a4-clock.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12
13 / {
14         compatible = "renesas,r8a73a4";
15         interrupt-parent = <&gic>;
16         #address-cells = <2>;
17         #size-cells = <2>;
18
19         cpus {
20                 #address-cells = <1>;
21                 #size-cells = <0>;
22
23                 cpu0: cpu@0 {
24                         device_type = "cpu";
25                         compatible = "arm,cortex-a15";
26                         reg = <0>;
27                         clocks = <&cpg_clocks R8A73A4_CLK_Z>;
28                         clock-frequency = <1500000000>;
29                         power-domains = <&pd_a2sl>;
30                         next-level-cache = <&L2_CA15>;
31                 };
32
33                 L2_CA15: cache-controller-0 {
34                         compatible = "cache";
35                         clocks = <&cpg_clocks R8A73A4_CLK_Z>;
36                         power-domains = <&pd_a3sm>;
37                         cache-unified;
38                         cache-level = <2>;
39                 };
40
41                 L2_CA7: cache-controller-1 {
42                         compatible = "cache";
43                         clocks = <&cpg_clocks R8A73A4_CLK_Z2>;
44                         power-domains = <&pd_a3km>;
45                         cache-unified;
46                         cache-level = <2>;
47                 };
48         };
49
50         ptm {
51                 compatible = "arm,coresight-etm3x";
52                 power-domains = <&pd_d4>;
53         };
54
55         timer {
56                 compatible = "arm,armv7-timer";
57                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
58                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
59                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
60                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
61         };
62
63         dbsc1: memory-controller@e6790000 {
64                 compatible = "renesas,dbsc-r8a73a4";
65                 reg = <0 0xe6790000 0 0x10000>;
66                 power-domains = <&pd_a3bc>;
67         };
68
69         dbsc2: memory-controller@e67a0000 {
70                 compatible = "renesas,dbsc-r8a73a4";
71                 reg = <0 0xe67a0000 0 0x10000>;
72                 power-domains = <&pd_a3bc>;
73         };
74
75         i2c5: i2c@e60b0000 {
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
79                 reg = <0 0xe60b0000 0 0x428>;
80                 interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
81                 clocks = <&mstp4_clks R8A73A4_CLK_IIC5>;
82                 power-domains = <&pd_a3sp>;
83
84                 status = "disabled";
85         };
86
87         cmt1: timer@e6130000 {
88                 compatible = "renesas,r8a73a4-cmt1", "renesas,rcar-gen2-cmt1";
89                 reg = <0 0xe6130000 0 0x1004>;
90                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
91                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
92                              <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
93                              <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
94                              <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
95                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
96                              <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
97                              <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
98                 clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
99                 clock-names = "fck";
100                 power-domains = <&pd_c5>;
101                 status = "disabled";
102         };
103
104         irqc0: interrupt-controller@e61c0000 {
105                 compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
106                 #interrupt-cells = <2>;
107                 interrupt-controller;
108                 reg = <0 0xe61c0000 0 0x200>;
109                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
110                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
111                              <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
112                              <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
113                              <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
114                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
115                              <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
116                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
117                              <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
118                              <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
119                              <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
120                              <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
121                              <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
122                              <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
123                              <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
124                              <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
125                              <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
126                              <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
127                              <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
128                              <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
129                              <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
130                              <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
131                              <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
132                              <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
133                              <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
134                              <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
135                              <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
136                              <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
137                              <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
138                              <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
139                              <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
140                              <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
141                 clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
142                 power-domains = <&pd_c4>;
143         };
144
145         irqc1: interrupt-controller@e61c0200 {
146                 compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
147                 #interrupt-cells = <2>;
148                 interrupt-controller;
149                 reg = <0 0xe61c0200 0 0x200>;
150                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
151                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
152                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
153                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
154                              <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
155                              <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
156                              <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
157                              <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
158                              <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
159                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
160                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
161                              <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
162                              <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
163                              <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
164                              <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
165                              <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
166                              <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
167                              <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
168                              <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
169                              <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
170                              <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
171                              <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
172                              <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
173                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
174                              <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
175                              <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
176                 clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
177                 power-domains = <&pd_c4>;
178         };
179
180         pfc: pinctrl@e6050000 {
181                 compatible = "renesas,pfc-r8a73a4";
182                 reg = <0 0xe6050000 0 0x9000>;
183                 gpio-controller;
184                 #gpio-cells = <2>;
185                 gpio-ranges =
186                         <&pfc 0 0 31>, <&pfc 32 32 9>,
187                         <&pfc 64 64 22>, <&pfc 96 96 31>,
188                         <&pfc 128 128 7>, <&pfc 160 160 19>,
189                         <&pfc 192 192 31>, <&pfc 224 224 27>,
190                         <&pfc 256 256 28>, <&pfc 288 288 21>,
191                         <&pfc 320 320 10>;
192                 interrupts-extended =
193                         <&irqc0  0 0>, <&irqc0  1 0>, <&irqc0  2 0>, <&irqc0  3 0>,
194                         <&irqc0  4 0>, <&irqc0  5 0>, <&irqc0  6 0>, <&irqc0  7 0>,
195                         <&irqc0  8 0>, <&irqc0  9 0>, <&irqc0 10 0>, <&irqc0 11 0>,
196                         <&irqc0 12 0>, <&irqc0 13 0>, <&irqc0 14 0>, <&irqc0 15 0>,
197                         <&irqc0 16 0>, <&irqc0 17 0>, <&irqc0 18 0>, <&irqc0 19 0>,
198                         <&irqc0 20 0>, <&irqc0 21 0>, <&irqc0 22 0>, <&irqc0 23 0>,
199                         <&irqc0 24 0>, <&irqc0 25 0>, <&irqc0 26 0>, <&irqc0 27 0>,
200                         <&irqc0 28 0>, <&irqc0 29 0>, <&irqc0 30 0>, <&irqc0 31 0>,
201                         <&irqc1  0 0>, <&irqc1  1 0>, <&irqc1  2 0>, <&irqc1  3 0>,
202                         <&irqc1  4 0>, <&irqc1  5 0>, <&irqc1  6 0>, <&irqc1  7 0>,
203                         <&irqc1  8 0>, <&irqc1  9 0>, <&irqc1 10 0>, <&irqc1 11 0>,
204                         <&irqc1 12 0>, <&irqc1 13 0>, <&irqc1 14 0>, <&irqc1 15 0>,
205                         <&irqc1 16 0>, <&irqc1 17 0>, <&irqc1 18 0>, <&irqc1 19 0>,
206                         <&irqc1 20 0>, <&irqc1 21 0>, <&irqc1 22 0>, <&irqc1 23 0>,
207                         <&irqc1 24 0>, <&irqc1 25 0>;
208                 power-domains = <&pd_c5>;
209         };
210
211         thermal@e61f0000 {
212                 compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
213                 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>,
214                          <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>;
215                 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
216                 clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>;
217                 power-domains = <&pd_c5>;
218         };
219
220         i2c0: i2c@e6500000 {
221                 #address-cells = <1>;
222                 #size-cells = <0>;
223                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
224                 reg = <0 0xe6500000 0 0x428>;
225                 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
226                 clocks = <&mstp3_clks R8A73A4_CLK_IIC0>;
227                 power-domains = <&pd_a3sp>;
228                 status = "disabled";
229         };
230
231         i2c1: i2c@e6510000 {
232                 #address-cells = <1>;
233                 #size-cells = <0>;
234                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
235                 reg = <0 0xe6510000 0 0x428>;
236                 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
237                 clocks = <&mstp3_clks R8A73A4_CLK_IIC1>;
238                 power-domains = <&pd_a3sp>;
239                 status = "disabled";
240         };
241
242         i2c2: i2c@e6520000 {
243                 #address-cells = <1>;
244                 #size-cells = <0>;
245                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
246                 reg = <0 0xe6520000 0 0x428>;
247                 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
248                 clocks = <&mstp3_clks R8A73A4_CLK_IIC2>;
249                 power-domains = <&pd_a3sp>;
250                 status = "disabled";
251         };
252
253         i2c3: i2c@e6530000 {
254                 #address-cells = <1>;
255                 #size-cells = <0>;
256                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
257                 reg = <0 0xe6530000 0 0x428>;
258                 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
259                 clocks = <&mstp4_clks R8A73A4_CLK_IIC3>;
260                 power-domains = <&pd_a3sp>;
261                 status = "disabled";
262         };
263
264         i2c4: i2c@e6540000 {
265                 #address-cells = <1>;
266                 #size-cells = <0>;
267                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
268                 reg = <0 0xe6540000 0 0x428>;
269                 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
270                 clocks = <&mstp4_clks R8A73A4_CLK_IIC4>;
271                 power-domains = <&pd_a3sp>;
272                 status = "disabled";
273         };
274
275         i2c6: i2c@e6550000 {
276                 #address-cells = <1>;
277                 #size-cells = <0>;
278                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
279                 reg = <0 0xe6550000 0 0x428>;
280                 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
281                 clocks = <&mstp3_clks R8A73A4_CLK_IIC6>;
282                 power-domains = <&pd_a3sp>;
283                 status = "disabled";
284         };
285
286         i2c7: i2c@e6560000 {
287                 #address-cells = <1>;
288                 #size-cells = <0>;
289                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
290                 reg = <0 0xe6560000 0 0x428>;
291                 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
292                 clocks = <&mstp3_clks R8A73A4_CLK_IIC7>;
293                 power-domains = <&pd_a3sp>;
294                 status = "disabled";
295         };
296
297         i2c8: i2c@e6570000 {
298                 #address-cells = <1>;
299                 #size-cells = <0>;
300                 compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
301                 reg = <0 0xe6570000 0 0x428>;
302                 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
303                 clocks = <&mstp5_clks R8A73A4_CLK_IIC8>;
304                 power-domains = <&pd_a3sp>;
305                 status = "disabled";
306         };
307
308         scifb0: serial@e6c20000 {
309                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
310                 reg = <0 0xe6c20000 0 0x100>;
311                 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
312                 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB0>;
313                 clock-names = "fck";
314                 power-domains = <&pd_a3sp>;
315                 status = "disabled";
316         };
317
318         scifb1: serial@e6c30000 {
319                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
320                 reg = <0 0xe6c30000 0 0x100>;
321                 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
322                 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB1>;
323                 clock-names = "fck";
324                 power-domains = <&pd_a3sp>;
325                 status = "disabled";
326         };
327
328         scifa0: serial@e6c40000 {
329                 compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
330                 reg = <0 0xe6c40000 0 0x100>;
331                 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
332                 clocks = <&mstp2_clks R8A73A4_CLK_SCIFA0>;
333                 clock-names = "fck";
334                 power-domains = <&pd_a3sp>;
335                 status = "disabled";
336         };
337
338         scifa1: serial@e6c50000 {
339                 compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
340                 reg = <0 0xe6c50000 0 0x100>;
341                 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
342                 clocks = <&mstp2_clks R8A73A4_CLK_SCIFA1>;
343                 clock-names = "fck";
344                 power-domains = <&pd_a3sp>;
345                 status = "disabled";
346         };
347
348         scifb2: serial@e6ce0000 {
349                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
350                 reg = <0 0xe6ce0000 0 0x100>;
351                 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
352                 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB2>;
353                 clock-names = "fck";
354                 power-domains = <&pd_a3sp>;
355                 status = "disabled";
356         };
357
358         scifb3: serial@e6cf0000 {
359                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
360                 reg = <0 0xe6cf0000 0 0x100>;
361                 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
362                 clocks = <&mstp2_clks R8A73A4_CLK_SCIFB3>;
363                 clock-names = "fck";
364                 power-domains = <&pd_c4>;
365                 status = "disabled";
366         };
367
368         sdhi0: mmc@ee100000 {
369                 compatible = "renesas,sdhi-r8a73a4";
370                 reg = <0 0xee100000 0 0x100>;
371                 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
372                 clocks = <&mstp3_clks R8A73A4_CLK_SDHI0>;
373                 power-domains = <&pd_a3sp>;
374                 cap-sd-highspeed;
375                 status = "disabled";
376         };
377
378         sdhi1: mmc@ee120000 {
379                 compatible = "renesas,sdhi-r8a73a4";
380                 reg = <0 0xee120000 0 0x100>;
381                 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
382                 clocks = <&mstp3_clks R8A73A4_CLK_SDHI1>;
383                 power-domains = <&pd_a3sp>;
384                 cap-sd-highspeed;
385                 status = "disabled";
386         };
387
388         sdhi2: mmc@ee140000 {
389                 compatible = "renesas,sdhi-r8a73a4";
390                 reg = <0 0xee140000 0 0x100>;
391                 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
392                 clocks = <&mstp3_clks R8A73A4_CLK_SDHI2>;
393                 power-domains = <&pd_a3sp>;
394                 cap-sd-highspeed;
395                 status = "disabled";
396         };
397
398         mmcif0: mmc@ee200000 {
399                 compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
400                 reg = <0 0xee200000 0 0x80>;
401                 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
402                 clocks = <&mstp3_clks R8A73A4_CLK_MMCIF0>;
403                 power-domains = <&pd_a3sp>;
404                 reg-io-width = <4>;
405                 status = "disabled";
406         };
407
408         mmcif1: mmc@ee220000 {
409                 compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
410                 reg = <0 0xee220000 0 0x80>;
411                 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
412                 clocks = <&mstp3_clks R8A73A4_CLK_MMCIF1>;
413                 power-domains = <&pd_a3sp>;
414                 reg-io-width = <4>;
415                 status = "disabled";
416         };
417
418         gic: interrupt-controller@f1001000 {
419                 compatible = "arm,gic-400";
420                 #interrupt-cells = <3>;
421                 #address-cells = <0>;
422                 interrupt-controller;
423                 reg = <0 0xf1001000 0 0x1000>,
424                         <0 0xf1002000 0 0x2000>,
425                         <0 0xf1004000 0 0x2000>,
426                         <0 0xf1006000 0 0x2000>;
427                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
428                 clocks = <&mstp4_clks R8A73A4_CLK_INTC_SYS>;
429                 clock-names = "clk";
430                 power-domains = <&pd_c4>;
431         };
432
433         bsc: bus@fec10000 {
434                 compatible = "renesas,bsc-r8a73a4", "renesas,bsc",
435                              "simple-pm-bus";
436                 #address-cells = <1>;
437                 #size-cells = <1>;
438                 ranges = <0 0 0 0x20000000>;
439                 reg = <0 0xfec10000 0 0x400>;
440                 clocks = <&zb_clk>;
441                 power-domains = <&pd_c4>;
442         };
443
444         clocks {
445                 #address-cells = <2>;
446                 #size-cells = <2>;
447                 ranges;
448
449                 /* External root clocks */
450                 extalr_clk: extalr {
451                         compatible = "fixed-clock";
452                         #clock-cells = <0>;
453                         clock-frequency = <32768>;
454                 };
455                 extal1_clk: extal1 {
456                         compatible = "fixed-clock";
457                         #clock-cells = <0>;
458                         clock-frequency = <25000000>;
459                 };
460                 extal2_clk: extal2 {
461                         compatible = "fixed-clock";
462                         #clock-cells = <0>;
463                         clock-frequency = <48000000>;
464                 };
465                 fsiack_clk: fsiack {
466                         compatible = "fixed-clock";
467                         #clock-cells = <0>;
468                         /* This value must be overridden by the board. */
469                         clock-frequency = <0>;
470                 };
471                 fsibck_clk: fsibck {
472                         compatible = "fixed-clock";
473                         #clock-cells = <0>;
474                         /* This value must be overridden by the board. */
475                         clock-frequency = <0>;
476                 };
477
478                 /* Special CPG clocks */
479                 cpg_clocks: cpg_clocks@e6150000 {
480                         compatible = "renesas,r8a73a4-cpg-clocks";
481                         reg = <0 0xe6150000 0 0x10000>;
482                         clocks = <&extal1_clk>, <&extal2_clk>;
483                         #clock-cells = <1>;
484                         clock-output-names = "main", "pll0", "pll1", "pll2",
485                                              "pll2s", "pll2h", "z", "z2",
486                                              "i", "m3", "b", "m1", "m2",
487                                              "zx", "zs", "hp";
488                 };
489
490                 /* Variable factor clocks (DIV6) */
491                 zb_clk: zb_clk@e6150010 {
492                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
493                         reg = <0 0xe6150010 0 4>;
494                         clocks = <&pll1_div2_clk>, <0>,
495                                  <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
496                         #clock-cells = <0>;
497                         clock-output-names = "zb";
498                 };
499                 sdhi0_clk: sdhi0ck@e6150074 {
500                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
501                         reg = <0 0xe6150074 0 4>;
502                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
503                                  <0>, <&extal2_clk>;
504                         #clock-cells = <0>;
505                 };
506                 sdhi1_clk: sdhi1ck@e6150078 {
507                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
508                         reg = <0 0xe6150078 0 4>;
509                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
510                                  <0>, <&extal2_clk>;
511                         #clock-cells = <0>;
512                 };
513                 sdhi2_clk: sdhi2ck@e615007c {
514                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
515                         reg = <0 0xe615007c 0 4>;
516                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
517                                  <0>, <&extal2_clk>;
518                         #clock-cells = <0>;
519                 };
520                 mmc0_clk: mmc0@e6150240 {
521                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
522                         reg = <0 0xe6150240 0 4>;
523                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
524                                  <0>, <&extal2_clk>;
525                         #clock-cells = <0>;
526                 };
527                 mmc1_clk: mmc1@e6150244 {
528                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
529                         reg = <0 0xe6150244 0 4>;
530                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
531                                  <0>, <&extal2_clk>;
532                         #clock-cells = <0>;
533                 };
534                 vclk1_clk: vclk1@e6150008 {
535                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
536                         reg = <0 0xe6150008 0 4>;
537                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
538                                  <0>, <&extal2_clk>, <&main_div2_clk>,
539                                  <&extalr_clk>, <0>, <0>;
540                         #clock-cells = <0>;
541                 };
542                 vclk2_clk: vclk2@e615000c {
543                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
544                         reg = <0 0xe615000c 0 4>;
545                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
546                                  <0>, <&extal2_clk>, <&main_div2_clk>,
547                                  <&extalr_clk>, <0>, <0>;
548                         #clock-cells = <0>;
549                 };
550                 vclk3_clk: vclk3@e615001c {
551                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
552                         reg = <0 0xe615001c 0 4>;
553                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
554                                  <0>, <&extal2_clk>, <&main_div2_clk>,
555                                  <&extalr_clk>, <0>, <0>;
556                         #clock-cells = <0>;
557                 };
558                 vclk4_clk: vclk4@e6150014 {
559                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
560                         reg = <0 0xe6150014 0 4>;
561                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
562                                  <0>, <&extal2_clk>, <&main_div2_clk>,
563                                  <&extalr_clk>, <0>, <0>;
564                         #clock-cells = <0>;
565                 };
566                 vclk5_clk: vclk5@e6150034 {
567                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
568                         reg = <0 0xe6150034 0 4>;
569                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
570                                  <0>, <&extal2_clk>, <&main_div2_clk>,
571                                  <&extalr_clk>, <0>, <0>;
572                         #clock-cells = <0>;
573                 };
574                 fsia_clk: fsia@e6150018 {
575                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
576                         reg = <0 0xe6150018 0 4>;
577                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
578                                  <&fsiack_clk>, <0>;
579                         #clock-cells = <0>;
580                 };
581                 fsib_clk: fsib@e6150090 {
582                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
583                         reg = <0 0xe6150090 0 4>;
584                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
585                                  <&fsibck_clk>, <0>;
586                         #clock-cells = <0>;
587                 };
588                 mp_clk: mp@e6150080 {
589                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
590                         reg = <0 0xe6150080 0 4>;
591                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
592                                  <&extal2_clk>, <&extal2_clk>;
593                         #clock-cells = <0>;
594                 };
595                 m4_clk: m4@e6150098 {
596                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
597                         reg = <0 0xe6150098 0 4>;
598                         clocks = <&cpg_clocks R8A73A4_CLK_PLL2S>;
599                         #clock-cells = <0>;
600                 };
601                 hsi_clk: hsi@e615026c {
602                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
603                         reg = <0 0xe615026c 0 4>;
604                         clocks = <&cpg_clocks R8A73A4_CLK_PLL2H>, <&pll1_div2_clk>,
605                                  <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
606                         #clock-cells = <0>;
607                 };
608                 spuv_clk: spuv@e6150094 {
609                         compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
610                         reg = <0 0xe6150094 0 4>;
611                         clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
612                                  <&extal2_clk>, <&extal2_clk>;
613                         #clock-cells = <0>;
614                 };
615
616                 /* Fixed factor clocks */
617                 main_div2_clk: main_div2 {
618                         compatible = "fixed-factor-clock";
619                         clocks = <&cpg_clocks R8A73A4_CLK_MAIN>;
620                         #clock-cells = <0>;
621                         clock-div = <2>;
622                         clock-mult = <1>;
623                 };
624                 pll0_div2_clk: pll0_div2 {
625                         compatible = "fixed-factor-clock";
626                         clocks = <&cpg_clocks R8A73A4_CLK_PLL0>;
627                         #clock-cells = <0>;
628                         clock-div = <2>;
629                         clock-mult = <1>;
630                 };
631                 pll1_div2_clk: pll1_div2 {
632                         compatible = "fixed-factor-clock";
633                         clocks = <&cpg_clocks R8A73A4_CLK_PLL1>;
634                         #clock-cells = <0>;
635                         clock-div = <2>;
636                         clock-mult = <1>;
637                 };
638                 extal1_div2_clk: extal1_div2 {
639                         compatible = "fixed-factor-clock";
640                         clocks = <&extal1_clk>;
641                         #clock-cells = <0>;
642                         clock-div = <2>;
643                         clock-mult = <1>;
644                 };
645
646                 /* Gate clocks */
647                 mstp2_clks: mstp2_clks@e6150138 {
648                         compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
649                         reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
650                         clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
651                                  <&mp_clk>, <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
652                         #clock-cells = <1>;
653                         clock-indices = <
654                                 R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
655                                 R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
656                                 R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
657                                 R8A73A4_CLK_DMAC
658                         >;
659                         clock-output-names =
660                                 "scifa0", "scifa1", "scifb0", "scifb1",
661                                 "scifb2", "scifb3", "dmac";
662                 };
663                 mstp3_clks: mstp3_clks@e615013c {
664                         compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
665                         reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
666                         clocks = <&cpg_clocks R8A73A4_CLK_HP>, <&mmc1_clk>,
667                                  <&sdhi2_clk>, <&sdhi1_clk>, <&sdhi0_clk>,
668                                  <&mmc0_clk>, <&cpg_clocks R8A73A4_CLK_HP>,
669                                  <&cpg_clocks R8A73A4_CLK_HP>, <&cpg_clocks
670                                  R8A73A4_CLK_HP>, <&cpg_clocks
671                                  R8A73A4_CLK_HP>, <&extalr_clk>;
672                         #clock-cells = <1>;
673                         clock-indices = <
674                                 R8A73A4_CLK_IIC2 R8A73A4_CLK_MMCIF1
675                                 R8A73A4_CLK_SDHI2 R8A73A4_CLK_SDHI1
676                                 R8A73A4_CLK_SDHI0 R8A73A4_CLK_MMCIF0
677                                 R8A73A4_CLK_IIC6 R8A73A4_CLK_IIC7
678                                 R8A73A4_CLK_IIC0 R8A73A4_CLK_IIC1
679                                 R8A73A4_CLK_CMT1
680                         >;
681                         clock-output-names =
682                                 "iic2", "mmcif1", "sdhi2", "sdhi1", "sdhi0",
683                                 "mmcif0", "iic6", "iic7", "iic0", "iic1",
684                                 "cmt1";
685                 };
686                 mstp4_clks: mstp4_clks@e6150140 {
687                         compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
688                         reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
689                         clocks = <&main_div2_clk>, <&cpg_clocks R8A73A4_CLK_ZS>,
690                                  <&main_div2_clk>,
691                                  <&cpg_clocks R8A73A4_CLK_HP>,
692                                  <&cpg_clocks R8A73A4_CLK_HP>;
693                         #clock-cells = <1>;
694                         clock-indices = <
695                                 R8A73A4_CLK_IRQC R8A73A4_CLK_INTC_SYS
696                                 R8A73A4_CLK_IIC5 R8A73A4_CLK_IIC4
697                                 R8A73A4_CLK_IIC3
698                         >;
699                         clock-output-names =
700                                 "irqc", "intc-sys", "iic5", "iic4", "iic3";
701                 };
702                 mstp5_clks: mstp5_clks@e6150144 {
703                         compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
704                         reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
705                         clocks = <&extal2_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
706                         #clock-cells = <1>;
707                         clock-indices = <
708                                 R8A73A4_CLK_THERMAL R8A73A4_CLK_IIC8
709                         >;
710                         clock-output-names =
711                                 "thermal", "iic8";
712                 };
713         };
714
715         prr: chipid@ff000044 {
716                 compatible = "renesas,prr";
717                 reg = <0 0xff000044 0 4>;
718         };
719
720         sysc: system-controller@e6180000 {
721                 compatible = "renesas,sysc-r8a73a4", "renesas,sysc-rmobile";
722                 reg = <0 0xe6180000 0 0x8000>, <0 0xe6188000 0 0x8000>;
723
724                 pm-domains {
725                         pd_c5: c5 {
726                                 #address-cells = <1>;
727                                 #size-cells = <0>;
728                                 #power-domain-cells = <0>;
729
730                                 pd_c4: c4@0 {
731                                         reg = <0>;
732                                         #address-cells = <1>;
733                                         #size-cells = <0>;
734                                         #power-domain-cells = <0>;
735
736                                         pd_a3sg: a3sg@16 {
737                                                 reg = <16>;
738                                                 #power-domain-cells = <0>;
739                                         };
740
741                                         pd_a3ex: a3ex@17 {
742                                                 reg = <17>;
743                                                 #power-domain-cells = <0>;
744                                         };
745
746                                         pd_a3sp: a3sp@18 {
747                                                 reg = <18>;
748                                                 #address-cells = <1>;
749                                                 #size-cells = <0>;
750                                                 #power-domain-cells = <0>;
751
752                                                 pd_a2us: a2us@19 {
753                                                         reg = <19>;
754                                                         #power-domain-cells = <0>;
755                                                 };
756                                         };
757
758                                         pd_a3sm: a3sm@20 {
759                                                 reg = <20>;
760                                                 #address-cells = <1>;
761                                                 #size-cells = <0>;
762                                                 #power-domain-cells = <0>;
763
764                                                 pd_a2sl: a2sl@21 {
765                                                         reg = <21>;
766                                                         #power-domain-cells = <0>;
767                                                 };
768                                         };
769
770                                         pd_a3km: a3km@22 {
771                                                 reg = <22>;
772                                                 #address-cells = <1>;
773                                                 #size-cells = <0>;
774                                                 #power-domain-cells = <0>;
775
776                                                 pd_a2kl: a2kl@23 {
777                                                         reg = <23>;
778                                                         #power-domain-cells = <0>;
779                                                 };
780                                         };
781                                 };
782
783                                 pd_c4ma: c4ma@1 {
784                                         reg = <1>;
785                                         #power-domain-cells = <0>;
786                                 };
787
788                                 pd_c4cl: c4cl@2 {
789                                         reg = <2>;
790                                         #power-domain-cells = <0>;
791                                 };
792
793                                 pd_d4: d4@3 {
794                                         reg = <3>;
795                                         #power-domain-cells = <0>;
796                                 };
797
798                                 pd_a4bc: a4bc@4 {
799                                         reg = <4>;
800                                         #address-cells = <1>;
801                                         #size-cells = <0>;
802                                         #power-domain-cells = <0>;
803
804                                         pd_a3bc: a3bc@5 {
805                                                 reg = <5>;
806                                                 #power-domain-cells = <0>;
807                                         };
808                                 };
809
810                                 pd_a4l: a4l@6 {
811                                         reg = <6>;
812                                         #power-domain-cells = <0>;
813                                 };
814
815                                 pd_a4lc: a4lc@7 {
816                                         reg = <7>;
817                                         #power-domain-cells = <0>;
818                                 };
819
820                                 pd_a4mp: a4mp@8 {
821                                         reg = <8>;
822                                         #address-cells = <1>;
823                                         #size-cells = <0>;
824                                         #power-domain-cells = <0>;
825
826                                         pd_a3mp: a3mp@9 {
827                                                 reg = <9>;
828                                                 #power-domain-cells = <0>;
829                                         };
830
831                                         pd_a3vc: a3vc@10 {
832                                                 reg = <10>;
833                                                 #power-domain-cells = <0>;
834                                         };
835                                 };
836
837                                 pd_a4sf: a4sf@11 {
838                                         reg = <11>;
839                                         #power-domain-cells = <0>;
840                                 };
841
842                                 pd_a3r: a3r@12 {
843                                         reg = <12>;
844                                         #address-cells = <1>;
845                                         #size-cells = <0>;
846                                         #power-domain-cells = <0>;
847
848                                         pd_a2rv: a2rv@13 {
849                                                 reg = <13>;
850                                                 #power-domain-cells = <0>;
851                                         };
852
853                                         pd_a2is: a2is@14 {
854                                                 reg = <14>;
855                                                 #power-domain-cells = <0>;
856                                         };
857                                 };
858                         };
859                 };
860         };
861 };