blob: 58d3c3cf2923f5ffae5e1657140fc7b94f4090c1 [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 Hauer9e3a424b2014-05-09 08:11:14 +020025 mmc0 = &esdhc1;
26 mmc1 = &esdhc2;
Sascha Hauer5658a682012-09-20 15:04:33 +020027 serial0 = &uart1;
28 serial1 = &uart2;
29 serial2 = &uart3;
30 serial3 = &uart4;
31 serial4 = &uart5;
Sascha Hauer6ed1a0e2013-06-25 15:51:53 +020032 spi0 = &spi1;
33 spi1 = &spi2;
34 spi2 = &spi3;
Sascha Hauer5658a682012-09-20 15:04:33 +020035 usb0 = &usbotg;
36 usb1 = &usbhost1;
37 };
38
Fabio Estevam070bd7e2013-07-07 10:12:30 -030039 cpus {
40 #address-cells = <0>;
41 #size-cells = <0>;
42
43 cpu {
44 compatible = "arm,arm926ej-s";
45 device_type = "cpu";
46 };
47 };
48
Sascha Hauer5658a682012-09-20 15:04:33 +020049 asic: asic-interrupt-controller@68000000 {
50 compatible = "fsl,imx25-asic", "fsl,avic";
51 interrupt-controller;
52 #interrupt-cells = <1>;
53 reg = <0x68000000 0x8000000>;
54 };
55
56 clocks {
57 #address-cells = <1>;
58 #size-cells = <0>;
59
60 osc {
61 compatible = "fsl,imx-osc", "fixed-clock";
Shawn Guo4b2b4042014-04-11 09:56:46 +080062 #clock-cells = <0>;
Sascha Hauer5658a682012-09-20 15:04:33 +020063 clock-frequency = <24000000>;
64 };
65 };
66
67 soc {
68 #address-cells = <1>;
69 #size-cells = <1>;
70 compatible = "simple-bus";
71 interrupt-parent = <&asic>;
72 ranges;
73
74 aips@43f00000 { /* AIPS1 */
75 compatible = "fsl,aips-bus", "simple-bus";
76 #address-cells = <1>;
77 #size-cells = <1>;
78 reg = <0x43f00000 0x100000>;
79 ranges;
80
81 i2c1: i2c@43f80000 {
82 #address-cells = <1>;
83 #size-cells = <0>;
84 compatible = "fsl,imx25-i2c", "fsl,imx21-i2c";
85 reg = <0x43f80000 0x4000>;
86 clocks = <&clks 48>;
87 clock-names = "";
88 interrupts = <3>;
89 status = "disabled";
90 };
91
92 i2c3: i2c@43f84000 {
93 #address-cells = <1>;
94 #size-cells = <0>;
95 compatible = "fsl,imx25-i2c", "fsl,imx21-i2c";
96 reg = <0x43f84000 0x4000>;
97 clocks = <&clks 48>;
98 clock-names = "";
99 interrupts = <10>;
100 status = "disabled";
101 };
102
103 can1: can@43f88000 {
104 compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan";
105 reg = <0x43f88000 0x4000>;
106 interrupts = <43>;
107 clocks = <&clks 75>, <&clks 75>;
108 clock-names = "ipg", "per";
109 status = "disabled";
110 };
111
112 can2: can@43f8c000 {
113 compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan";
114 reg = <0x43f8c000 0x4000>;
115 interrupts = <44>;
116 clocks = <&clks 76>, <&clks 76>;
117 clock-names = "ipg", "per";
118 status = "disabled";
119 };
120
121 uart1: serial@43f90000 {
122 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
123 reg = <0x43f90000 0x4000>;
124 interrupts = <45>;
125 clocks = <&clks 120>, <&clks 57>;
126 clock-names = "ipg", "per";
127 status = "disabled";
128 };
129
130 uart2: serial@43f94000 {
131 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
132 reg = <0x43f94000 0x4000>;
133 interrupts = <32>;
134 clocks = <&clks 121>, <&clks 57>;
135 clock-names = "ipg", "per";
136 status = "disabled";
137 };
138
139 i2c2: i2c@43f98000 {
140 #address-cells = <1>;
141 #size-cells = <0>;
142 compatible = "fsl,imx25-i2c", "fsl,imx21-i2c";
143 reg = <0x43f98000 0x4000>;
144 clocks = <&clks 48>;
145 clock-names = "";
146 interrupts = <4>;
147 status = "disabled";
148 };
149
150 owire@43f9c000 {
151 #address-cells = <1>;
152 #size-cells = <0>;
153 reg = <0x43f9c000 0x4000>;
154 clocks = <&clks 51>;
155 clock-names = "";
156 interrupts = <2>;
157 status = "disabled";
158 };
159
160 spi1: cspi@43fa4000 {
161 #address-cells = <1>;
162 #size-cells = <0>;
163 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
164 reg = <0x43fa4000 0x4000>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200165 clocks = <&clks 62>, <&clks 62>;
166 clock-names = "ipg", "per";
Sascha Hauer5658a682012-09-20 15:04:33 +0200167 interrupts = <14>;
168 status = "disabled";
169 };
170
Fabio Estevam9223dd82014-03-12 10:19:24 -0300171 kpp: kpp@43fa8000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200172 #address-cells = <1>;
173 #size-cells = <0>;
Fabio Estevam9223dd82014-03-12 10:19:24 -0300174 compatible = "fsl,imx25-kpp", "fsl,imx21-kpp";
Sascha Hauer5658a682012-09-20 15:04:33 +0200175 reg = <0x43fa8000 0x4000>;
176 clocks = <&clks 102>;
177 clock-names = "";
178 interrupts = <24>;
179 status = "disabled";
180 };
181
Denis Carikli53110aa2013-11-06 09:52:17 +0100182 iomuxc: iomuxc@43fac000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200183 compatible = "fsl,imx25-iomuxc";
184 reg = <0x43fac000 0x4000>;
185 };
186
Denis Carikliec2ea8c2013-10-23 10:29:34 +0200187 audmux: audmux@43fb0000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200188 compatible = "fsl,imx25-audmux", "fsl,imx31-audmux";
189 reg = <0x43fb0000 0x4000>;
190 status = "disabled";
191 };
192 };
193
194 spba@50000000 {
195 compatible = "fsl,spba-bus", "simple-bus";
196 #address-cells = <1>;
197 #size-cells = <1>;
198 reg = <0x50000000 0x40000>;
199 ranges;
200
201 spi3: cspi@50004000 {
202 #address-cells = <1>;
203 #size-cells = <0>;
204 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
205 reg = <0x50004000 0x4000>;
206 interrupts = <0>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200207 clocks = <&clks 80>, <&clks 80>;
208 clock-names = "ipg", "per";
Sascha Hauer5658a682012-09-20 15:04:33 +0200209 status = "disabled";
210 };
211
212 uart4: serial@50008000 {
213 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
214 reg = <0x50008000 0x4000>;
215 interrupts = <5>;
216 clocks = <&clks 123>, <&clks 57>;
217 clock-names = "ipg", "per";
218 status = "disabled";
219 };
220
221 uart3: serial@5000c000 {
222 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
223 reg = <0x5000c000 0x4000>;
224 interrupts = <18>;
225 clocks = <&clks 122>, <&clks 57>;
226 clock-names = "ipg", "per";
227 status = "disabled";
228 };
229
230 spi2: cspi@50010000 {
231 #address-cells = <1>;
232 #size-cells = <0>;
233 compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
234 reg = <0x50010000 0x4000>;
Jonas Andersson37523dc2013-05-23 13:38:05 +0200235 clocks = <&clks 79>, <&clks 79>;
236 clock-names = "ipg", "per";
Sascha Hauer5658a682012-09-20 15:04:33 +0200237 interrupts = <13>;
238 status = "disabled";
239 };
240
241 ssi2: ssi@50014000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400242 #sound-dai-cells = <0>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200243 compatible = "fsl,imx25-ssi", "fsl,imx21-ssi";
244 reg = <0x50014000 0x4000>;
245 interrupts = <11>;
Denis Carikli7803c622013-10-23 10:29:32 +0200246 clocks = <&clks 118>;
247 clock-names = "ipg";
248 dmas = <&sdma 24 1 0>,
249 <&sdma 25 1 0>;
250 dma-names = "rx", "tx";
Sascha Hauer5658a682012-09-20 15:04:33 +0200251 status = "disabled";
252 };
253
254 esai@50018000 {
255 reg = <0x50018000 0x4000>;
256 interrupts = <7>;
257 };
258
259 uart5: serial@5002c000 {
260 compatible = "fsl,imx25-uart", "fsl,imx21-uart";
261 reg = <0x5002c000 0x4000>;
262 interrupts = <40>;
263 clocks = <&clks 124>, <&clks 57>;
264 clock-names = "ipg", "per";
265 status = "disabled";
266 };
267
268 tsc: tsc@50030000 {
269 compatible = "fsl,imx25-adc", "fsl,imx21-tsc";
270 reg = <0x50030000 0x4000>;
271 interrupts = <46>;
272 clocks = <&clks 119>;
273 clock-names = "ipg";
274 status = "disabled";
275 };
276
277 ssi1: ssi@50034000 {
Alexander Shiyan6ff7f512014-08-19 20:00:09 +0400278 #sound-dai-cells = <0>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200279 compatible = "fsl,imx25-ssi", "fsl,imx21-ssi";
280 reg = <0x50034000 0x4000>;
281 interrupts = <12>;
Denis Carikli7803c622013-10-23 10:29:32 +0200282 clocks = <&clks 117>;
283 clock-names = "ipg";
284 dmas = <&sdma 28 1 0>,
285 <&sdma 29 1 0>;
286 dma-names = "rx", "tx";
Sascha Hauer5658a682012-09-20 15:04:33 +0200287 status = "disabled";
288 };
289
290 fec: ethernet@50038000 {
291 compatible = "fsl,imx25-fec";
292 reg = <0x50038000 0x4000>;
293 interrupts = <57>;
294 clocks = <&clks 88>, <&clks 65>;
295 clock-names = "ipg", "ahb";
296 status = "disabled";
297 };
298 };
299
300 aips@53f00000 { /* AIPS2 */
301 compatible = "fsl,aips-bus", "simple-bus";
302 #address-cells = <1>;
303 #size-cells = <1>;
304 reg = <0x53f00000 0x100000>;
305 ranges;
306
307 clks: ccm@53f80000 {
308 compatible = "fsl,imx25-ccm";
309 reg = <0x53f80000 0x4000>;
310 interrupts = <31>;
311 #clock-cells = <1>;
312 };
313
314 gpt4: timer@53f84000 {
315 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
316 reg = <0x53f84000 0x4000>;
Denis Carikli5363dca2014-06-25 14:41:35 +0200317 clocks = <&clks 95>, <&clks 47>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200318 clock-names = "ipg", "per";
319 interrupts = <1>;
320 };
321
322 gpt3: timer@53f88000 {
323 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
324 reg = <0x53f88000 0x4000>;
Denis Carikli5363dca2014-06-25 14:41:35 +0200325 clocks = <&clks 94>, <&clks 47>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200326 clock-names = "ipg", "per";
327 interrupts = <29>;
328 };
329
330 gpt2: timer@53f8c000 {
331 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
332 reg = <0x53f8c000 0x4000>;
Denis Carikli5363dca2014-06-25 14:41:35 +0200333 clocks = <&clks 93>, <&clks 47>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200334 clock-names = "ipg", "per";
335 interrupts = <53>;
336 };
337
338 gpt1: timer@53f90000 {
339 compatible = "fsl,imx25-gpt", "fsl,imx31-gpt";
340 reg = <0x53f90000 0x4000>;
Denis Carikli5363dca2014-06-25 14:41:35 +0200341 clocks = <&clks 92>, <&clks 47>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200342 clock-names = "ipg", "per";
343 interrupts = <54>;
344 };
345
346 epit1: timer@53f94000 {
347 compatible = "fsl,imx25-epit";
348 reg = <0x53f94000 0x4000>;
349 interrupts = <28>;
350 };
351
352 epit2: timer@53f98000 {
353 compatible = "fsl,imx25-epit";
354 reg = <0x53f98000 0x4000>;
355 interrupts = <27>;
356 };
357
358 gpio4: gpio@53f9c000 {
359 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
360 reg = <0x53f9c000 0x4000>;
361 interrupts = <23>;
362 gpio-controller;
363 #gpio-cells = <2>;
364 interrupt-controller;
365 #interrupt-cells = <2>;
366 };
367
368 pwm2: pwm@53fa0000 {
369 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
370 #pwm-cells = <2>;
371 reg = <0x53fa0000 0x4000>;
372 clocks = <&clks 106>, <&clks 36>;
373 clock-names = "ipg", "per";
374 interrupts = <36>;
375 };
376
377 gpio3: gpio@53fa4000 {
378 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
379 reg = <0x53fa4000 0x4000>;
380 interrupts = <16>;
381 gpio-controller;
382 #gpio-cells = <2>;
383 interrupt-controller;
384 #interrupt-cells = <2>;
385 };
386
387 pwm3: pwm@53fa8000 {
388 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
389 #pwm-cells = <2>;
390 reg = <0x53fa8000 0x4000>;
391 clocks = <&clks 107>, <&clks 36>;
392 clock-names = "ipg", "per";
393 interrupts = <41>;
394 };
395
396 esdhc1: esdhc@53fb4000 {
397 compatible = "fsl,imx25-esdhc";
398 reg = <0x53fb4000 0x4000>;
399 interrupts = <9>;
400 clocks = <&clks 86>, <&clks 63>, <&clks 45>;
401 clock-names = "ipg", "ahb", "per";
402 status = "disabled";
403 };
404
405 esdhc2: esdhc@53fb8000 {
406 compatible = "fsl,imx25-esdhc";
407 reg = <0x53fb8000 0x4000>;
408 interrupts = <8>;
409 clocks = <&clks 87>, <&clks 64>, <&clks 46>;
410 clock-names = "ipg", "ahb", "per";
411 status = "disabled";
412 };
413
Matthias Weisserc770f7c2013-07-12 09:34:54 +0200414 lcdc: lcdc@53fbc000 {
415 compatible = "fsl,imx25-fb", "fsl,imx21-fb";
Sascha Hauer5658a682012-09-20 15:04:33 +0200416 reg = <0x53fbc000 0x4000>;
417 interrupts = <39>;
418 clocks = <&clks 103>, <&clks 66>, <&clks 49>;
419 clock-names = "ipg", "ahb", "per";
420 status = "disabled";
421 };
422
423 slcdc@53fc0000 {
424 reg = <0x53fc0000 0x4000>;
425 interrupts = <38>;
426 status = "disabled";
427 };
428
429 pwm4: pwm@53fc8000 {
430 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
431 reg = <0x53fc8000 0x4000>;
432 clocks = <&clks 108>, <&clks 36>;
433 clock-names = "ipg", "per";
434 interrupts = <42>;
435 };
436
437 gpio1: gpio@53fcc000 {
438 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
439 reg = <0x53fcc000 0x4000>;
440 interrupts = <52>;
441 gpio-controller;
442 #gpio-cells = <2>;
443 interrupt-controller;
444 #interrupt-cells = <2>;
445 };
446
447 gpio2: gpio@53fd0000 {
448 compatible = "fsl,imx25-gpio", "fsl,imx35-gpio";
449 reg = <0x53fd0000 0x4000>;
450 interrupts = <51>;
451 gpio-controller;
452 #gpio-cells = <2>;
453 interrupt-controller;
454 #interrupt-cells = <2>;
455 };
456
Denis Carikli7803c622013-10-23 10:29:32 +0200457 sdma: sdma@53fd4000 {
Markus Pargmann0f429052014-08-07 21:52:38 +0200458 compatible = "fsl,imx25-sdma";
Sascha Hauer5658a682012-09-20 15:04:33 +0200459 reg = <0x53fd4000 0x4000>;
460 clocks = <&clks 112>, <&clks 68>;
461 clock-names = "ipg", "ahb";
Huang Shijiefb72bb22013-07-02 10:15:29 +0800462 #dma-cells = <3>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200463 interrupts = <34>;
Denis Cariklicabd1b22013-10-23 10:29:33 +0200464 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx25.bin";
Sascha Hauer5658a682012-09-20 15:04:33 +0200465 };
466
467 wdog@53fdc000 {
468 compatible = "fsl,imx25-wdt", "fsl,imx21-wdt";
469 reg = <0x53fdc000 0x4000>;
470 clocks = <&clks 126>;
471 clock-names = "";
472 interrupts = <55>;
473 };
474
475 pwm1: pwm@53fe0000 {
476 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
477 #pwm-cells = <2>;
478 reg = <0x53fe0000 0x4000>;
479 clocks = <&clks 105>, <&clks 36>;
480 clock-names = "ipg", "per";
481 interrupts = <26>;
482 };
483
Sascha Hauer684f6a22013-06-25 15:51:50 +0200484 iim: iim@53ff0000 {
485 compatible = "fsl,imx25-iim", "fsl,imx27-iim";
486 reg = <0x53ff0000 0x4000>;
487 interrupts = <19>;
488 clocks = <&clks 99>;
489 };
490
Sascha Hauer5658a682012-09-20 15:04:33 +0200491 usbotg: usb@53ff4000 {
492 compatible = "fsl,imx25-usb", "fsl,imx27-usb";
493 reg = <0x53ff4000 0x0200>;
494 interrupts = <37>;
Fabio Estevam3937f662014-03-13 10:18:39 +0100495 clocks = <&clks 70>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200496 fsl,usbmisc = <&usbmisc 0>;
Fabio Estevamf4151532014-03-13 10:18:42 +0100497 fsl,usbphy = <&usbphy0>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200498 status = "disabled";
499 };
500
501 usbhost1: usb@53ff4400 {
502 compatible = "fsl,imx25-usb", "fsl,imx27-usb";
503 reg = <0x53ff4400 0x0200>;
504 interrupts = <35>;
Fabio Estevam3937f662014-03-13 10:18:39 +0100505 clocks = <&clks 70>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200506 fsl,usbmisc = <&usbmisc 1>;
Fabio Estevamf4151532014-03-13 10:18:42 +0100507 fsl,usbphy = <&usbphy1>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200508 status = "disabled";
509 };
510
511 usbmisc: usbmisc@53ff4600 {
512 #index-cells = <1>;
513 compatible = "fsl,imx25-usbmisc";
514 clocks = <&clks 9>, <&clks 70>, <&clks 8>;
515 clock-names = "ipg", "ahb", "per";
516 reg = <0x53ff4600 0x00f>;
Sascha Hauer5658a682012-09-20 15:04:33 +0200517 };
518
519 dryice@53ffc000 {
520 compatible = "fsl,imx25-dryice", "fsl,imx25-rtc";
521 reg = <0x53ffc000 0x4000>;
522 clocks = <&clks 81>;
523 clock-names = "ipg";
524 interrupts = <25>;
525 };
526 };
527
Sascha Hauer41707312014-05-09 08:11:16 +0200528 iram: sram@78000000 {
529 compatible = "mmio-sram";
530 reg = <0x78000000 0x20000>;
531 };
532
Sascha Hauer5658a682012-09-20 15:04:33 +0200533 emi@80000000 {
534 compatible = "fsl,emi-bus", "simple-bus";
535 #address-cells = <1>;
536 #size-cells = <1>;
537 reg = <0x80000000 0x3b002000>;
538 ranges;
539
Shawn Guobe4ccfc2012-12-31 11:32:48 +0800540 nfc: nand@bb000000 {
Sascha Hauer5658a682012-09-20 15:04:33 +0200541 #address-cells = <1>;
542 #size-cells = <1>;
543
544 compatible = "fsl,imx25-nand";
545 reg = <0xbb000000 0x2000>;
546 clocks = <&clks 50>;
547 clock-names = "";
548 interrupts = <33>;
549 status = "disabled";
550 };
551 };
552 };
Fabio Estevamf4151532014-03-13 10:18:42 +0100553
554 usbphy {
555 compatible = "simple-bus";
556 #address-cells = <1>;
557 #size-cells = <0>;
558
559 usbphy0: usb-phy@0 {
560 reg = <0>;
561 compatible = "usb-nop-xceiv";
562 };
563
564 usbphy1: usb-phy@1 {
565 reg = <1>;
566 compatible = "usb-nop-xceiv";
567 };
568 };
Sascha Hauer5658a682012-09-20 15:04:33 +0200569};