Merge branch 'for-3.12/core' of git://git.kernel.dk/linux-block
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / imx27.dtsi
1 /*
2  * Copyright 2012 Sascha Hauer, Pengutronix
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 #include "skeleton.dtsi"
13
14 / {
15         aliases {
16                 gpio0 = &gpio1;
17                 gpio1 = &gpio2;
18                 gpio2 = &gpio3;
19                 gpio3 = &gpio4;
20                 gpio4 = &gpio5;
21                 gpio5 = &gpio6;
22                 i2c0 = &i2c1;
23                 i2c1 = &i2c2;
24                 serial0 = &uart1;
25                 serial1 = &uart2;
26                 serial2 = &uart3;
27                 serial3 = &uart4;
28                 serial4 = &uart5;
29                 serial5 = &uart6;
30                 spi0 = &cspi1;
31                 spi1 = &cspi2;
32                 spi2 = &cspi3;
33         };
34
35         aitc: aitc-interrupt-controller@e0000000 {
36                 compatible = "fsl,imx27-aitc", "fsl,avic";
37                 interrupt-controller;
38                 #interrupt-cells = <1>;
39                 reg = <0x10040000 0x1000>;
40         };
41
42         clocks {
43                 #address-cells = <1>;
44                 #size-cells = <0>;
45
46                 osc26m {
47                         compatible = "fsl,imx-osc26m", "fixed-clock";
48                         clock-frequency = <26000000>;
49                 };
50         };
51
52         cpus {
53                 #size-cells = <0>;
54                 #address-cells = <1>;
55
56                 cpu: cpu@0 {
57                         device_type = "cpu";
58                         compatible = "arm,arm926ej-s";
59                         operating-points = <
60                                 /* kHz uV */
61                                 266000 1300000
62                                 399000 1450000
63                         >;
64                         clock-latency = <62500>;
65                         clocks = <&clks 18>;
66                         voltage-tolerance = <5>;
67                 };
68         };
69
70         soc {
71                 #address-cells = <1>;
72                 #size-cells = <1>;
73                 compatible = "simple-bus";
74                 interrupt-parent = <&aitc>;
75                 ranges;
76
77                 aipi@10000000 { /* AIPI1 */
78                         compatible = "fsl,aipi-bus", "simple-bus";
79                         #address-cells = <1>;
80                         #size-cells = <1>;
81                         reg = <0x10000000 0x20000>;
82                         ranges;
83
84                         dma: dma@10001000 {
85                                 compatible = "fsl,imx27-dma";
86                                 reg = <0x10001000 0x1000>;
87                                 interrupts = <32>;
88                                 clocks = <&clks 50>, <&clks 70>;
89                                 clock-names = "ipg", "ahb";
90                                 #dma-cells = <1>;
91                                 #dma-channels = <16>;
92                         };
93
94                         wdog: wdog@10002000 {
95                                 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
96                                 reg = <0x10002000 0x1000>;
97                                 interrupts = <27>;
98                                 clocks = <&clks 74>;
99                         };
100
101                         gpt1: timer@10003000 {
102                                 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
103                                 reg = <0x10003000 0x1000>;
104                                 interrupts = <26>;
105                                 clocks = <&clks 46>, <&clks 61>;
106                                 clock-names = "ipg", "per";
107                         };
108
109                         gpt2: timer@10004000 {
110                                 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
111                                 reg = <0x10004000 0x1000>;
112                                 interrupts = <25>;
113                                 clocks = <&clks 45>, <&clks 61>;
114                                 clock-names = "ipg", "per";
115                         };
116
117                         gpt3: timer@10005000 {
118                                 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
119                                 reg = <0x10005000 0x1000>;
120                                 interrupts = <24>;
121                                 clocks = <&clks 44>, <&clks 61>;
122                                 clock-names = "ipg", "per";
123                         };
124
125                         pwm: pwm@10006000 {
126                                 compatible = "fsl,imx27-pwm";
127                                 reg = <0x10006000 0x1000>;
128                                 interrupts = <23>;
129                                 clocks = <&clks 34>, <&clks 61>;
130                                 clock-names = "ipg", "per";
131                         };
132
133                         kpp: kpp@10008000 {
134                                 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
135                                 reg = <0x10008000 0x1000>;
136                                 interrupts = <21>;
137                                 clocks = <&clks 37>;
138                                 status = "disabled";
139                         };
140
141                         owire: owire@10009000 {
142                                 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
143                                 reg = <0x10009000 0x1000>;
144                                 clocks = <&clks 35>;
145                                 status = "disabled";
146                         };
147
148                         uart1: serial@1000a000 {
149                                 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
150                                 reg = <0x1000a000 0x1000>;
151                                 interrupts = <20>;
152                                 clocks = <&clks 81>, <&clks 61>;
153                                 clock-names = "ipg", "per";
154                                 status = "disabled";
155                         };
156
157                         uart2: serial@1000b000 {
158                                 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
159                                 reg = <0x1000b000 0x1000>;
160                                 interrupts = <19>;
161                                 clocks = <&clks 80>, <&clks 61>;
162                                 clock-names = "ipg", "per";
163                                 status = "disabled";
164                         };
165
166                         uart3: serial@1000c000 {
167                                 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
168                                 reg = <0x1000c000 0x1000>;
169                                 interrupts = <18>;
170                                 clocks = <&clks 79>, <&clks 61>;
171                                 clock-names = "ipg", "per";
172                                 status = "disabled";
173                         };
174
175                         uart4: serial@1000d000 {
176                                 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
177                                 reg = <0x1000d000 0x1000>;
178                                 interrupts = <17>;
179                                 clocks = <&clks 78>, <&clks 61>;
180                                 clock-names = "ipg", "per";
181                                 status = "disabled";
182                         };
183
184                         cspi1: cspi@1000e000 {
185                                 #address-cells = <1>;
186                                 #size-cells = <0>;
187                                 compatible = "fsl,imx27-cspi";
188                                 reg = <0x1000e000 0x1000>;
189                                 interrupts = <16>;
190                                 clocks = <&clks 53>, <&clks 60>;
191                                 clock-names = "ipg", "per";
192                                 status = "disabled";
193                         };
194
195                         cspi2: cspi@1000f000 {
196                                 #address-cells = <1>;
197                                 #size-cells = <0>;
198                                 compatible = "fsl,imx27-cspi";
199                                 reg = <0x1000f000 0x1000>;
200                                 interrupts = <15>;
201                                 clocks = <&clks 52>, <&clks 60>;
202                                 clock-names = "ipg", "per";
203                                 status = "disabled";
204                         };
205
206                         i2c1: i2c@10012000 {
207                                 #address-cells = <1>;
208                                 #size-cells = <0>;
209                                 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
210                                 reg = <0x10012000 0x1000>;
211                                 interrupts = <12>;
212                                 clocks = <&clks 40>;
213                                 status = "disabled";
214                         };
215
216                         sdhci1: sdhci@10013000 {
217                                 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
218                                 reg = <0x10013000 0x1000>;
219                                 interrupts = <11>;
220                                 clocks = <&clks 30>, <&clks 60>;
221                                 clock-names = "ipg", "per";
222                                 dmas = <&dma 7>;
223                                 dma-names = "rx-tx";
224                                 status = "disabled";
225                         };
226
227                         sdhci2: sdhci@10014000 {
228                                 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
229                                 reg = <0x10014000 0x1000>;
230                                 interrupts = <10>;
231                                 clocks = <&clks 29>, <&clks 60>;
232                                 clock-names = "ipg", "per";
233                                 dmas = <&dma 6>;
234                                 dma-names = "rx-tx";
235                                 status = "disabled";
236                         };
237
238                         gpio1: gpio@10015000 {
239                                 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
240                                 reg = <0x10015000 0x100>;
241                                 interrupts = <8>;
242                                 gpio-controller;
243                                 #gpio-cells = <2>;
244                                 interrupt-controller;
245                                 #interrupt-cells = <2>;
246                         };
247
248                         gpio2: gpio@10015100 {
249                                 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
250                                 reg = <0x10015100 0x100>;
251                                 interrupts = <8>;
252                                 gpio-controller;
253                                 #gpio-cells = <2>;
254                                 interrupt-controller;
255                                 #interrupt-cells = <2>;
256                         };
257
258                         gpio3: gpio@10015200 {
259                                 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
260                                 reg = <0x10015200 0x100>;
261                                 interrupts = <8>;
262                                 gpio-controller;
263                                 #gpio-cells = <2>;
264                                 interrupt-controller;
265                                 #interrupt-cells = <2>;
266                         };
267
268                         gpio4: gpio@10015300 {
269                                 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
270                                 reg = <0x10015300 0x100>;
271                                 interrupts = <8>;
272                                 gpio-controller;
273                                 #gpio-cells = <2>;
274                                 interrupt-controller;
275                                 #interrupt-cells = <2>;
276                         };
277
278                         gpio5: gpio@10015400 {
279                                 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
280                                 reg = <0x10015400 0x100>;
281                                 interrupts = <8>;
282                                 gpio-controller;
283                                 #gpio-cells = <2>;
284                                 interrupt-controller;
285                                 #interrupt-cells = <2>;
286                         };
287
288                         gpio6: gpio@10015500 {
289                                 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
290                                 reg = <0x10015500 0x100>;
291                                 interrupts = <8>;
292                                 gpio-controller;
293                                 #gpio-cells = <2>;
294                                 interrupt-controller;
295                                 #interrupt-cells = <2>;
296                         };
297
298                         audmux: audmux@10016000 {
299                                 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
300                                 reg = <0x10016000 0x1000>;
301                                 clocks = <&clks 0>;
302                                 clock-names = "audmux";
303                                 status = "disabled";
304                         };
305
306                         cspi3: cspi@10017000 {
307                                 #address-cells = <1>;
308                                 #size-cells = <0>;
309                                 compatible = "fsl,imx27-cspi";
310                                 reg = <0x10017000 0x1000>;
311                                 interrupts = <6>;
312                                 clocks = <&clks 51>, <&clks 60>;
313                                 clock-names = "ipg", "per";
314                                 status = "disabled";
315                         };
316
317                         gpt4: timer@10019000 {
318                                 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
319                                 reg = <0x10019000 0x1000>;
320                                 interrupts = <4>;
321                                 clocks = <&clks 43>, <&clks 61>;
322                                 clock-names = "ipg", "per";
323                         };
324
325                         gpt5: timer@1001a000 {
326                                 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
327                                 reg = <0x1001a000 0x1000>;
328                                 interrupts = <3>;
329                                 clocks = <&clks 42>, <&clks 61>;
330                                 clock-names = "ipg", "per";
331                         };
332
333                         uart5: serial@1001b000 {
334                                 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
335                                 reg = <0x1001b000 0x1000>;
336                                 interrupts = <49>;
337                                 clocks = <&clks 77>, <&clks 61>;
338                                 clock-names = "ipg", "per";
339                                 status = "disabled";
340                         };
341
342                         uart6: serial@1001c000 {
343                                 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
344                                 reg = <0x1001c000 0x1000>;
345                                 interrupts = <48>;
346                                 clocks = <&clks 78>, <&clks 61>;
347                                 clock-names = "ipg", "per";
348                                 status = "disabled";
349                         };
350
351                         i2c2: i2c@1001d000 {
352                                 #address-cells = <1>;
353                                 #size-cells = <0>;
354                                 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
355                                 reg = <0x1001d000 0x1000>;
356                                 interrupts = <1>;
357                                 clocks = <&clks 39>;
358                                 status = "disabled";
359                         };
360
361                         sdhci3: sdhci@1001e000 {
362                                 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
363                                 reg = <0x1001e000 0x1000>;
364                                 interrupts = <9>;
365                                 clocks = <&clks 28>, <&clks 60>;
366                                 clock-names = "ipg", "per";
367                                 dmas = <&dma 36>;
368                                 dma-names = "rx-tx";
369                                 status = "disabled";
370                         };
371
372                         gpt6: timer@1001f000 {
373                                 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
374                                 reg = <0x1001f000 0x1000>;
375                                 interrupts = <2>;
376                                 clocks = <&clks 41>, <&clks 61>;
377                                 clock-names = "ipg", "per";
378                         };
379                 };
380
381                 aipi@10020000 { /* AIPI2 */
382                         compatible = "fsl,aipi-bus", "simple-bus";
383                         #address-cells = <1>;
384                         #size-cells = <1>;
385                         reg = <0x10020000 0x20000>;
386                         ranges;
387
388                         fb: fb@10021000 {
389                                 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
390                                 interrupts = <61>;
391                                 reg = <0x10021000 0x1000>;
392                                 clocks = <&clks 36>, <&clks 65>, <&clks 59>;
393                                 clock-names = "ipg", "ahb", "per";
394                                 status = "disabled";
395                         };
396
397                         coda: coda@10023000 {
398                                 compatible = "fsl,imx27-vpu";
399                                 reg = <0x10023000 0x0200>;
400                                 interrupts = <53>;
401                                 clocks = <&clks 57>, <&clks 66>;
402                                 clock-names = "per", "ahb";
403                                 iram = <&iram>;
404                         };
405
406                         sahara2: sahara@10025000 {
407                                 compatible = "fsl,imx27-sahara";
408                                 reg = <0x10025000 0x1000>;
409                                 interrupts = <59>;
410                                 clocks = <&clks 32>, <&clks 64>;
411                                 clock-names = "ipg", "ahb";
412                         };
413
414                         clks: ccm@10027000{
415                                 compatible = "fsl,imx27-ccm";
416                                 reg = <0x10027000 0x1000>;
417                                 #clock-cells = <1>;
418                         };
419
420                         iim: iim@10028000 {
421                                 compatible = "fsl,imx27-iim";
422                                 reg = <0x10028000 0x1000>;
423                                 interrupts = <62>;
424                                 clocks = <&clks 38>;
425                         };
426
427                         fec: ethernet@1002b000 {
428                                 compatible = "fsl,imx27-fec";
429                                 reg = <0x1002b000 0x4000>;
430                                 interrupts = <50>;
431                                 clocks = <&clks 48>, <&clks 67>;
432                                 clock-names = "ipg", "ahb";
433                                 status = "disabled";
434                         };
435                 };
436
437                 nfc: nand@d8000000 {
438                         #address-cells = <1>;
439                         #size-cells = <1>;
440                         compatible = "fsl,imx27-nand";
441                         reg = <0xd8000000 0x1000>;
442                         interrupts = <29>;
443                         clocks = <&clks 54>;
444                         status = "disabled";
445                 };
446
447                 weim: weim@d8002000 {
448                         #address-cells = <2>;
449                         #size-cells = <1>;
450                         compatible = "fsl,imx27-weim";
451                         reg = <0xd8002000 0x1000>;
452                         clocks = <&clks 0>;
453                         ranges = <
454                                 0 0 0xc0000000 0x08000000
455                                 1 0 0xc8000000 0x08000000
456                                 2 0 0xd0000000 0x02000000
457                                 3 0 0xd2000000 0x02000000
458                                 4 0 0xd4000000 0x02000000
459                                 5 0 0xd6000000 0x02000000
460                         >;
461                         status = "disabled";
462                 };
463
464                 iram: iram@ffff4c00 {
465                         compatible = "mmio-sram";
466                         reg = <0xffff4c00 0xb400>;
467                 };
468         };
469 };