Loading...
1/*
2 * Copyright 2011 Freescale Semiconductor, Inc.
3 * Copyright 2011 Linaro Ltd.
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13#include "imx53-pinfunc.h"
14#include <dt-bindings/clock/imx5-clock.h>
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/input/input.h>
17#include <dt-bindings/interrupt-controller/irq.h>
18
19/ {
20 #address-cells = <1>;
21 #size-cells = <1>;
22 /*
23 * The decompressor and also some bootloaders rely on a
24 * pre-existing /chosen node to be available to insert the
25 * command line and merge other ATAGS info.
26 * Also for U-Boot there must be a pre-existing /memory node.
27 */
28 chosen {};
29 memory { device_type = "memory"; };
30
31 aliases {
32 ethernet0 = &fec;
33 gpio0 = &gpio1;
34 gpio1 = &gpio2;
35 gpio2 = &gpio3;
36 gpio3 = &gpio4;
37 gpio4 = &gpio5;
38 gpio5 = &gpio6;
39 gpio6 = &gpio7;
40 i2c0 = &i2c1;
41 i2c1 = &i2c2;
42 i2c2 = &i2c3;
43 mmc0 = &esdhc1;
44 mmc1 = &esdhc2;
45 mmc2 = &esdhc3;
46 mmc3 = &esdhc4;
47 serial0 = &uart1;
48 serial1 = &uart2;
49 serial2 = &uart3;
50 serial3 = &uart4;
51 serial4 = &uart5;
52 spi0 = &ecspi1;
53 spi1 = &ecspi2;
54 spi2 = &cspi;
55 };
56
57 cpus {
58 #address-cells = <1>;
59 #size-cells = <0>;
60 cpu0: cpu@0 {
61 device_type = "cpu";
62 compatible = "arm,cortex-a8";
63 reg = <0x0>;
64 clocks = <&clks IMX5_CLK_ARM>;
65 clock-latency = <61036>;
66 voltage-tolerance = <5>;
67 operating-points = <
68 /* kHz */
69 166666 850000
70 400000 900000
71 800000 1050000
72 1000000 1200000
73 1200000 1300000
74 >;
75 };
76 };
77
78 display-subsystem {
79 compatible = "fsl,imx-display-subsystem";
80 ports = <&ipu_di0>, <&ipu_di1>;
81 };
82
83 tzic: tz-interrupt-controller@fffc000 {
84 compatible = "fsl,imx53-tzic", "fsl,tzic";
85 interrupt-controller;
86 #interrupt-cells = <1>;
87 reg = <0x0fffc000 0x4000>;
88 };
89
90 clocks {
91 #address-cells = <1>;
92 #size-cells = <0>;
93
94 ckil {
95 compatible = "fsl,imx-ckil", "fixed-clock";
96 #clock-cells = <0>;
97 clock-frequency = <32768>;
98 };
99
100 ckih1 {
101 compatible = "fsl,imx-ckih1", "fixed-clock";
102 #clock-cells = <0>;
103 clock-frequency = <22579200>;
104 };
105
106 ckih2 {
107 compatible = "fsl,imx-ckih2", "fixed-clock";
108 #clock-cells = <0>;
109 clock-frequency = <0>;
110 };
111
112 osc {
113 compatible = "fsl,imx-osc", "fixed-clock";
114 #clock-cells = <0>;
115 clock-frequency = <24000000>;
116 };
117 };
118
119 pmu {
120 compatible = "arm,cortex-a8-pmu";
121 interrupt-parent = <&tzic>;
122 interrupts = <77>;
123 };
124
125 usbphy0: usbphy-0 {
126 compatible = "usb-nop-xceiv";
127 clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
128 clock-names = "main_clk";
129 #phy-cells = <0>;
130 status = "okay";
131 };
132
133 usbphy1: usbphy-1 {
134 compatible = "usb-nop-xceiv";
135 clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
136 clock-names = "main_clk";
137 #phy-cells = <0>;
138 status = "okay";
139 };
140
141 soc {
142 #address-cells = <1>;
143 #size-cells = <1>;
144 compatible = "simple-bus";
145 interrupt-parent = <&tzic>;
146 ranges;
147
148 sata: sata@10000000 {
149 compatible = "fsl,imx53-ahci";
150 reg = <0x10000000 0x1000>;
151 interrupts = <28>;
152 clocks = <&clks IMX5_CLK_SATA_GATE>,
153 <&clks IMX5_CLK_SATA_REF>,
154 <&clks IMX5_CLK_AHB>;
155 clock-names = "sata", "sata_ref", "ahb";
156 status = "disabled";
157 };
158
159 ipu: ipu@18000000 {
160 #address-cells = <1>;
161 #size-cells = <0>;
162 compatible = "fsl,imx53-ipu";
163 reg = <0x18000000 0x08000000>;
164 interrupts = <11 10>;
165 clocks = <&clks IMX5_CLK_IPU_GATE>,
166 <&clks IMX5_CLK_IPU_DI0_GATE>,
167 <&clks IMX5_CLK_IPU_DI1_GATE>;
168 clock-names = "bus", "di0", "di1";
169 resets = <&src 2>;
170
171 ipu_csi0: port@0 {
172 reg = <0>;
173 };
174
175 ipu_csi1: port@1 {
176 reg = <1>;
177 };
178
179 ipu_di0: port@2 {
180 #address-cells = <1>;
181 #size-cells = <0>;
182 reg = <2>;
183
184 ipu_di0_disp0: endpoint@0 {
185 reg = <0>;
186 };
187
188 ipu_di0_lvds0: endpoint@1 {
189 reg = <1>;
190 remote-endpoint = <&lvds0_in>;
191 };
192 };
193
194 ipu_di1: port@3 {
195 #address-cells = <1>;
196 #size-cells = <0>;
197 reg = <3>;
198
199 ipu_di1_disp1: endpoint@0 {
200 reg = <0>;
201 };
202
203 ipu_di1_lvds1: endpoint@1 {
204 reg = <1>;
205 remote-endpoint = <&lvds1_in>;
206 };
207
208 ipu_di1_tve: endpoint@2 {
209 reg = <2>;
210 remote-endpoint = <&tve_in>;
211 };
212 };
213 };
214
215 aips@50000000 { /* AIPS1 */
216 compatible = "fsl,aips-bus", "simple-bus";
217 #address-cells = <1>;
218 #size-cells = <1>;
219 reg = <0x50000000 0x10000000>;
220 ranges;
221
222 spba@50000000 {
223 compatible = "fsl,spba-bus", "simple-bus";
224 #address-cells = <1>;
225 #size-cells = <1>;
226 reg = <0x50000000 0x40000>;
227 ranges;
228
229 esdhc1: esdhc@50004000 {
230 compatible = "fsl,imx53-esdhc";
231 reg = <0x50004000 0x4000>;
232 interrupts = <1>;
233 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
234 <&clks IMX5_CLK_DUMMY>,
235 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
236 clock-names = "ipg", "ahb", "per";
237 bus-width = <4>;
238 status = "disabled";
239 };
240
241 esdhc2: esdhc@50008000 {
242 compatible = "fsl,imx53-esdhc";
243 reg = <0x50008000 0x4000>;
244 interrupts = <2>;
245 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
246 <&clks IMX5_CLK_DUMMY>,
247 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
248 clock-names = "ipg", "ahb", "per";
249 bus-width = <4>;
250 status = "disabled";
251 };
252
253 uart3: serial@5000c000 {
254 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
255 reg = <0x5000c000 0x4000>;
256 interrupts = <33>;
257 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
258 <&clks IMX5_CLK_UART3_PER_GATE>;
259 clock-names = "ipg", "per";
260 dmas = <&sdma 42 4 0>, <&sdma 43 4 0>;
261 dma-names = "rx", "tx";
262 status = "disabled";
263 };
264
265 ecspi1: ecspi@50010000 {
266 #address-cells = <1>;
267 #size-cells = <0>;
268 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
269 reg = <0x50010000 0x4000>;
270 interrupts = <36>;
271 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
272 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
273 clock-names = "ipg", "per";
274 status = "disabled";
275 };
276
277 ssi2: ssi@50014000 {
278 #sound-dai-cells = <0>;
279 compatible = "fsl,imx53-ssi",
280 "fsl,imx51-ssi",
281 "fsl,imx21-ssi";
282 reg = <0x50014000 0x4000>;
283 interrupts = <30>;
284 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
285 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
286 clock-names = "ipg", "baud";
287 dmas = <&sdma 24 1 0>,
288 <&sdma 25 1 0>;
289 dma-names = "rx", "tx";
290 fsl,fifo-depth = <15>;
291 status = "disabled";
292 };
293
294 esdhc3: esdhc@50020000 {
295 compatible = "fsl,imx53-esdhc";
296 reg = <0x50020000 0x4000>;
297 interrupts = <3>;
298 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
299 <&clks IMX5_CLK_DUMMY>,
300 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
301 clock-names = "ipg", "ahb", "per";
302 bus-width = <4>;
303 status = "disabled";
304 };
305
306 esdhc4: esdhc@50024000 {
307 compatible = "fsl,imx53-esdhc";
308 reg = <0x50024000 0x4000>;
309 interrupts = <4>;
310 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
311 <&clks IMX5_CLK_DUMMY>,
312 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
313 clock-names = "ipg", "ahb", "per";
314 bus-width = <4>;
315 status = "disabled";
316 };
317 };
318
319 aipstz1: bridge@53f00000 {
320 compatible = "fsl,imx53-aipstz";
321 reg = <0x53f00000 0x60>;
322 };
323
324 usbotg: usb@53f80000 {
325 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
326 reg = <0x53f80000 0x0200>;
327 interrupts = <18>;
328 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
329 fsl,usbmisc = <&usbmisc 0>;
330 fsl,usbphy = <&usbphy0>;
331 status = "disabled";
332 };
333
334 usbh1: usb@53f80200 {
335 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
336 reg = <0x53f80200 0x0200>;
337 interrupts = <14>;
338 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
339 fsl,usbmisc = <&usbmisc 1>;
340 fsl,usbphy = <&usbphy1>;
341 dr_mode = "host";
342 status = "disabled";
343 };
344
345 usbh2: usb@53f80400 {
346 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
347 reg = <0x53f80400 0x0200>;
348 interrupts = <16>;
349 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
350 fsl,usbmisc = <&usbmisc 2>;
351 dr_mode = "host";
352 status = "disabled";
353 };
354
355 usbh3: usb@53f80600 {
356 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
357 reg = <0x53f80600 0x0200>;
358 interrupts = <17>;
359 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
360 fsl,usbmisc = <&usbmisc 3>;
361 dr_mode = "host";
362 status = "disabled";
363 };
364
365 usbmisc: usbmisc@53f80800 {
366 #index-cells = <1>;
367 compatible = "fsl,imx53-usbmisc";
368 reg = <0x53f80800 0x200>;
369 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
370 };
371
372 gpio1: gpio@53f84000 {
373 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
374 reg = <0x53f84000 0x4000>;
375 interrupts = <50 51>;
376 gpio-controller;
377 #gpio-cells = <2>;
378 interrupt-controller;
379 #interrupt-cells = <2>;
380 };
381
382 gpio2: gpio@53f88000 {
383 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
384 reg = <0x53f88000 0x4000>;
385 interrupts = <52 53>;
386 gpio-controller;
387 #gpio-cells = <2>;
388 interrupt-controller;
389 #interrupt-cells = <2>;
390 };
391
392 gpio3: gpio@53f8c000 {
393 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
394 reg = <0x53f8c000 0x4000>;
395 interrupts = <54 55>;
396 gpio-controller;
397 #gpio-cells = <2>;
398 interrupt-controller;
399 #interrupt-cells = <2>;
400 };
401
402 gpio4: gpio@53f90000 {
403 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
404 reg = <0x53f90000 0x4000>;
405 interrupts = <56 57>;
406 gpio-controller;
407 #gpio-cells = <2>;
408 interrupt-controller;
409 #interrupt-cells = <2>;
410 };
411
412 kpp: kpp@53f94000 {
413 compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
414 reg = <0x53f94000 0x4000>;
415 interrupts = <60>;
416 clocks = <&clks IMX5_CLK_DUMMY>;
417 status = "disabled";
418 };
419
420 wdog1: wdog@53f98000 {
421 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
422 reg = <0x53f98000 0x4000>;
423 interrupts = <58>;
424 clocks = <&clks IMX5_CLK_DUMMY>;
425 };
426
427 wdog2: wdog@53f9c000 {
428 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
429 reg = <0x53f9c000 0x4000>;
430 interrupts = <59>;
431 clocks = <&clks IMX5_CLK_DUMMY>;
432 status = "disabled";
433 };
434
435 gpt: timer@53fa0000 {
436 compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
437 reg = <0x53fa0000 0x4000>;
438 interrupts = <39>;
439 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
440 <&clks IMX5_CLK_GPT_HF_GATE>;
441 clock-names = "ipg", "per";
442 };
443
444 srtc: rtc@53fa4000 {
445 compatible = "fsl,imx53-rtc";
446 reg = <0x53fa4000 0x4000>;
447 interrupts = <24>;
448 clocks = <&clks IMX5_CLK_SRTC_GATE>;
449 };
450
451 iomuxc: iomuxc@53fa8000 {
452 compatible = "fsl,imx53-iomuxc";
453 reg = <0x53fa8000 0x4000>;
454 };
455
456 gpr: iomuxc-gpr@53fa8000 {
457 compatible = "fsl,imx53-iomuxc-gpr", "syscon";
458 reg = <0x53fa8000 0xc>;
459 };
460
461 ldb: ldb@53fa8008 {
462 #address-cells = <1>;
463 #size-cells = <0>;
464 compatible = "fsl,imx53-ldb";
465 reg = <0x53fa8008 0x4>;
466 gpr = <&gpr>;
467 clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
468 <&clks IMX5_CLK_LDB_DI1_SEL>,
469 <&clks IMX5_CLK_IPU_DI0_SEL>,
470 <&clks IMX5_CLK_IPU_DI1_SEL>,
471 <&clks IMX5_CLK_LDB_DI0_GATE>,
472 <&clks IMX5_CLK_LDB_DI1_GATE>;
473 clock-names = "di0_pll", "di1_pll",
474 "di0_sel", "di1_sel",
475 "di0", "di1";
476 status = "disabled";
477
478 lvds-channel@0 {
479 #address-cells = <1>;
480 #size-cells = <0>;
481 reg = <0>;
482 status = "disabled";
483
484 port@0 {
485 reg = <0>;
486
487 lvds0_in: endpoint {
488 remote-endpoint = <&ipu_di0_lvds0>;
489 };
490 };
491 };
492
493 lvds-channel@1 {
494 #address-cells = <1>;
495 #size-cells = <0>;
496 reg = <1>;
497 status = "disabled";
498
499 port@1 {
500 reg = <1>;
501
502 lvds1_in: endpoint {
503 remote-endpoint = <&ipu_di1_lvds1>;
504 };
505 };
506 };
507 };
508
509 pwm1: pwm@53fb4000 {
510 #pwm-cells = <2>;
511 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
512 reg = <0x53fb4000 0x4000>;
513 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
514 <&clks IMX5_CLK_PWM1_HF_GATE>;
515 clock-names = "ipg", "per";
516 interrupts = <61>;
517 };
518
519 pwm2: pwm@53fb8000 {
520 #pwm-cells = <2>;
521 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
522 reg = <0x53fb8000 0x4000>;
523 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
524 <&clks IMX5_CLK_PWM2_HF_GATE>;
525 clock-names = "ipg", "per";
526 interrupts = <94>;
527 };
528
529 uart1: serial@53fbc000 {
530 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
531 reg = <0x53fbc000 0x4000>;
532 interrupts = <31>;
533 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
534 <&clks IMX5_CLK_UART1_PER_GATE>;
535 clock-names = "ipg", "per";
536 dmas = <&sdma 18 4 0>, <&sdma 19 4 0>;
537 dma-names = "rx", "tx";
538 status = "disabled";
539 };
540
541 uart2: serial@53fc0000 {
542 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
543 reg = <0x53fc0000 0x4000>;
544 interrupts = <32>;
545 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
546 <&clks IMX5_CLK_UART2_PER_GATE>;
547 clock-names = "ipg", "per";
548 dmas = <&sdma 12 4 0>, <&sdma 13 4 0>;
549 dma-names = "rx", "tx";
550 status = "disabled";
551 };
552
553 can1: can@53fc8000 {
554 compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
555 reg = <0x53fc8000 0x4000>;
556 interrupts = <82>;
557 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
558 <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
559 clock-names = "ipg", "per";
560 status = "disabled";
561 };
562
563 can2: can@53fcc000 {
564 compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
565 reg = <0x53fcc000 0x4000>;
566 interrupts = <83>;
567 clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
568 <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
569 clock-names = "ipg", "per";
570 status = "disabled";
571 };
572
573 src: src@53fd0000 {
574 compatible = "fsl,imx53-src", "fsl,imx51-src";
575 reg = <0x53fd0000 0x4000>;
576 #reset-cells = <1>;
577 };
578
579 clks: ccm@53fd4000{
580 compatible = "fsl,imx53-ccm";
581 reg = <0x53fd4000 0x4000>;
582 interrupts = <0 71 0x04 0 72 0x04>;
583 #clock-cells = <1>;
584 };
585
586 gpio5: gpio@53fdc000 {
587 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
588 reg = <0x53fdc000 0x4000>;
589 interrupts = <103 104>;
590 gpio-controller;
591 #gpio-cells = <2>;
592 interrupt-controller;
593 #interrupt-cells = <2>;
594 };
595
596 gpio6: gpio@53fe0000 {
597 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
598 reg = <0x53fe0000 0x4000>;
599 interrupts = <105 106>;
600 gpio-controller;
601 #gpio-cells = <2>;
602 interrupt-controller;
603 #interrupt-cells = <2>;
604 };
605
606 gpio7: gpio@53fe4000 {
607 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
608 reg = <0x53fe4000 0x4000>;
609 interrupts = <107 108>;
610 gpio-controller;
611 #gpio-cells = <2>;
612 interrupt-controller;
613 #interrupt-cells = <2>;
614 };
615
616 i2c3: i2c@53fec000 {
617 #address-cells = <1>;
618 #size-cells = <0>;
619 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
620 reg = <0x53fec000 0x4000>;
621 interrupts = <64>;
622 clocks = <&clks IMX5_CLK_I2C3_GATE>;
623 status = "disabled";
624 };
625
626 uart4: serial@53ff0000 {
627 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
628 reg = <0x53ff0000 0x4000>;
629 interrupts = <13>;
630 clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
631 <&clks IMX5_CLK_UART4_PER_GATE>;
632 clock-names = "ipg", "per";
633 dmas = <&sdma 2 4 0>, <&sdma 3 4 0>;
634 dma-names = "rx", "tx";
635 status = "disabled";
636 };
637 };
638
639 aips@60000000 { /* AIPS2 */
640 compatible = "fsl,aips-bus", "simple-bus";
641 #address-cells = <1>;
642 #size-cells = <1>;
643 reg = <0x60000000 0x10000000>;
644 ranges;
645
646 aipstz2: bridge@63f00000 {
647 compatible = "fsl,imx53-aipstz";
648 reg = <0x63f00000 0x60>;
649 };
650
651 iim: iim@63f98000 {
652 compatible = "fsl,imx53-iim", "fsl,imx27-iim";
653 reg = <0x63f98000 0x4000>;
654 interrupts = <69>;
655 clocks = <&clks IMX5_CLK_IIM_GATE>;
656 };
657
658 uart5: serial@63f90000 {
659 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
660 reg = <0x63f90000 0x4000>;
661 interrupts = <86>;
662 clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
663 <&clks IMX5_CLK_UART5_PER_GATE>;
664 clock-names = "ipg", "per";
665 dmas = <&sdma 16 4 0>, <&sdma 17 4 0>;
666 dma-names = "rx", "tx";
667 status = "disabled";
668 };
669
670 owire: owire@63fa4000 {
671 compatible = "fsl,imx53-owire", "fsl,imx21-owire";
672 reg = <0x63fa4000 0x4000>;
673 clocks = <&clks IMX5_CLK_OWIRE_GATE>;
674 status = "disabled";
675 };
676
677 ecspi2: ecspi@63fac000 {
678 #address-cells = <1>;
679 #size-cells = <0>;
680 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
681 reg = <0x63fac000 0x4000>;
682 interrupts = <37>;
683 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
684 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
685 clock-names = "ipg", "per";
686 status = "disabled";
687 };
688
689 sdma: sdma@63fb0000 {
690 compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
691 reg = <0x63fb0000 0x4000>;
692 interrupts = <6>;
693 clocks = <&clks IMX5_CLK_SDMA_GATE>,
694 <&clks IMX5_CLK_SDMA_GATE>;
695 clock-names = "ipg", "ahb";
696 #dma-cells = <3>;
697 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
698 };
699
700 cspi: cspi@63fc0000 {
701 #address-cells = <1>;
702 #size-cells = <0>;
703 compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
704 reg = <0x63fc0000 0x4000>;
705 interrupts = <38>;
706 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
707 <&clks IMX5_CLK_CSPI_IPG_GATE>;
708 clock-names = "ipg", "per";
709 status = "disabled";
710 };
711
712 i2c2: i2c@63fc4000 {
713 #address-cells = <1>;
714 #size-cells = <0>;
715 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
716 reg = <0x63fc4000 0x4000>;
717 interrupts = <63>;
718 clocks = <&clks IMX5_CLK_I2C2_GATE>;
719 status = "disabled";
720 };
721
722 i2c1: i2c@63fc8000 {
723 #address-cells = <1>;
724 #size-cells = <0>;
725 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
726 reg = <0x63fc8000 0x4000>;
727 interrupts = <62>;
728 clocks = <&clks IMX5_CLK_I2C1_GATE>;
729 status = "disabled";
730 };
731
732 ssi1: ssi@63fcc000 {
733 #sound-dai-cells = <0>;
734 compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
735 "fsl,imx21-ssi";
736 reg = <0x63fcc000 0x4000>;
737 interrupts = <29>;
738 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
739 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
740 clock-names = "ipg", "baud";
741 dmas = <&sdma 28 0 0>,
742 <&sdma 29 0 0>;
743 dma-names = "rx", "tx";
744 fsl,fifo-depth = <15>;
745 status = "disabled";
746 };
747
748 audmux: audmux@63fd0000 {
749 compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
750 reg = <0x63fd0000 0x4000>;
751 status = "disabled";
752 };
753
754 nfc: nand@63fdb000 {
755 compatible = "fsl,imx53-nand";
756 reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
757 interrupts = <8>;
758 clocks = <&clks IMX5_CLK_NFC_GATE>;
759 status = "disabled";
760 };
761
762 ssi3: ssi@63fe8000 {
763 #sound-dai-cells = <0>;
764 compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
765 "fsl,imx21-ssi";
766 reg = <0x63fe8000 0x4000>;
767 interrupts = <96>;
768 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
769 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
770 clock-names = "ipg", "baud";
771 dmas = <&sdma 46 0 0>,
772 <&sdma 47 0 0>;
773 dma-names = "rx", "tx";
774 fsl,fifo-depth = <15>;
775 status = "disabled";
776 };
777
778 fec: ethernet@63fec000 {
779 compatible = "fsl,imx53-fec", "fsl,imx25-fec";
780 reg = <0x63fec000 0x4000>;
781 interrupts = <87>;
782 clocks = <&clks IMX5_CLK_FEC_GATE>,
783 <&clks IMX5_CLK_FEC_GATE>,
784 <&clks IMX5_CLK_FEC_GATE>;
785 clock-names = "ipg", "ahb", "ptp";
786 status = "disabled";
787 };
788
789 tve: tve@63ff0000 {
790 compatible = "fsl,imx53-tve";
791 reg = <0x63ff0000 0x1000>;
792 interrupts = <92>;
793 clocks = <&clks IMX5_CLK_TVE_GATE>,
794 <&clks IMX5_CLK_IPU_DI1_SEL>;
795 clock-names = "tve", "di_sel";
796 status = "disabled";
797
798 port {
799 tve_in: endpoint {
800 remote-endpoint = <&ipu_di1_tve>;
801 };
802 };
803 };
804
805 vpu: vpu@63ff4000 {
806 compatible = "fsl,imx53-vpu", "cnm,coda7541";
807 reg = <0x63ff4000 0x1000>;
808 interrupts = <9>;
809 clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
810 <&clks IMX5_CLK_VPU_GATE>;
811 clock-names = "per", "ahb";
812 resets = <&src 1>;
813 iram = <&ocram>;
814 };
815
816 sahara: crypto@63ff8000 {
817 compatible = "fsl,imx53-sahara";
818 reg = <0x63ff8000 0x4000>;
819 interrupts = <19 20>;
820 clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
821 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
822 clock-names = "ipg", "ahb";
823 };
824 };
825
826 ocram: sram@f8000000 {
827 compatible = "mmio-sram";
828 reg = <0xf8000000 0x20000>;
829 clocks = <&clks IMX5_CLK_OCRAM>;
830 };
831 };
832};
1/*
2 * Copyright 2011 Freescale Semiconductor, Inc.
3 * Copyright 2011 Linaro Ltd.
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13#include "imx53-pinfunc.h"
14#include <dt-bindings/clock/imx5-clock.h>
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/input/input.h>
17#include <dt-bindings/interrupt-controller/irq.h>
18
19/ {
20 #address-cells = <1>;
21 #size-cells = <1>;
22 /*
23 * The decompressor and also some bootloaders rely on a
24 * pre-existing /chosen node to be available to insert the
25 * command line and merge other ATAGS info.
26 * Also for U-Boot there must be a pre-existing /memory node.
27 */
28 chosen {};
29 memory { device_type = "memory"; reg = <0 0>; };
30
31 aliases {
32 ethernet0 = &fec;
33 gpio0 = &gpio1;
34 gpio1 = &gpio2;
35 gpio2 = &gpio3;
36 gpio3 = &gpio4;
37 gpio4 = &gpio5;
38 gpio5 = &gpio6;
39 gpio6 = &gpio7;
40 i2c0 = &i2c1;
41 i2c1 = &i2c2;
42 i2c2 = &i2c3;
43 mmc0 = &esdhc1;
44 mmc1 = &esdhc2;
45 mmc2 = &esdhc3;
46 mmc3 = &esdhc4;
47 serial0 = &uart1;
48 serial1 = &uart2;
49 serial2 = &uart3;
50 serial3 = &uart4;
51 serial4 = &uart5;
52 spi0 = &ecspi1;
53 spi1 = &ecspi2;
54 spi2 = &cspi;
55 };
56
57 cpus {
58 #address-cells = <1>;
59 #size-cells = <0>;
60 cpu0: cpu@0 {
61 device_type = "cpu";
62 compatible = "arm,cortex-a8";
63 reg = <0x0>;
64 clocks = <&clks IMX5_CLK_ARM>;
65 clock-latency = <61036>;
66 voltage-tolerance = <5>;
67 operating-points = <
68 /* kHz */
69 166666 850000
70 400000 900000
71 800000 1050000
72 1000000 1200000
73 1200000 1300000
74 >;
75 };
76 };
77
78 display-subsystem {
79 compatible = "fsl,imx-display-subsystem";
80 ports = <&ipu_di0>, <&ipu_di1>;
81 };
82
83 tzic: tz-interrupt-controller@0fffc000 {
84 compatible = "fsl,imx53-tzic", "fsl,tzic";
85 interrupt-controller;
86 #interrupt-cells = <1>;
87 reg = <0x0fffc000 0x4000>;
88 };
89
90 clocks {
91 #address-cells = <1>;
92 #size-cells = <0>;
93
94 ckil {
95 compatible = "fsl,imx-ckil", "fixed-clock";
96 #clock-cells = <0>;
97 clock-frequency = <32768>;
98 };
99
100 ckih1 {
101 compatible = "fsl,imx-ckih1", "fixed-clock";
102 #clock-cells = <0>;
103 clock-frequency = <22579200>;
104 };
105
106 ckih2 {
107 compatible = "fsl,imx-ckih2", "fixed-clock";
108 #clock-cells = <0>;
109 clock-frequency = <0>;
110 };
111
112 osc {
113 compatible = "fsl,imx-osc", "fixed-clock";
114 #clock-cells = <0>;
115 clock-frequency = <24000000>;
116 };
117 };
118
119 soc {
120 #address-cells = <1>;
121 #size-cells = <1>;
122 compatible = "simple-bus";
123 interrupt-parent = <&tzic>;
124 ranges;
125
126 sata: sata@10000000 {
127 compatible = "fsl,imx53-ahci";
128 reg = <0x10000000 0x1000>;
129 interrupts = <28>;
130 clocks = <&clks IMX5_CLK_SATA_GATE>,
131 <&clks IMX5_CLK_SATA_REF>,
132 <&clks IMX5_CLK_AHB>;
133 clock-names = "sata", "sata_ref", "ahb";
134 status = "disabled";
135 };
136
137 ipu: ipu@18000000 {
138 #address-cells = <1>;
139 #size-cells = <0>;
140 compatible = "fsl,imx53-ipu";
141 reg = <0x18000000 0x08000000>;
142 interrupts = <11 10>;
143 clocks = <&clks IMX5_CLK_IPU_GATE>,
144 <&clks IMX5_CLK_IPU_DI0_GATE>,
145 <&clks IMX5_CLK_IPU_DI1_GATE>;
146 clock-names = "bus", "di0", "di1";
147 resets = <&src 2>;
148
149 ipu_csi0: port@0 {
150 reg = <0>;
151 };
152
153 ipu_csi1: port@1 {
154 reg = <1>;
155 };
156
157 ipu_di0: port@2 {
158 #address-cells = <1>;
159 #size-cells = <0>;
160 reg = <2>;
161
162 ipu_di0_disp0: endpoint@0 {
163 reg = <0>;
164 };
165
166 ipu_di0_lvds0: endpoint@1 {
167 reg = <1>;
168 remote-endpoint = <&lvds0_in>;
169 };
170 };
171
172 ipu_di1: port@3 {
173 #address-cells = <1>;
174 #size-cells = <0>;
175 reg = <3>;
176
177 ipu_di1_disp1: endpoint@0 {
178 reg = <0>;
179 };
180
181 ipu_di1_lvds1: endpoint@1 {
182 reg = <1>;
183 remote-endpoint = <&lvds1_in>;
184 };
185
186 ipu_di1_tve: endpoint@2 {
187 reg = <2>;
188 remote-endpoint = <&tve_in>;
189 };
190 };
191 };
192
193 aips@50000000 { /* AIPS1 */
194 compatible = "fsl,aips-bus", "simple-bus";
195 #address-cells = <1>;
196 #size-cells = <1>;
197 reg = <0x50000000 0x10000000>;
198 ranges;
199
200 spba@50000000 {
201 compatible = "fsl,spba-bus", "simple-bus";
202 #address-cells = <1>;
203 #size-cells = <1>;
204 reg = <0x50000000 0x40000>;
205 ranges;
206
207 esdhc1: esdhc@50004000 {
208 compatible = "fsl,imx53-esdhc";
209 reg = <0x50004000 0x4000>;
210 interrupts = <1>;
211 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
212 <&clks IMX5_CLK_DUMMY>,
213 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
214 clock-names = "ipg", "ahb", "per";
215 bus-width = <4>;
216 status = "disabled";
217 };
218
219 esdhc2: esdhc@50008000 {
220 compatible = "fsl,imx53-esdhc";
221 reg = <0x50008000 0x4000>;
222 interrupts = <2>;
223 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
224 <&clks IMX5_CLK_DUMMY>,
225 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
226 clock-names = "ipg", "ahb", "per";
227 bus-width = <4>;
228 status = "disabled";
229 };
230
231 uart3: serial@5000c000 {
232 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
233 reg = <0x5000c000 0x4000>;
234 interrupts = <33>;
235 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
236 <&clks IMX5_CLK_UART3_PER_GATE>;
237 clock-names = "ipg", "per";
238 dmas = <&sdma 42 4 0>, <&sdma 43 4 0>;
239 dma-names = "rx", "tx";
240 status = "disabled";
241 };
242
243 ecspi1: ecspi@50010000 {
244 #address-cells = <1>;
245 #size-cells = <0>;
246 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
247 reg = <0x50010000 0x4000>;
248 interrupts = <36>;
249 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
250 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
251 clock-names = "ipg", "per";
252 status = "disabled";
253 };
254
255 ssi2: ssi@50014000 {
256 #sound-dai-cells = <0>;
257 compatible = "fsl,imx53-ssi",
258 "fsl,imx51-ssi",
259 "fsl,imx21-ssi";
260 reg = <0x50014000 0x4000>;
261 interrupts = <30>;
262 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
263 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
264 clock-names = "ipg", "baud";
265 dmas = <&sdma 24 1 0>,
266 <&sdma 25 1 0>;
267 dma-names = "rx", "tx";
268 fsl,fifo-depth = <15>;
269 status = "disabled";
270 };
271
272 esdhc3: esdhc@50020000 {
273 compatible = "fsl,imx53-esdhc";
274 reg = <0x50020000 0x4000>;
275 interrupts = <3>;
276 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
277 <&clks IMX5_CLK_DUMMY>,
278 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
279 clock-names = "ipg", "ahb", "per";
280 bus-width = <4>;
281 status = "disabled";
282 };
283
284 esdhc4: esdhc@50024000 {
285 compatible = "fsl,imx53-esdhc";
286 reg = <0x50024000 0x4000>;
287 interrupts = <4>;
288 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
289 <&clks IMX5_CLK_DUMMY>,
290 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
291 clock-names = "ipg", "ahb", "per";
292 bus-width = <4>;
293 status = "disabled";
294 };
295 };
296
297 aipstz1: bridge@53f00000 {
298 compatible = "fsl,imx53-aipstz";
299 reg = <0x53f00000 0x60>;
300 };
301
302 usbphy0: usbphy@0 {
303 compatible = "usb-nop-xceiv";
304 clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
305 clock-names = "main_clk";
306 status = "okay";
307 };
308
309 usbphy1: usbphy@1 {
310 compatible = "usb-nop-xceiv";
311 clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
312 clock-names = "main_clk";
313 status = "okay";
314 };
315
316 usbotg: usb@53f80000 {
317 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
318 reg = <0x53f80000 0x0200>;
319 interrupts = <18>;
320 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
321 fsl,usbmisc = <&usbmisc 0>;
322 fsl,usbphy = <&usbphy0>;
323 status = "disabled";
324 };
325
326 usbh1: usb@53f80200 {
327 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
328 reg = <0x53f80200 0x0200>;
329 interrupts = <14>;
330 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
331 fsl,usbmisc = <&usbmisc 1>;
332 fsl,usbphy = <&usbphy1>;
333 dr_mode = "host";
334 status = "disabled";
335 };
336
337 usbh2: usb@53f80400 {
338 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
339 reg = <0x53f80400 0x0200>;
340 interrupts = <16>;
341 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
342 fsl,usbmisc = <&usbmisc 2>;
343 dr_mode = "host";
344 status = "disabled";
345 };
346
347 usbh3: usb@53f80600 {
348 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
349 reg = <0x53f80600 0x0200>;
350 interrupts = <17>;
351 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
352 fsl,usbmisc = <&usbmisc 3>;
353 dr_mode = "host";
354 status = "disabled";
355 };
356
357 usbmisc: usbmisc@53f80800 {
358 #index-cells = <1>;
359 compatible = "fsl,imx53-usbmisc";
360 reg = <0x53f80800 0x200>;
361 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
362 };
363
364 gpio1: gpio@53f84000 {
365 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
366 reg = <0x53f84000 0x4000>;
367 interrupts = <50 51>;
368 gpio-controller;
369 #gpio-cells = <2>;
370 interrupt-controller;
371 #interrupt-cells = <2>;
372 };
373
374 gpio2: gpio@53f88000 {
375 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
376 reg = <0x53f88000 0x4000>;
377 interrupts = <52 53>;
378 gpio-controller;
379 #gpio-cells = <2>;
380 interrupt-controller;
381 #interrupt-cells = <2>;
382 };
383
384 gpio3: gpio@53f8c000 {
385 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
386 reg = <0x53f8c000 0x4000>;
387 interrupts = <54 55>;
388 gpio-controller;
389 #gpio-cells = <2>;
390 interrupt-controller;
391 #interrupt-cells = <2>;
392 };
393
394 gpio4: gpio@53f90000 {
395 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
396 reg = <0x53f90000 0x4000>;
397 interrupts = <56 57>;
398 gpio-controller;
399 #gpio-cells = <2>;
400 interrupt-controller;
401 #interrupt-cells = <2>;
402 };
403
404 kpp: kpp@53f94000 {
405 compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
406 reg = <0x53f94000 0x4000>;
407 interrupts = <60>;
408 clocks = <&clks IMX5_CLK_DUMMY>;
409 status = "disabled";
410 };
411
412 wdog1: wdog@53f98000 {
413 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
414 reg = <0x53f98000 0x4000>;
415 interrupts = <58>;
416 clocks = <&clks IMX5_CLK_DUMMY>;
417 };
418
419 wdog2: wdog@53f9c000 {
420 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
421 reg = <0x53f9c000 0x4000>;
422 interrupts = <59>;
423 clocks = <&clks IMX5_CLK_DUMMY>;
424 status = "disabled";
425 };
426
427 gpt: timer@53fa0000 {
428 compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
429 reg = <0x53fa0000 0x4000>;
430 interrupts = <39>;
431 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
432 <&clks IMX5_CLK_GPT_HF_GATE>;
433 clock-names = "ipg", "per";
434 };
435
436 iomuxc: iomuxc@53fa8000 {
437 compatible = "fsl,imx53-iomuxc";
438 reg = <0x53fa8000 0x4000>;
439 };
440
441 gpr: iomuxc-gpr@53fa8000 {
442 compatible = "fsl,imx53-iomuxc-gpr", "syscon";
443 reg = <0x53fa8000 0xc>;
444 };
445
446 ldb: ldb@53fa8008 {
447 #address-cells = <1>;
448 #size-cells = <0>;
449 compatible = "fsl,imx53-ldb";
450 reg = <0x53fa8008 0x4>;
451 gpr = <&gpr>;
452 clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
453 <&clks IMX5_CLK_LDB_DI1_SEL>,
454 <&clks IMX5_CLK_IPU_DI0_SEL>,
455 <&clks IMX5_CLK_IPU_DI1_SEL>,
456 <&clks IMX5_CLK_LDB_DI0_GATE>,
457 <&clks IMX5_CLK_LDB_DI1_GATE>;
458 clock-names = "di0_pll", "di1_pll",
459 "di0_sel", "di1_sel",
460 "di0", "di1";
461 status = "disabled";
462
463 lvds-channel@0 {
464 #address-cells = <1>;
465 #size-cells = <0>;
466 reg = <0>;
467 status = "disabled";
468
469 port@0 {
470 reg = <0>;
471
472 lvds0_in: endpoint {
473 remote-endpoint = <&ipu_di0_lvds0>;
474 };
475 };
476 };
477
478 lvds-channel@1 {
479 #address-cells = <1>;
480 #size-cells = <0>;
481 reg = <1>;
482 status = "disabled";
483
484 port@1 {
485 reg = <1>;
486
487 lvds1_in: endpoint {
488 remote-endpoint = <&ipu_di1_lvds1>;
489 };
490 };
491 };
492 };
493
494 pwm1: pwm@53fb4000 {
495 #pwm-cells = <2>;
496 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
497 reg = <0x53fb4000 0x4000>;
498 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
499 <&clks IMX5_CLK_PWM1_HF_GATE>;
500 clock-names = "ipg", "per";
501 interrupts = <61>;
502 };
503
504 pwm2: pwm@53fb8000 {
505 #pwm-cells = <2>;
506 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
507 reg = <0x53fb8000 0x4000>;
508 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
509 <&clks IMX5_CLK_PWM2_HF_GATE>;
510 clock-names = "ipg", "per";
511 interrupts = <94>;
512 };
513
514 uart1: serial@53fbc000 {
515 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
516 reg = <0x53fbc000 0x4000>;
517 interrupts = <31>;
518 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
519 <&clks IMX5_CLK_UART1_PER_GATE>;
520 clock-names = "ipg", "per";
521 dmas = <&sdma 18 4 0>, <&sdma 19 4 0>;
522 dma-names = "rx", "tx";
523 status = "disabled";
524 };
525
526 uart2: serial@53fc0000 {
527 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
528 reg = <0x53fc0000 0x4000>;
529 interrupts = <32>;
530 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
531 <&clks IMX5_CLK_UART2_PER_GATE>;
532 clock-names = "ipg", "per";
533 dmas = <&sdma 12 4 0>, <&sdma 13 4 0>;
534 dma-names = "rx", "tx";
535 status = "disabled";
536 };
537
538 can1: can@53fc8000 {
539 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
540 reg = <0x53fc8000 0x4000>;
541 interrupts = <82>;
542 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
543 <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
544 clock-names = "ipg", "per";
545 status = "disabled";
546 };
547
548 can2: can@53fcc000 {
549 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
550 reg = <0x53fcc000 0x4000>;
551 interrupts = <83>;
552 clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
553 <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
554 clock-names = "ipg", "per";
555 status = "disabled";
556 };
557
558 src: src@53fd0000 {
559 compatible = "fsl,imx53-src", "fsl,imx51-src";
560 reg = <0x53fd0000 0x4000>;
561 #reset-cells = <1>;
562 };
563
564 clks: ccm@53fd4000{
565 compatible = "fsl,imx53-ccm";
566 reg = <0x53fd4000 0x4000>;
567 interrupts = <0 71 0x04 0 72 0x04>;
568 #clock-cells = <1>;
569 };
570
571 gpio5: gpio@53fdc000 {
572 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
573 reg = <0x53fdc000 0x4000>;
574 interrupts = <103 104>;
575 gpio-controller;
576 #gpio-cells = <2>;
577 interrupt-controller;
578 #interrupt-cells = <2>;
579 };
580
581 gpio6: gpio@53fe0000 {
582 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
583 reg = <0x53fe0000 0x4000>;
584 interrupts = <105 106>;
585 gpio-controller;
586 #gpio-cells = <2>;
587 interrupt-controller;
588 #interrupt-cells = <2>;
589 };
590
591 gpio7: gpio@53fe4000 {
592 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
593 reg = <0x53fe4000 0x4000>;
594 interrupts = <107 108>;
595 gpio-controller;
596 #gpio-cells = <2>;
597 interrupt-controller;
598 #interrupt-cells = <2>;
599 };
600
601 i2c3: i2c@53fec000 {
602 #address-cells = <1>;
603 #size-cells = <0>;
604 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
605 reg = <0x53fec000 0x4000>;
606 interrupts = <64>;
607 clocks = <&clks IMX5_CLK_I2C3_GATE>;
608 status = "disabled";
609 };
610
611 uart4: serial@53ff0000 {
612 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
613 reg = <0x53ff0000 0x4000>;
614 interrupts = <13>;
615 clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
616 <&clks IMX5_CLK_UART4_PER_GATE>;
617 clock-names = "ipg", "per";
618 dmas = <&sdma 2 4 0>, <&sdma 3 4 0>;
619 dma-names = "rx", "tx";
620 status = "disabled";
621 };
622 };
623
624 aips@60000000 { /* AIPS2 */
625 compatible = "fsl,aips-bus", "simple-bus";
626 #address-cells = <1>;
627 #size-cells = <1>;
628 reg = <0x60000000 0x10000000>;
629 ranges;
630
631 aipstz2: bridge@63f00000 {
632 compatible = "fsl,imx53-aipstz";
633 reg = <0x63f00000 0x60>;
634 };
635
636 iim: iim@63f98000 {
637 compatible = "fsl,imx53-iim", "fsl,imx27-iim";
638 reg = <0x63f98000 0x4000>;
639 interrupts = <69>;
640 clocks = <&clks IMX5_CLK_IIM_GATE>;
641 };
642
643 uart5: serial@63f90000 {
644 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
645 reg = <0x63f90000 0x4000>;
646 interrupts = <86>;
647 clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
648 <&clks IMX5_CLK_UART5_PER_GATE>;
649 clock-names = "ipg", "per";
650 dmas = <&sdma 16 4 0>, <&sdma 17 4 0>;
651 dma-names = "rx", "tx";
652 status = "disabled";
653 };
654
655 owire: owire@63fa4000 {
656 compatible = "fsl,imx53-owire", "fsl,imx21-owire";
657 reg = <0x63fa4000 0x4000>;
658 clocks = <&clks IMX5_CLK_OWIRE_GATE>;
659 status = "disabled";
660 };
661
662 ecspi2: ecspi@63fac000 {
663 #address-cells = <1>;
664 #size-cells = <0>;
665 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
666 reg = <0x63fac000 0x4000>;
667 interrupts = <37>;
668 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
669 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
670 clock-names = "ipg", "per";
671 status = "disabled";
672 };
673
674 sdma: sdma@63fb0000 {
675 compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
676 reg = <0x63fb0000 0x4000>;
677 interrupts = <6>;
678 clocks = <&clks IMX5_CLK_SDMA_GATE>,
679 <&clks IMX5_CLK_SDMA_GATE>;
680 clock-names = "ipg", "ahb";
681 #dma-cells = <3>;
682 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
683 };
684
685 cspi: cspi@63fc0000 {
686 #address-cells = <1>;
687 #size-cells = <0>;
688 compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
689 reg = <0x63fc0000 0x4000>;
690 interrupts = <38>;
691 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
692 <&clks IMX5_CLK_CSPI_IPG_GATE>;
693 clock-names = "ipg", "per";
694 status = "disabled";
695 };
696
697 i2c2: i2c@63fc4000 {
698 #address-cells = <1>;
699 #size-cells = <0>;
700 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
701 reg = <0x63fc4000 0x4000>;
702 interrupts = <63>;
703 clocks = <&clks IMX5_CLK_I2C2_GATE>;
704 status = "disabled";
705 };
706
707 i2c1: i2c@63fc8000 {
708 #address-cells = <1>;
709 #size-cells = <0>;
710 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
711 reg = <0x63fc8000 0x4000>;
712 interrupts = <62>;
713 clocks = <&clks IMX5_CLK_I2C1_GATE>;
714 status = "disabled";
715 };
716
717 ssi1: ssi@63fcc000 {
718 #sound-dai-cells = <0>;
719 compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
720 "fsl,imx21-ssi";
721 reg = <0x63fcc000 0x4000>;
722 interrupts = <29>;
723 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
724 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
725 clock-names = "ipg", "baud";
726 dmas = <&sdma 28 0 0>,
727 <&sdma 29 0 0>;
728 dma-names = "rx", "tx";
729 fsl,fifo-depth = <15>;
730 status = "disabled";
731 };
732
733 audmux: audmux@63fd0000 {
734 compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
735 reg = <0x63fd0000 0x4000>;
736 status = "disabled";
737 };
738
739 nfc: nand@63fdb000 {
740 compatible = "fsl,imx53-nand";
741 reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
742 interrupts = <8>;
743 clocks = <&clks IMX5_CLK_NFC_GATE>;
744 status = "disabled";
745 };
746
747 ssi3: ssi@63fe8000 {
748 #sound-dai-cells = <0>;
749 compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
750 "fsl,imx21-ssi";
751 reg = <0x63fe8000 0x4000>;
752 interrupts = <96>;
753 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
754 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
755 clock-names = "ipg", "baud";
756 dmas = <&sdma 46 0 0>,
757 <&sdma 47 0 0>;
758 dma-names = "rx", "tx";
759 fsl,fifo-depth = <15>;
760 status = "disabled";
761 };
762
763 fec: ethernet@63fec000 {
764 compatible = "fsl,imx53-fec", "fsl,imx25-fec";
765 reg = <0x63fec000 0x4000>;
766 interrupts = <87>;
767 clocks = <&clks IMX5_CLK_FEC_GATE>,
768 <&clks IMX5_CLK_FEC_GATE>,
769 <&clks IMX5_CLK_FEC_GATE>;
770 clock-names = "ipg", "ahb", "ptp";
771 status = "disabled";
772 };
773
774 tve: tve@63ff0000 {
775 compatible = "fsl,imx53-tve";
776 reg = <0x63ff0000 0x1000>;
777 interrupts = <92>;
778 clocks = <&clks IMX5_CLK_TVE_GATE>,
779 <&clks IMX5_CLK_IPU_DI1_SEL>;
780 clock-names = "tve", "di_sel";
781 status = "disabled";
782
783 port {
784 tve_in: endpoint {
785 remote-endpoint = <&ipu_di1_tve>;
786 };
787 };
788 };
789
790 vpu: vpu@63ff4000 {
791 compatible = "fsl,imx53-vpu", "cnm,coda7541";
792 reg = <0x63ff4000 0x1000>;
793 interrupts = <9>;
794 clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
795 <&clks IMX5_CLK_VPU_GATE>;
796 clock-names = "per", "ahb";
797 resets = <&src 1>;
798 iram = <&ocram>;
799 };
800
801 sahara: crypto@63ff8000 {
802 compatible = "fsl,imx53-sahara";
803 reg = <0x63ff8000 0x4000>;
804 interrupts = <19 20>;
805 clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
806 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
807 clock-names = "ipg", "ahb";
808 };
809 };
810
811 ocram: sram@f8000000 {
812 compatible = "mmio-sram";
813 reg = <0xf8000000 0x20000>;
814 clocks = <&clks IMX5_CLK_OCRAM>;
815 };
816
817 pmu {
818 compatible = "arm,cortex-a8-pmu";
819 interrupts = <77>;
820 };
821 };
822};