blob: 563e168c88a01a294f3f725d796fbe39f826db72 [file] [log] [blame]
Sascha Hauer5658a682012-09-20 15:04:33 +02001/*
2 * Copyright 2012 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de>
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"
Denis Cariklif4db4bc2013-11-06 09:52:16 +010013#include "imx25-pinfunc.h"
Sascha Hauer5658a682012-09-20 15:04:33 +020014
15/ {
16 aliases {
Marek Vasut22970072014-02-28 12:58:41 +010017 ethernet0 = &fec;
Sascha Hauer6ed1a0e2013-06-25 15:51:53 +020018 gpio0 = &gpio1;
19 gpio1 = &gpio2;
20 gpio2 = &gpio3;
21 gpio3 = &gpio4;
22 i2c0 = &i2c1;
23 i2c1 = &i2c2;
24 i2c2 = &i2c3;
Sascha Hauer5658a682012-09-20 15:04:33 +020025 serial0 = &uart1;
26 serial1 = &uart2;
27 serial2 = &uart3;
28 serial3 = &uart4;
29 serial4 = &uart5;
Sascha Hauer6ed1a0e2013-06-25 15:51:53 +020030 spi0 = &spi1;
31 spi1 = &spi2;
32 spi2 = &spi3;
Sascha Hauer5658a682012-09-20 15:04:33 +020033 usb0 = &usbotg;
34 usb1 = &usbhost1;
35 };
36
Fabio Estevam070bd7e2013-07-07 10:12:30 -030037 cpus {
38 #address-cells = <0>;
39 #size-cells = <0>;
40
41 cpu {
42 compatible = "arm,arm926ej-s";
43 device_type = "cpu";
44 };
45 };
46
Sascha Hauer5658a682012-09-20 15:04:33 +020047 asic: asic-interrupt-controller@68000000 {
48 compatible = "fsl,imx25-asic", "fsl,avic";
49 interrupt-controller;
50 #interrupt-cells = <1>;
51 reg = <0x68000000 0x8000000>;
52 };
53
54 clocks {
55 #address-cells = <1>;
56 #size-cells = <0>;
57
58 osc {
59 compatible = "fsl,imx-osc", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080060 #clock-cells = <0>;
Sascha Hauer5658a682012-09-20 15:04:33 +020061 clock-frequency = <24000000>;
62 };
63 };
64
65 soc {
66 #address-cells = <1>;
67 #size-cells = <1>;
68 compatible = "simple-bus";
69 interrupt-parent = <&asic>;
70 ranges;
71
72 aips@43f00000 { /* AIPS1 */
73 compatible = "fsl,aips-bus", "simple-bus";
74 #address-cells = <1>;
75 #size-cells = <1>;
76 reg = <0x43f00000 0x100000>;
77 ranges;
78
79 i2c1: i2c@43f80000 {
80 #address-cells = <1>;
81 #size-cells = <0>;
82 compatible = "fsl,imx25-i2c", "fsl,imx21-i2c";
83 reg = <0x43f80000 0x4000>;
84 clocks = <&clks 48>;
85 clock-names = "";
86 interrupts = <3>;
87 status = "disabled";
88 };
89
90 i2c3: i2c@43f84000 {
91 #address-cells = <1>;
92 #size-cells = <0>;
93 compatible = "fsl,imx25-i2c", "fsl,imx21-i2c";
94 reg = <0x43f84000 0x4000>;
95 clocks = <&clks 48>;
96 clock-names = "";
97 interrupts = <10>;
98 status = "disabled";
99 };
100
101 can1: can@43f88000 {
102 compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan";
103 reg = <0x43f88000 0x4000>;
104 interrupts = <43>;
105 clocks = <&clks 75>, <&clks 75>;
106 clock-names = "ipg", "per";
107 status = "disabled";
108 };
109
110 can2: can@43f8c000 {
111 compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan";
112 reg = <0x43f8c000 0x4000>;
113 interrupts = <44>;
114 clocks = <&clks 76>, <&clks 76>;
115 clock-names = "ipg", "per";
116 status = "disabled";
117 };
118
119 uart1: serial@43f90000 {
120 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
121 reg = <0x43f90000 0x4000>;
122 interrupts = <45>;
123 clocks = <&clks 120>, <&clks 57>;
124 clock-names = "ipg", "per";
125 status = "disabled";
126 };
127
128 uart2: serial@43f94000 {
129 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
130 reg = <0x43f94000 0x4000>;
131 interrupts = <32>;
132 clocks = <&clks 121>, <&clks 57>;
133 clock-names = "ipg", "per";
134 status = "disabled";
135 };
136
137 i2c2: i2c@43f98000 {
138 #address-cells = <1>;
139 #size-cells = <0>;
140 compatible = "fsl,imx25-i2c", "fsl,imx21-i2c";
141 reg = <0x43f98000 0x4000>;
142 clocks = <&clks 48>;
143 clock-names = "";
144 interrupts = <4>;
145 status = "disabled";
146 };
147
148 owire@43f9c000 {
149 #address-cells = <1>;
150 #size-cells = <0>;
151 reg = <0x43f9c000 0x4000>;
152 clocks = <&clks 51>;
153 clock-names = "";
154 interrupts = <2>;
155 status = "disabled";
156 };
157
158 spi1: cspi@43fa4000 {
159 #address-cells = <1>;
160 #size-cells = <0>;
161 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
162 reg = <0x43fa4000 0x4000>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200163 clocks = <&clks 62>, <&clks 62>;
164 clock-names = "ipg", "per";
Sascha Hauer5658a682012-09-20 15:04:33 +0200165 interrupts = <14>;
166 status = "disabled";
167 };
168
Fabio Estevam9223dd82014-03-12 10:19:24 -0300169 kpp: kpp@43fa8000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200170 #address-cells = <1>;
171 #size-cells = <0>;
Fabio Estevam9223dd82014-03-12 10:19:24 -0300172 compatible = "fsl,imx25-kpp", "fsl,imx21-kpp";
Sascha Hauer5658a682012-09-20 15:04:33 +0200173 reg = <0x43fa8000 0x4000>;
174 clocks = <&clks 102>;
175 clock-names = "";
176 interrupts = <24>;
177 status = "disabled";
178 };
179
Denis Carikli53110aa2013-11-06 09:52:17 +0100180 iomuxc: iomuxc@43fac000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200181 compatible = "fsl,imx25-iomuxc";
182 reg = <0x43fac000 0x4000>;
183 };
184
Denis Carikliec2ea8c2013-10-23 10:29:34 +0200185 audmux: audmux@43fb0000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200186 compatible = "fsl,imx25-audmux", "fsl,imx31-audmux";
187 reg = <0x43fb0000 0x4000>;
188 status = "disabled";
189 };
190 };
191
192 spba@50000000 {
193 compatible = "fsl,spba-bus", "simple-bus";
194 #address-cells = <1>;
195 #size-cells = <1>;
196 reg = <0x50000000 0x40000>;
197 ranges;
198
199 spi3: cspi@50004000 {
200 #address-cells = <1>;
201 #size-cells = <0>;
202 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
203 reg = <0x50004000 0x4000>;
204 interrupts = <0>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200205 clocks = <&clks 80>, <&clks 80>;
206 clock-names = "ipg", "per";
Sascha Hauer5658a682012-09-20 15:04:33 +0200207 status = "disabled";
208 };
209
210 uart4: serial@50008000 {
211 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
212 reg = <0x50008000 0x4000>;
213 interrupts = <5>;
214 clocks = <&clks 123>, <&clks 57>;
215 clock-names = "ipg", "per";
216 status = "disabled";
217 };
218
219 uart3: serial@5000c000 {
220 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
221 reg = <0x5000c000 0x4000>;
222 interrupts = <18>;
223 clocks = <&clks 122>, <&clks 57>;
224 clock-names = "ipg", "per";
225 status = "disabled";
226 };
227
228 spi2: cspi@50010000 {
229 #address-cells = <1>;
230 #size-cells = <0>;
231 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
232 reg = <0x50010000 0x4000>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200233 clocks = <&clks 79>, <&clks 79>;
234 clock-names = "ipg", "per";
Sascha Hauer5658a682012-09-20 15:04:33 +0200235 interrupts = <13>;
236 status = "disabled";
237 };
238
239 ssi2: ssi@50014000 {
240 compatible = "fsl,imx25-ssi", "fsl,imx21-ssi";
241 reg = <0x50014000 0x4000>;
242 interrupts = <11>;
Denis Carikli7803c622013-10-23 10:29:32 +0200243 clocks = <&clks 118>;
244 clock-names = "ipg";
245 dmas = <&sdma 24 1 0>,
246 <&sdma 25 1 0>;
247 dma-names = "rx", "tx";
Sascha Hauer5658a682012-09-20 15:04:33 +0200248 status = "disabled";
249 };
250
251 esai@50018000 {
252 reg = <0x50018000 0x4000>;
253 interrupts = <7>;
254 };
255
256 uart5: serial@5002c000 {
257 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
258 reg = <0x5002c000 0x4000>;
259 interrupts = <40>;
260 clocks = <&clks 124>, <&clks 57>;
261 clock-names = "ipg", "per";
262 status = "disabled";
263 };
264
265 tsc: tsc@50030000 {
266 compatible = "fsl,imx25-adc", "fsl,imx21-tsc";
267 reg = <0x50030000 0x4000>;
268 interrupts = <46>;
269 clocks = <&clks 119>;
270 clock-names = "ipg";
271 status = "disabled";
272 };
273
274 ssi1: ssi@50034000 {
275 compatible = "fsl,imx25-ssi", "fsl,imx21-ssi";
276 reg = <0x50034000 0x4000>;
277 interrupts = <12>;
Denis Carikli7803c622013-10-23 10:29:32 +0200278 clocks = <&clks 117>;
279 clock-names = "ipg";
280 dmas = <&sdma 28 1 0>,
281 <&sdma 29 1 0>;
282 dma-names = "rx", "tx";
Sascha Hauer5658a682012-09-20 15:04:33 +0200283 status = "disabled";
284 };
285
286 fec: ethernet@50038000 {
287 compatible = "fsl,imx25-fec";
288 reg = <0x50038000 0x4000>;
289 interrupts = <57>;
290 clocks = <&clks 88>, <&clks 65>;
291 clock-names = "ipg", "ahb";
292 status = "disabled";
293 };
294 };
295
296 aips@53f00000 { /* AIPS2 */
297 compatible = "fsl,aips-bus", "simple-bus";
298 #address-cells = <1>;
299 #size-cells = <1>;
300 reg = <0x53f00000 0x100000>;
301 ranges;
302
303 clks: ccm@53f80000 {
304 compatible = "fsl,imx25-ccm";
305 reg = <0x53f80000 0x4000>;
306 interrupts = <31>;
307 #clock-cells = <1>;
308 };
309
310 gpt4: timer@53f84000 {
311 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
312 reg = <0x53f84000 0x4000>;
313 clocks = <&clks 9>, <&clks 45>;
314 clock-names = "ipg", "per";
315 interrupts = <1>;
316 };
317
318 gpt3: timer@53f88000 {
319 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
320 reg = <0x53f88000 0x4000>;
321 clocks = <&clks 9>, <&clks 47>;
322 clock-names = "ipg", "per";
323 interrupts = <29>;
324 };
325
326 gpt2: timer@53f8c000 {
327 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
328 reg = <0x53f8c000 0x4000>;
329 clocks = <&clks 9>, <&clks 47>;
330 clock-names = "ipg", "per";
331 interrupts = <53>;
332 };
333
334 gpt1: timer@53f90000 {
335 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
336 reg = <0x53f90000 0x4000>;
337 clocks = <&clks 9>, <&clks 47>;
338 clock-names = "ipg", "per";
339 interrupts = <54>;
340 };
341
342 epit1: timer@53f94000 {
343 compatible = "fsl,imx25-epit";
344 reg = <0x53f94000 0x4000>;
345 interrupts = <28>;
346 };
347
348 epit2: timer@53f98000 {
349 compatible = "fsl,imx25-epit";
350 reg = <0x53f98000 0x4000>;
351 interrupts = <27>;
352 };
353
354 gpio4: gpio@53f9c000 {
355 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
356 reg = <0x53f9c000 0x4000>;
357 interrupts = <23>;
358 gpio-controller;
359 #gpio-cells = <2>;
360 interrupt-controller;
361 #interrupt-cells = <2>;
362 };
363
364 pwm2: pwm@53fa0000 {
365 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
366 #pwm-cells = <2>;
367 reg = <0x53fa0000 0x4000>;
368 clocks = <&clks 106>, <&clks 36>;
369 clock-names = "ipg", "per";
370 interrupts = <36>;
371 };
372
373 gpio3: gpio@53fa4000 {
374 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
375 reg = <0x53fa4000 0x4000>;
376 interrupts = <16>;
377 gpio-controller;
378 #gpio-cells = <2>;
379 interrupt-controller;
380 #interrupt-cells = <2>;
381 };
382
383 pwm3: pwm@53fa8000 {
384 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
385 #pwm-cells = <2>;
386 reg = <0x53fa8000 0x4000>;
387 clocks = <&clks 107>, <&clks 36>;
388 clock-names = "ipg", "per";
389 interrupts = <41>;
390 };
391
392 esdhc1: esdhc@53fb4000 {
393 compatible = "fsl,imx25-esdhc";
394 reg = <0x53fb4000 0x4000>;
395 interrupts = <9>;
396 clocks = <&clks 86>, <&clks 63>, <&clks 45>;
397 clock-names = "ipg", "ahb", "per";
398 status = "disabled";
399 };
400
401 esdhc2: esdhc@53fb8000 {
402 compatible = "fsl,imx25-esdhc";
403 reg = <0x53fb8000 0x4000>;
404 interrupts = <8>;
405 clocks = <&clks 87>, <&clks 64>, <&clks 46>;
406 clock-names = "ipg", "ahb", "per";
407 status = "disabled";
408 };
409
Matthias Weisserc770f7c2013-07-12 09:34:54 +0200410 lcdc: lcdc@53fbc000 {
411 compatible = "fsl,imx25-fb", "fsl,imx21-fb";
Sascha Hauer5658a682012-09-20 15:04:33 +0200412 reg = <0x53fbc000 0x4000>;
413 interrupts = <39>;
414 clocks = <&clks 103>, <&clks 66>, <&clks 49>;
415 clock-names = "ipg", "ahb", "per";
416 status = "disabled";
417 };
418
419 slcdc@53fc0000 {
420 reg = <0x53fc0000 0x4000>;
421 interrupts = <38>;
422 status = "disabled";
423 };
424
425 pwm4: pwm@53fc8000 {
426 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
427 reg = <0x53fc8000 0x4000>;
428 clocks = <&clks 108>, <&clks 36>;
429 clock-names = "ipg", "per";
430 interrupts = <42>;
431 };
432
433 gpio1: gpio@53fcc000 {
434 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
435 reg = <0x53fcc000 0x4000>;
436 interrupts = <52>;
437 gpio-controller;
438 #gpio-cells = <2>;
439 interrupt-controller;
440 #interrupt-cells = <2>;
441 };
442
443 gpio2: gpio@53fd0000 {
444 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
445 reg = <0x53fd0000 0x4000>;
446 interrupts = <51>;
447 gpio-controller;
448 #gpio-cells = <2>;
449 interrupt-controller;
450 #interrupt-cells = <2>;
451 };
452
Denis Carikli7803c622013-10-23 10:29:32 +0200453 sdma: sdma@53fd4000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200454 compatible = "fsl,imx25-sdma", "fsl,imx35-sdma";
455 reg = <0x53fd4000 0x4000>;
456 clocks = <&clks 112>, <&clks 68>;
457 clock-names = "ipg", "ahb";
Huang Shijiefb72bb22013-07-02 10:15:29 +0800458 #dma-cells = <3>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200459 interrupts = <34>;
Denis Cariklicabd1b22013-10-23 10:29:33 +0200460 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx25.bin";
Sascha Hauer5658a682012-09-20 15:04:33 +0200461 };
462
463 wdog@53fdc000 {
464 compatible = "fsl,imx25-wdt", "fsl,imx21-wdt";
465 reg = <0x53fdc000 0x4000>;
466 clocks = <&clks 126>;
467 clock-names = "";
468 interrupts = <55>;
469 };
470
471 pwm1: pwm@53fe0000 {
472 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
473 #pwm-cells = <2>;
474 reg = <0x53fe0000 0x4000>;
475 clocks = <&clks 105>, <&clks 36>;
476 clock-names = "ipg", "per";
477 interrupts = <26>;
478 };
479
Sascha Hauer684f6a22013-06-25 15:51:50 +0200480 iim: iim@53ff0000 {
481 compatible = "fsl,imx25-iim", "fsl,imx27-iim";
482 reg = <0x53ff0000 0x4000>;
483 interrupts = <19>;
484 clocks = <&clks 99>;
485 };
486
Sascha Hauer5658a682012-09-20 15:04:33 +0200487 usbotg: usb@53ff4000 {
488 compatible = "fsl,imx25-usb", "fsl,imx27-usb";
489 reg = <0x53ff4000 0x0200>;
490 interrupts = <37>;
Fabio Estevam3937f662014-03-13 10:18:39 +0100491 clocks = <&clks 70>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200492 fsl,usbmisc = <&usbmisc 0>;
Fabio Estevamf4151532014-03-13 10:18:42 +0100493 fsl,usbphy = <&usbphy0>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200494 status = "disabled";
495 };
496
497 usbhost1: usb@53ff4400 {
498 compatible = "fsl,imx25-usb", "fsl,imx27-usb";
499 reg = <0x53ff4400 0x0200>;
500 interrupts = <35>;
Fabio Estevam3937f662014-03-13 10:18:39 +0100501 clocks = <&clks 70>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200502 fsl,usbmisc = <&usbmisc 1>;
Fabio Estevamf4151532014-03-13 10:18:42 +0100503 fsl,usbphy = <&usbphy1>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200504 status = "disabled";
505 };
506
507 usbmisc: usbmisc@53ff4600 {
508 #index-cells = <1>;
509 compatible = "fsl,imx25-usbmisc";
510 clocks = <&clks 9>, <&clks 70>, <&clks 8>;
511 clock-names = "ipg", "ahb", "per";
512 reg = <0x53ff4600 0x00f>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200513 };
514
515 dryice@53ffc000 {
516 compatible = "fsl,imx25-dryice", "fsl,imx25-rtc";
517 reg = <0x53ffc000 0x4000>;
518 clocks = <&clks 81>;
519 clock-names = "ipg";
520 interrupts = <25>;
521 };
522 };
523
524 emi@80000000 {
525 compatible = "fsl,emi-bus", "simple-bus";
526 #address-cells = <1>;
527 #size-cells = <1>;
528 reg = <0x80000000 0x3b002000>;
529 ranges;
530
Shawn Guobe4ccfc2012-12-31 11:32:48 +0800531 nfc: nand@bb000000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200532 #address-cells = <1>;
533 #size-cells = <1>;
534
535 compatible = "fsl,imx25-nand";
536 reg = <0xbb000000 0x2000>;
537 clocks = <&clks 50>;
538 clock-names = "";
539 interrupts = <33>;
540 status = "disabled";
541 };
542 };
543 };
Fabio Estevamf4151532014-03-13 10:18:42 +0100544
545 usbphy {
546 compatible = "simple-bus";
547 #address-cells = <1>;
548 #size-cells = <0>;
549
550 usbphy0: usb-phy@0 {
551 reg = <0>;
552 compatible = "usb-nop-xceiv";
553 };
554
555 usbphy1: usb-phy@1 {
556 reg = <1>;
557 compatible = "usb-nop-xceiv";
558 };
559 };
Sascha Hauer5658a682012-09-20 15:04:33 +0200560};