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