blob: 826231eb44466f9187a564b3a587c7b18d686b28 [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
Alexander Shiyan48568be2013-07-20 11:17:56 +040056 cpu: cpu@0 {
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020057 device_type = "cpu";
58 compatible = "arm,arm926ej-s";
59 operating-points = <
Alexander Shiyan98a3e802013-07-13 08:34:44 +040060 /* kHz uV */
61 266000 1300000
62 399000 1450000
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020063 >;
Alexander Shiyan8defcb52013-07-20 11:17:57 +040064 clock-latency = <62500>;
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020065 clocks = <&clks 18>;
Alexander Shiyan98a3e802013-07-13 08:34:44 +040066 voltage-tolerance = <5>;
Markus Pargmanndc1d0f92013-06-28 16:50:36 +020067 };
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>;
Alexander Shiyan3c0e2a22013-07-20 11:17:54 +040098 clocks = <&clks 74>;
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 {
Steffen Trumtrar443b6582013-10-17 15:03:16 +0200126 #pwm-cells = <2>;
Gwenhael Goavec-Merou08f4881a2013-04-14 09:44:25 +0200127 compatible = "fsl,imx27-pwm";
128 reg = <0x10006000 0x1000>;
129 interrupts = <23>;
130 clocks = <&clks 34>, <&clks 61>;
131 clock-names = "ipg", "per";
132 };
133
Alexander Shiyan6c04ad22013-06-23 10:54:50 +0400134 kpp: kpp@10008000 {
135 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
136 reg = <0x10008000 0x1000>;
137 interrupts = <21>;
138 clocks = <&clks 37>;
139 status = "disabled";
140 };
141
Markus Pargmann6a486b72013-07-01 17:21:22 +0800142 owire: owire@10009000 {
143 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
144 reg = <0x10009000 0x1000>;
145 clocks = <&clks 35>;
146 status = "disabled";
147 };
148
Shawn Guo0c456cf2012-04-02 14:39:26 +0800149 uart1: serial@1000a000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100150 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
151 reg = <0x1000a000 0x1000>;
152 interrupts = <20>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200153 clocks = <&clks 81>, <&clks 61>;
154 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100155 status = "disabled";
156 };
157
Shawn Guo0c456cf2012-04-02 14:39:26 +0800158 uart2: serial@1000b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100159 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
160 reg = <0x1000b000 0x1000>;
161 interrupts = <19>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200162 clocks = <&clks 80>, <&clks 61>;
163 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100164 status = "disabled";
165 };
166
Shawn Guo0c456cf2012-04-02 14:39:26 +0800167 uart3: serial@1000c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100168 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
169 reg = <0x1000c000 0x1000>;
170 interrupts = <18>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200171 clocks = <&clks 79>, <&clks 61>;
172 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100173 status = "disabled";
174 };
175
Shawn Guo0c456cf2012-04-02 14:39:26 +0800176 uart4: serial@1000d000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100177 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
178 reg = <0x1000d000 0x1000>;
179 interrupts = <17>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200180 clocks = <&clks 78>, <&clks 61>;
181 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100182 status = "disabled";
183 };
184
185 cspi1: cspi@1000e000 {
186 #address-cells = <1>;
187 #size-cells = <0>;
188 compatible = "fsl,imx27-cspi";
189 reg = <0x1000e000 0x1000>;
190 interrupts = <16>;
Gwenhael Goavec-Merou7c37b612013-08-16 08:45:35 +0200191 clocks = <&clks 53>, <&clks 60>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200192 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100193 status = "disabled";
194 };
195
196 cspi2: cspi@1000f000 {
197 #address-cells = <1>;
198 #size-cells = <0>;
199 compatible = "fsl,imx27-cspi";
200 reg = <0x1000f000 0x1000>;
201 interrupts = <15>;
Gwenhael Goavec-Merou7c37b612013-08-16 08:45:35 +0200202 clocks = <&clks 52>, <&clks 60>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200203 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100204 status = "disabled";
205 };
206
207 i2c1: i2c@10012000 {
208 #address-cells = <1>;
209 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800210 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100211 reg = <0x10012000 0x1000>;
212 interrupts = <12>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200213 clocks = <&clks 40>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100214 status = "disabled";
215 };
216
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400217 sdhci1: sdhci@10013000 {
218 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
219 reg = <0x10013000 0x1000>;
220 interrupts = <11>;
221 clocks = <&clks 30>, <&clks 60>;
222 clock-names = "ipg", "per";
223 dmas = <&dma 7>;
224 dma-names = "rx-tx";
225 status = "disabled";
226 };
227
228 sdhci2: sdhci@10014000 {
229 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
230 reg = <0x10014000 0x1000>;
231 interrupts = <10>;
232 clocks = <&clks 29>, <&clks 60>;
233 clock-names = "ipg", "per";
234 dmas = <&dma 6>;
235 dma-names = "rx-tx";
236 status = "disabled";
237 };
238
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100239 gpio1: gpio@10015000 {
240 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
241 reg = <0x10015000 0x100>;
242 interrupts = <8>;
243 gpio-controller;
244 #gpio-cells = <2>;
245 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800246 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100247 };
248
249 gpio2: gpio@10015100 {
250 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
251 reg = <0x10015100 0x100>;
252 interrupts = <8>;
253 gpio-controller;
254 #gpio-cells = <2>;
255 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800256 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100257 };
258
259 gpio3: gpio@10015200 {
260 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
261 reg = <0x10015200 0x100>;
262 interrupts = <8>;
263 gpio-controller;
264 #gpio-cells = <2>;
265 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800266 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100267 };
268
269 gpio4: gpio@10015300 {
270 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
271 reg = <0x10015300 0x100>;
272 interrupts = <8>;
273 gpio-controller;
274 #gpio-cells = <2>;
275 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800276 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100277 };
278
279 gpio5: gpio@10015400 {
280 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
281 reg = <0x10015400 0x100>;
282 interrupts = <8>;
283 gpio-controller;
284 #gpio-cells = <2>;
285 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800286 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100287 };
288
289 gpio6: gpio@10015500 {
290 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
291 reg = <0x10015500 0x100>;
292 interrupts = <8>;
293 gpio-controller;
294 #gpio-cells = <2>;
295 interrupt-controller;
Shawn Guo88cde8b2012-07-06 20:03:37 +0800296 #interrupt-cells = <2>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100297 };
298
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400299 audmux: audmux@10016000 {
300 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
301 reg = <0x10016000 0x1000>;
302 clocks = <&clks 0>;
303 clock-names = "audmux";
Alexander Shiyan1c04ab02013-08-10 12:51:50 +0400304 status = "disabled";
Alexander Shiyan6e228e82013-06-23 10:54:46 +0400305 };
306
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100307 cspi3: cspi@10017000 {
308 #address-cells = <1>;
309 #size-cells = <0>;
310 compatible = "fsl,imx27-cspi";
311 reg = <0x10017000 0x1000>;
312 interrupts = <6>;
Gwenhael Goavec-Merou7c37b612013-08-16 08:45:35 +0200313 clocks = <&clks 51>, <&clks 60>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200314 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100315 status = "disabled";
316 };
317
Sascha Hauerca26d042013-03-14 13:08:57 +0100318 gpt4: timer@10019000 {
319 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
320 reg = <0x10019000 0x1000>;
321 interrupts = <4>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100322 clocks = <&clks 43>, <&clks 61>;
323 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100324 };
325
326 gpt5: timer@1001a000 {
327 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
328 reg = <0x1001a000 0x1000>;
329 interrupts = <3>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100330 clocks = <&clks 42>, <&clks 61>;
331 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100332 };
333
Shawn Guo0c456cf2012-04-02 14:39:26 +0800334 uart5: serial@1001b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100335 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
336 reg = <0x1001b000 0x1000>;
337 interrupts = <49>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200338 clocks = <&clks 77>, <&clks 61>;
339 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100340 status = "disabled";
341 };
342
Shawn Guo0c456cf2012-04-02 14:39:26 +0800343 uart6: serial@1001c000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100344 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
345 reg = <0x1001c000 0x1000>;
346 interrupts = <48>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200347 clocks = <&clks 78>, <&clks 61>;
348 clock-names = "ipg", "per";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100349 status = "disabled";
350 };
351
352 i2c2: i2c@1001d000 {
353 #address-cells = <1>;
354 #size-cells = <0>;
Shawn Guo5bdfba22012-09-14 15:19:00 +0800355 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100356 reg = <0x1001d000 0x1000>;
357 interrupts = <1>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200358 clocks = <&clks 39>;
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100359 status = "disabled";
360 };
361
Alexander Shiyan0e7b01a2013-06-08 18:39:37 +0400362 sdhci3: sdhci@1001e000 {
363 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
364 reg = <0x1001e000 0x1000>;
365 interrupts = <9>;
366 clocks = <&clks 28>, <&clks 60>;
367 clock-names = "ipg", "per";
368 dmas = <&dma 36>;
369 dma-names = "rx-tx";
370 status = "disabled";
371 };
372
Sascha Hauerca26d042013-03-14 13:08:57 +0100373 gpt6: timer@1001f000 {
374 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
375 reg = <0x1001f000 0x1000>;
376 interrupts = <2>;
Sascha Hauerb700c112013-03-14 13:09:02 +0100377 clocks = <&clks 41>, <&clks 61>;
378 clock-names = "ipg", "per";
Sascha Hauerca26d042013-03-14 13:08:57 +0100379 };
Fabio Estevam3e24b052012-11-21 17:19:38 -0200380 };
381
382 aipi@10020000 { /* AIPI2 */
383 compatible = "fsl,aipi-bus", "simple-bus";
384 #address-cells = <1>;
385 #size-cells = <1>;
386 reg = <0x10020000 0x20000>;
387 ranges;
388
Markus Pargmann5e57b242013-06-28 16:50:34 +0200389 fb: fb@10021000 {
390 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
391 interrupts = <61>;
392 reg = <0x10021000 0x1000>;
393 clocks = <&clks 36>, <&clks 65>, <&clks 59>;
394 clock-names = "ipg", "ahb", "per";
395 status = "disabled";
396 };
397
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400398 coda: coda@10023000 {
399 compatible = "fsl,imx27-vpu";
400 reg = <0x10023000 0x0200>;
401 interrupts = <53>;
402 clocks = <&clks 57>, <&clks 66>;
403 clock-names = "per", "ahb";
404 iram = <&iram>;
405 };
406
Alexander Shiyane4b6a052013-06-23 10:54:45 +0400407 sahara2: sahara@10025000 {
408 compatible = "fsl,imx27-sahara";
409 reg = <0x10025000 0x1000>;
410 interrupts = <59>;
411 clocks = <&clks 32>, <&clks 64>;
412 clock-names = "ipg", "ahb";
413 };
414
Alexander Shiyan93b331c2013-06-15 16:22:58 +0400415 clks: ccm@10027000{
416 compatible = "fsl,imx27-ccm";
417 reg = <0x10027000 0x1000>;
418 #clock-cells = <1>;
419 };
420
Alexander Shiyand36afcd2013-07-02 20:02:24 +0400421 iim: iim@10028000 {
422 compatible = "fsl,imx27-iim";
423 reg = <0x10028000 0x1000>;
424 interrupts = <62>;
425 clocks = <&clks 38>;
426 };
427
Shawn Guo0c456cf2012-04-02 14:39:26 +0800428 fec: ethernet@1002b000 {
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100429 compatible = "fsl,imx27-fec";
430 reg = <0x1002b000 0x4000>;
431 interrupts = <50>;
Alexander Shiyanc0b357c2013-07-20 11:17:55 +0400432 clocks = <&clks 48>, <&clks 67>;
433 clock-names = "ipg", "ahb";
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100434 status = "disabled";
435 };
436 };
Sascha Hauer7b7d6722012-11-15 09:31:52 +0100437
438 nfc: nand@d8000000 {
Uwe Kleine-König37787362012-04-23 11:23:42 +0200439 #address-cells = <1>;
440 #size-cells = <1>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200441 compatible = "fsl,imx27-nand";
442 reg = <0xd8000000 0x1000>;
443 interrupts = <29>;
Fabio Estevamc20736f2012-11-28 15:55:30 -0200444 clocks = <&clks 54>;
Uwe Kleine-König37787362012-04-23 11:23:42 +0200445 status = "disabled";
446 };
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400447
Alexander Shiyan0912f592013-07-02 20:02:25 +0400448 weim: weim@d8002000 {
449 #address-cells = <2>;
450 #size-cells = <1>;
451 compatible = "fsl,imx27-weim";
452 reg = <0xd8002000 0x1000>;
453 clocks = <&clks 0>;
454 ranges = <
455 0 0 0xc0000000 0x08000000
456 1 0 0xc8000000 0x08000000
457 2 0 0xd0000000 0x02000000
458 3 0 0xd2000000 0x02000000
459 4 0 0xd4000000 0x02000000
460 5 0 0xd6000000 0x02000000
461 >;
462 status = "disabled";
463 };
464
Alexander Shiyanff1450f2013-06-23 10:54:48 +0400465 iram: iram@ffff4c00 {
466 compatible = "mmio-sram";
467 reg = <0xffff4c00 0xb400>;
468 };
Sascha Hauer9f0749e2012-02-28 21:57:50 +0100469 };
470};