blob: 516473c72978e18938aefb9cc43ba163e30708f5 [file] [log] [blame]
Sascha Hauer9f0749e2012-02-28 21:57:50 +01001/*
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
Shawn Guo36dffd82013-04-07 10:49:34 +080012#include "skeleton.dtsi"
Sascha Hauer9f0749e2012-02-28 21:57:50 +010013
14/ {
15 aliases {
Shawn Guo5230f8f2012-08-05 14:01:28 +080016 gpio0 = &gpio1;
17 gpio1 = &gpio2;
18 gpio2 = &gpio3;
19 gpio3 = &gpio4;
20 gpio4 = &gpio5;
21 gpio5 = &gpio6;
Sascha Hauer6a3c0b32013-06-25 15:51:54 +020022 i2c0 = &i2c1;
23 i2c1 = &i2c2;
24 serial0 = &uart1;
25 serial1 = &uart2;
26 serial2 = &uart3;
27 serial3 = &uart4;
28 serial4 = &uart5;
29 serial5 = &uart6;
Alexander Shiyana5a641a2013-05-01 14:46:57 +040030 spi0 = &cspi1;
31 spi1 = &cspi2;
32 spi2 = &cspi3;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010033 };
34
Fabio Estevam6189bc32013-06-28 16:50:33 +020035 aitc: aitc-interrupt-controller@e0000000 {
36 compatible = "fsl,imx27-aitc", "fsl,avic";
Sascha Hauer9f0749e2012-02-28 21:57:50 +010037 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
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020052 cpus {
53 #size-cells = <0>;
54 #address-cells = <1>;
55
56 cpu {
57 device_type = "cpu";
58 compatible = "arm,arm926ej-s";
59 operating-points = <
60 /* kHz uV (No regulator support) */
61 133000 0
62 399000 0
63 >;
64 clock-latency = <61036>; /* two CLK32 periods */
65 clocks = <&clks 18>;
66 clock-names = "cpu";
67 };
68 };
69
Sascha Hauer9f0749e2012-02-28 21:57:50 +010070 soc {
71 #address-cells = <1>;
72 #size-cells = <1>;
73 compatible = "simple-bus";
Fabio Estevam6189bc32013-06-28 16:50:33 +020074 interrupt-parent = <&aitc>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010075 ranges;
76
77 aipi@10000000 { /* AIPI1 */
78 compatible = "fsl,aipi-bus", "simple-bus";
79 #address-cells = <1>;
80 #size-cells = <1>;
Fabio Estevam3e24b052012-11-21 17:19:38 -020081 reg = <0x10000000 0x20000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010082 ranges;
83
Alexander Shiyanb858c342013-06-08 18:39:36 +040084 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
Sascha Hauer7b7d6722012-11-15 09:31:52 +010094 wdog: wdog@10002000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +010095 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
Sascha Hauerca26d042013-03-14 13:08:57 +010096 reg = <0x10002000 0x1000>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010097 interrupts = <27>;
Fabio Estevamc20736f2012-11-28 15:55:30 -020098 clocks = <&clks 0>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +010099 };
100
Sascha Hauerca26d042013-03-14 13:08:57 +0100101 gpt1: timer@10003000 {
102 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
103 reg = <0x10003000 0x1000>;
104 interrupts = <26>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100105 clocks = <&clks 46>, <&clks 61>;
106 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100107 };
108
109 gpt2: timer@10004000 {
110 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
111 reg = <0x10004000 0x1000>;
112 interrupts = <25>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100113 clocks = <&clks 45>, <&clks 61>;
114 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100115 };
116
117 gpt3: timer@10005000 {
118 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
119 reg = <0x10005000 0x1000>;
120 interrupts = <24>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100121 clocks = <&clks 44>, <&clks 61>;
122 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100123 };
124
Alexander Shiyana392d042013-06-23 10:54:47 +0400125 pwm: pwm@10006000 {
Gwenhael Goavec-Merou08f4881a2013-04-14 09:44:25 +0200126 compatible = "fsl,imx27-pwm";
127 reg = <0x10006000 0x1000>;
128 interrupts = <23>;
129 clocks = <&clks 34>, <&clks 61>;
130 clock-names = "ipg", "per";
131 };
132
Alexander Shiyan6c04ad22013-06-23 10:54:50 +0400133 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
Markus Pargmann6a486b72013-07-01 17:21:22 +0800141 owire: owire@10009000 {
142 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
143 reg = <0x10009000 0x1000>;
144 clocks = <&clks 35>;
145 status = "disabled";
146 };
147
Shawn Guo0c456cf2012-04-02 14:39:26 +0800148 uart1: serial@1000a000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100149 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
150 reg = <0x1000a000 0x1000>;
151 interrupts = <20>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200152 clocks = <&clks 81>, <&clks 61>;
153 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100154 status = "disabled";
155 };
156
Shawn Guo0c456cf2012-04-02 14:39:26 +0800157 uart2: serial@1000b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100158 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
159 reg = <0x1000b000 0x1000>;
160 interrupts = <19>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200161 clocks = <&clks 80>, <&clks 61>;
162 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100163 status = "disabled";
164 };
165
Shawn Guo0c456cf2012-04-02 14:39:26 +0800166 uart3: serial@1000c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100167 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
168 reg = <0x1000c000 0x1000>;
169 interrupts = <18>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200170 clocks = <&clks 79>, <&clks 61>;
171 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100172 status = "disabled";
173 };
174
Shawn Guo0c456cf2012-04-02 14:39:26 +0800175 uart4: serial@1000d000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100176 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
177 reg = <0x1000d000 0x1000>;
178 interrupts = <17>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200179 clocks = <&clks 78>, <&clks 61>;
180 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100181 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>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200190 clocks = <&clks 53>, <&clks 53>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200191 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100192 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>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200201 clocks = <&clks 52>, <&clks 52>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200202 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100203 status = "disabled";
204 };
205
206 i2c1: i2c@10012000 {
207 #address-cells = <1>;
208 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800209 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100210 reg = <0x10012000 0x1000>;
211 interrupts = <12>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200212 clocks = <&clks 40>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100213 status = "disabled";
214 };
215
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400216 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
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100238 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;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800245 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100246 };
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;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800255 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100256 };
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;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800265 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100266 };
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;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800275 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100276 };
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;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800285 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100286 };
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;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800295 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100296 };
297
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400298 audmux: audmux@10016000 {
299 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
300 reg = <0x10016000 0x1000>;
301 clocks = <&clks 0>;
302 clock-names = "audmux";
303 };
304
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100305 cspi3: cspi@10017000 {
306 #address-cells = <1>;
307 #size-cells = <0>;
308 compatible = "fsl,imx27-cspi";
309 reg = <0x10017000 0x1000>;
310 interrupts = <6>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200311 clocks = <&clks 51>, <&clks 51>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200312 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100313 status = "disabled";
314 };
315
Sascha Hauerca26d042013-03-14 13:08:57 +0100316 gpt4: timer@10019000 {
317 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
318 reg = <0x10019000 0x1000>;
319 interrupts = <4>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100320 clocks = <&clks 43>, <&clks 61>;
321 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100322 };
323
324 gpt5: timer@1001a000 {
325 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
326 reg = <0x1001a000 0x1000>;
327 interrupts = <3>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100328 clocks = <&clks 42>, <&clks 61>;
329 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100330 };
331
Shawn Guo0c456cf2012-04-02 14:39:26 +0800332 uart5: serial@1001b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100333 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
334 reg = <0x1001b000 0x1000>;
335 interrupts = <49>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200336 clocks = <&clks 77>, <&clks 61>;
337 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100338 status = "disabled";
339 };
340
Shawn Guo0c456cf2012-04-02 14:39:26 +0800341 uart6: serial@1001c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100342 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
343 reg = <0x1001c000 0x1000>;
344 interrupts = <48>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200345 clocks = <&clks 78>, <&clks 61>;
346 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100347 status = "disabled";
348 };
349
350 i2c2: i2c@1001d000 {
351 #address-cells = <1>;
352 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800353 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100354 reg = <0x1001d000 0x1000>;
355 interrupts = <1>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200356 clocks = <&clks 39>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100357 status = "disabled";
358 };
359
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400360 sdhci3: sdhci@1001e000 {
361 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
362 reg = <0x1001e000 0x1000>;
363 interrupts = <9>;
364 clocks = <&clks 28>, <&clks 60>;
365 clock-names = "ipg", "per";
366 dmas = <&dma 36>;
367 dma-names = "rx-tx";
368 status = "disabled";
369 };
370
Sascha Hauerca26d042013-03-14 13:08:57 +0100371 gpt6: timer@1001f000 {
372 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
373 reg = <0x1001f000 0x1000>;
374 interrupts = <2>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100375 clocks = <&clks 41>, <&clks 61>;
376 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100377 };
Fabio Estevam3e24b052012-11-21 17:19:38 -0200378 };
379
380 aipi@10020000 { /* AIPI2 */
381 compatible = "fsl,aipi-bus", "simple-bus";
382 #address-cells = <1>;
383 #size-cells = <1>;
384 reg = <0x10020000 0x20000>;
385 ranges;
386
Markus Pargmann5e57b242013-06-28 16:50:34 +0200387 fb: fb@10021000 {
388 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
389 interrupts = <61>;
390 reg = <0x10021000 0x1000>;
391 clocks = <&clks 36>, <&clks 65>, <&clks 59>;
392 clock-names = "ipg", "ahb", "per";
393 status = "disabled";
394 };
395
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400396 coda: coda@10023000 {
397 compatible = "fsl,imx27-vpu";
398 reg = <0x10023000 0x0200>;
399 interrupts = <53>;
400 clocks = <&clks 57>, <&clks 66>;
401 clock-names = "per", "ahb";
402 iram = <&iram>;
403 };
404
Alexander Shiyane4b6a052013-06-23 10:54:45 +0400405 sahara2: sahara@10025000 {
406 compatible = "fsl,imx27-sahara";
407 reg = <0x10025000 0x1000>;
408 interrupts = <59>;
409 clocks = <&clks 32>, <&clks 64>;
410 clock-names = "ipg", "ahb";
411 };
412
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400413 clks: ccm@10027000{
414 compatible = "fsl,imx27-ccm";
415 reg = <0x10027000 0x1000>;
416 #clock-cells = <1>;
417 };
418
Alexander Shiyand36afcd2013-07-02 20:02:24 +0400419 iim: iim@10028000 {
420 compatible = "fsl,imx27-iim";
421 reg = <0x10028000 0x1000>;
422 interrupts = <62>;
423 clocks = <&clks 38>;
424 };
425
Shawn Guo0c456cf2012-04-02 14:39:26 +0800426 fec: ethernet@1002b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100427 compatible = "fsl,imx27-fec";
428 reg = <0x1002b000 0x4000>;
429 interrupts = <50>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200430 clocks = <&clks 48>, <&clks 67>, <&clks 0>;
431 clock-names = "ipg", "ahb", "ptp";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100432 status = "disabled";
433 };
434 };
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100435
436 nfc: nand@d8000000 {
Uwe Kleine-König37787362012-04-23 11:23:42 +0200437 #address-cells = <1>;
438 #size-cells = <1>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200439 compatible = "fsl,imx27-nand";
440 reg = <0xd8000000 0x1000>;
441 interrupts = <29>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200442 clocks = <&clks 54>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200443 status = "disabled";
444 };
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400445
446 iram: iram@ffff4c00 {
447 compatible = "mmio-sram";
448 reg = <0xffff4c00 0xb400>;
449 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100450 };
451};