Merge tag 'hwspinlock-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / r8a73a4.dtsi
1 /*
2  * Device Tree Source for the r8a73a4 SoC
3  *
4  * Copyright (C) 2013 Renesas Solutions Corp.
5  * Copyright (C) 2013 Magnus Damm
6  *
7  * This file is licensed under the terms of the GNU General Public License
8  * version 2.  This program is licensed "as is" without any warranty of any
9  * kind, whether express or implied.
10  */
11
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14
15 / {
16         compatible = "renesas,r8a73a4";
17         interrupt-parent = <&gic>;
18         #address-cells = <2>;
19         #size-cells = <2>;
20
21         cpus {
22                 #address-cells = <1>;
23                 #size-cells = <0>;
24
25                 cpu0: cpu@0 {
26                         device_type = "cpu";
27                         compatible = "arm,cortex-a15";
28                         reg = <0>;
29                         clock-frequency = <1500000000>;
30                 };
31         };
32
33         gic: interrupt-controller@f1001000 {
34                 compatible = "arm,cortex-a15-gic";
35                 #interrupt-cells = <3>;
36                 #address-cells = <0>;
37                 interrupt-controller;
38                 reg = <0 0xf1001000 0 0x1000>,
39                         <0 0xf1002000 0 0x1000>,
40                         <0 0xf1004000 0 0x2000>,
41                         <0 0xf1006000 0 0x2000>;
42                 interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
43         };
44
45         timer {
46                 compatible = "arm,armv7-timer";
47                 interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
48                              <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
49                              <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
50                              <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
51         };
52
53         irqc0: interrupt-controller@e61c0000 {
54                 compatible = "renesas,irqc";
55                 #interrupt-cells = <2>;
56                 interrupt-controller;
57                 reg = <0 0xe61c0000 0 0x200>;
58                 interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
59                              <0 1 IRQ_TYPE_LEVEL_HIGH>,
60                              <0 2 IRQ_TYPE_LEVEL_HIGH>,
61                              <0 3 IRQ_TYPE_LEVEL_HIGH>,
62                              <0 4 IRQ_TYPE_LEVEL_HIGH>,
63                              <0 5 IRQ_TYPE_LEVEL_HIGH>,
64                              <0 6 IRQ_TYPE_LEVEL_HIGH>,
65                              <0 7 IRQ_TYPE_LEVEL_HIGH>,
66                              <0 8 IRQ_TYPE_LEVEL_HIGH>,
67                              <0 9 IRQ_TYPE_LEVEL_HIGH>,
68                              <0 10 IRQ_TYPE_LEVEL_HIGH>,
69                              <0 11 IRQ_TYPE_LEVEL_HIGH>,
70                              <0 12 IRQ_TYPE_LEVEL_HIGH>,
71                              <0 13 IRQ_TYPE_LEVEL_HIGH>,
72                              <0 14 IRQ_TYPE_LEVEL_HIGH>,
73                              <0 15 IRQ_TYPE_LEVEL_HIGH>,
74                              <0 16 IRQ_TYPE_LEVEL_HIGH>,
75                              <0 17 IRQ_TYPE_LEVEL_HIGH>,
76                              <0 18 IRQ_TYPE_LEVEL_HIGH>,
77                              <0 19 IRQ_TYPE_LEVEL_HIGH>,
78                              <0 20 IRQ_TYPE_LEVEL_HIGH>,
79                              <0 21 IRQ_TYPE_LEVEL_HIGH>,
80                              <0 22 IRQ_TYPE_LEVEL_HIGH>,
81                              <0 23 IRQ_TYPE_LEVEL_HIGH>,
82                              <0 24 IRQ_TYPE_LEVEL_HIGH>,
83                              <0 25 IRQ_TYPE_LEVEL_HIGH>,
84                              <0 26 IRQ_TYPE_LEVEL_HIGH>,
85                              <0 27 IRQ_TYPE_LEVEL_HIGH>,
86                              <0 28 IRQ_TYPE_LEVEL_HIGH>,
87                              <0 29 IRQ_TYPE_LEVEL_HIGH>,
88                              <0 30 IRQ_TYPE_LEVEL_HIGH>,
89                              <0 31 IRQ_TYPE_LEVEL_HIGH>;
90         };
91
92         irqc1: interrupt-controller@e61c0200 {
93                 compatible = "renesas,irqc";
94                 #interrupt-cells = <2>;
95                 interrupt-controller;
96                 reg = <0 0xe61c0200 0 0x200>;
97                 interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>,
98                              <0 33 IRQ_TYPE_LEVEL_HIGH>,
99                              <0 34 IRQ_TYPE_LEVEL_HIGH>,
100                              <0 35 IRQ_TYPE_LEVEL_HIGH>,
101                              <0 36 IRQ_TYPE_LEVEL_HIGH>,
102                              <0 37 IRQ_TYPE_LEVEL_HIGH>,
103                              <0 38 IRQ_TYPE_LEVEL_HIGH>,
104                              <0 39 IRQ_TYPE_LEVEL_HIGH>,
105                              <0 40 IRQ_TYPE_LEVEL_HIGH>,
106                              <0 41 IRQ_TYPE_LEVEL_HIGH>,
107                              <0 42 IRQ_TYPE_LEVEL_HIGH>,
108                              <0 43 IRQ_TYPE_LEVEL_HIGH>,
109                              <0 44 IRQ_TYPE_LEVEL_HIGH>,
110                              <0 45 IRQ_TYPE_LEVEL_HIGH>,
111                              <0 46 IRQ_TYPE_LEVEL_HIGH>,
112                              <0 47 IRQ_TYPE_LEVEL_HIGH>,
113                              <0 48 IRQ_TYPE_LEVEL_HIGH>,
114                              <0 49 IRQ_TYPE_LEVEL_HIGH>,
115                              <0 50 IRQ_TYPE_LEVEL_HIGH>,
116                              <0 51 IRQ_TYPE_LEVEL_HIGH>,
117                              <0 52 IRQ_TYPE_LEVEL_HIGH>,
118                              <0 53 IRQ_TYPE_LEVEL_HIGH>,
119                              <0 54 IRQ_TYPE_LEVEL_HIGH>,
120                              <0 55 IRQ_TYPE_LEVEL_HIGH>,
121                              <0 56 IRQ_TYPE_LEVEL_HIGH>,
122                              <0 57 IRQ_TYPE_LEVEL_HIGH>;
123         };
124
125         dmac: dma-multiplexer@0 {
126                 compatible = "renesas,shdma-mux";
127                 #dma-cells = <1>;
128                 dma-channels = <20>;
129                 dma-requests = <256>;
130                 #address-cells = <2>;
131                 #size-cells = <2>;
132                 ranges;
133
134                 dma0: dma-controller@e6700020 {
135                         compatible = "renesas,shdma-r8a73a4";
136                         reg = <0 0xe6700020 0 0x89e0>;
137                         interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
138                                         0 200 IRQ_TYPE_LEVEL_HIGH
139                                         0 201 IRQ_TYPE_LEVEL_HIGH
140                                         0 202 IRQ_TYPE_LEVEL_HIGH
141                                         0 203 IRQ_TYPE_LEVEL_HIGH
142                                         0 204 IRQ_TYPE_LEVEL_HIGH
143                                         0 205 IRQ_TYPE_LEVEL_HIGH
144                                         0 206 IRQ_TYPE_LEVEL_HIGH
145                                         0 207 IRQ_TYPE_LEVEL_HIGH
146                                         0 208 IRQ_TYPE_LEVEL_HIGH
147                                         0 209 IRQ_TYPE_LEVEL_HIGH
148                                         0 210 IRQ_TYPE_LEVEL_HIGH
149                                         0 211 IRQ_TYPE_LEVEL_HIGH
150                                         0 212 IRQ_TYPE_LEVEL_HIGH
151                                         0 213 IRQ_TYPE_LEVEL_HIGH
152                                         0 214 IRQ_TYPE_LEVEL_HIGH
153                                         0 215 IRQ_TYPE_LEVEL_HIGH
154                                         0 216 IRQ_TYPE_LEVEL_HIGH
155                                         0 217 IRQ_TYPE_LEVEL_HIGH
156                                         0 218 IRQ_TYPE_LEVEL_HIGH
157                                         0 219 IRQ_TYPE_LEVEL_HIGH>;
158                         interrupt-names = "error",
159                                         "ch0", "ch1", "ch2", "ch3",
160                                         "ch4", "ch5", "ch6", "ch7",
161                                         "ch8", "ch9", "ch10", "ch11",
162                                         "ch12", "ch13", "ch14", "ch15",
163                                         "ch16", "ch17", "ch18", "ch19";
164                 };
165         };
166
167         thermal@e61f0000 {
168                 compatible = "renesas,rcar-thermal";
169                 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>,
170                          <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>;
171                 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
172         };
173
174         i2c0: i2c@e6500000 {
175                 #address-cells = <1>;
176                 #size-cells = <0>;
177                 compatible = "renesas,rmobile-iic";
178                 reg = <0 0xe6500000 0 0x428>;
179                 interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>;
180                 status = "disabled";
181         };
182
183         i2c1: i2c@e6510000 {
184                 #address-cells = <1>;
185                 #size-cells = <0>;
186                 compatible = "renesas,rmobile-iic";
187                 reg = <0 0xe6510000 0 0x428>;
188                 interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>;
189                 status = "disabled";
190         };
191
192         i2c2: i2c@e6520000 {
193                 #address-cells = <1>;
194                 #size-cells = <0>;
195                 compatible = "renesas,rmobile-iic";
196                 reg = <0 0xe6520000 0 0x428>;
197                 interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>;
198                 status = "disabled";
199         };
200
201         i2c3: i2c@e6530000 {
202                 #address-cells = <1>;
203                 #size-cells = <0>;
204                 compatible = "renesas,rmobile-iic";
205                 reg = <0 0xe6530000 0 0x428>;
206                 interrupts = <0 177 IRQ_TYPE_LEVEL_HIGH>;
207                 status = "disabled";
208         };
209
210         i2c4: i2c@e6540000 {
211                 #address-cells = <1>;
212                 #size-cells = <0>;
213                 compatible = "renesas,rmobile-iic";
214                 reg = <0 0xe6540000 0 0x428>;
215                 interrupts = <0 178 IRQ_TYPE_LEVEL_HIGH>;
216                 status = "disabled";
217         };
218
219         i2c5: i2c@e60b0000 {
220                 #address-cells = <1>;
221                 #size-cells = <0>;
222                 compatible = "renesas,rmobile-iic";
223                 reg = <0 0xe60b0000 0 0x428>;
224                 interrupts = <0 179 IRQ_TYPE_LEVEL_HIGH>;
225                 status = "disabled";
226         };
227
228         i2c6: i2c@e6550000 {
229                 #address-cells = <1>;
230                 #size-cells = <0>;
231                 compatible = "renesas,rmobile-iic";
232                 reg = <0 0xe6550000 0 0x428>;
233                 interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
234                 status = "disabled";
235         };
236
237         i2c7: i2c@e6560000 {
238                 #address-cells = <1>;
239                 #size-cells = <0>;
240                 compatible = "renesas,rmobile-iic";
241                 reg = <0 0xe6560000 0 0x428>;
242                 interrupts = <0 185 IRQ_TYPE_LEVEL_HIGH>;
243                 status = "disabled";
244         };
245
246         i2c8: i2c@e6570000 {
247                 #address-cells = <1>;
248                 #size-cells = <0>;
249                 compatible = "renesas,rmobile-iic";
250                 reg = <0 0xe6570000 0 0x428>;
251                 interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>;
252                 status = "disabled";
253         };
254
255         scifa0: serial@e6c40000 {
256                 compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
257                 reg = <0 0xe6c40000 0 0x100>;
258                 interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
259                 status = "disabled";
260         };
261
262         scifa1: serial@e6c50000 {
263                 compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
264                 reg = <0 0xe6c50000 0 0x100>;
265                 interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>;
266                 status = "disabled";
267         };
268
269         scifb2: serial@e6c20000 {
270                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
271                 reg = <0 0xe6c20000 0 0x100>;
272                 interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
273                 status = "disabled";
274         };
275
276         scifb3: serial@e6c30000 {
277                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
278                 reg = <0 0xe6c30000 0 0x100>;
279                 interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
280                 status = "disabled";
281         };
282
283         scifb4: serial@e6ce0000 {
284                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
285                 reg = <0 0xe6ce0000 0 0x100>;
286                 interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>;
287                 status = "disabled";
288         };
289
290         scifb5: serial@e6cf0000 {
291                 compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
292                 reg = <0 0xe6cf0000 0 0x100>;
293                 interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>;
294                 status = "disabled";
295         };
296
297         mmcif0: mmc@ee200000 {
298                 compatible = "renesas,sh-mmcif";
299                 reg = <0 0xee200000 0 0x80>;
300                 interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
301                 reg-io-width = <4>;
302                 status = "disabled";
303         };
304
305         mmcif1: mmc@ee220000 {
306                 compatible = "renesas,sh-mmcif";
307                 reg = <0 0xee220000 0 0x80>;
308                 interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
309                 reg-io-width = <4>;
310                 status = "disabled";
311         };
312
313         pfc: pfc@e6050000 {
314                 compatible = "renesas,pfc-r8a73a4";
315                 reg = <0 0xe6050000 0 0x9000>;
316                 gpio-controller;
317                 #gpio-cells = <2>;
318                 interrupts-extended =
319                         <&irqc0  0 0>, <&irqc0  1 0>, <&irqc0  2 0>, <&irqc0  3 0>,
320                         <&irqc0  4 0>, <&irqc0  5 0>, <&irqc0  6 0>, <&irqc0  7 0>,
321                         <&irqc0  8 0>, <&irqc0  9 0>, <&irqc0 10 0>, <&irqc0 11 0>,
322                         <&irqc0 12 0>, <&irqc0 13 0>, <&irqc0 14 0>, <&irqc0 15 0>,
323                         <&irqc0 16 0>, <&irqc0 17 0>, <&irqc0 18 0>, <&irqc0 19 0>,
324                         <&irqc0 20 0>, <&irqc0 21 0>, <&irqc0 22 0>, <&irqc0 23 0>,
325                         <&irqc0 24 0>, <&irqc0 25 0>, <&irqc0 26 0>, <&irqc0 27 0>,
326                         <&irqc0 28 0>, <&irqc0 29 0>, <&irqc0 30 0>, <&irqc0 31 0>,
327                         <&irqc1  0 0>, <&irqc1  1 0>, <&irqc1  2 0>, <&irqc1  3 0>,
328                         <&irqc1  4 0>, <&irqc1  5 0>, <&irqc1  6 0>, <&irqc1  7 0>,
329                         <&irqc1  8 0>, <&irqc1  9 0>, <&irqc1 10 0>, <&irqc1 11 0>,
330                         <&irqc1 12 0>, <&irqc1 13 0>, <&irqc1 14 0>, <&irqc1 15 0>,
331                         <&irqc1 16 0>, <&irqc1 17 0>, <&irqc1 18 0>, <&irqc1 19 0>,
332                         <&irqc1 20 0>, <&irqc1 21 0>, <&irqc1 22 0>, <&irqc1 23 0>,
333                         <&irqc1 24 0>, <&irqc1 25 0>;
334         };
335
336         sdhi0: sd@ee100000 {
337                 compatible = "renesas,sdhi-r8a73a4";
338                 reg = <0 0xee100000 0 0x100>;
339                 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
340                 cap-sd-highspeed;
341                 status = "disabled";
342         };
343
344         sdhi1: sd@ee120000 {
345                 compatible = "renesas,sdhi-r8a73a4";
346                 reg = <0 0xee120000 0 0x100>;
347                 interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
348                 cap-sd-highspeed;
349                 status = "disabled";
350         };
351
352         sdhi2: sd@ee140000 {
353                 compatible = "renesas,sdhi-r8a73a4";
354                 reg = <0 0xee140000 0 0x100>;
355                 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
356                 cap-sd-highspeed;
357                 status = "disabled";
358         };
359 };