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