2 * Copyright 2011 Freescale Semiconductor, Inc.
3 * Copyright 2011 Linaro Ltd.
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:
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
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>
46 compatible = "arm,cortex-a8";
51 tzic: tz-interrupt-controller@0fffc000 {
52 compatible = "fsl,imx53-tzic", "fsl,tzic";
54 #interrupt-cells = <1>;
55 reg = <0x0fffc000 0x4000>;
63 compatible = "fsl,imx-ckil", "fixed-clock";
64 clock-frequency = <32768>;
68 compatible = "fsl,imx-ckih1", "fixed-clock";
69 clock-frequency = <22579200>;
73 compatible = "fsl,imx-ckih2", "fixed-clock";
74 clock-frequency = <0>;
78 compatible = "fsl,imx-osc", "fixed-clock";
79 clock-frequency = <24000000>;
86 compatible = "simple-bus";
87 interrupt-parent = <&tzic>;
91 compatible = "fsl,imx53-ahci";
92 reg = <0x10000000 0x1000>;
94 clocks = <&clks IMX5_CLK_SATA_GATE>,
95 <&clks IMX5_CLK_SATA_REF>,
97 clock-names = "sata_gate", "sata_ref", "ahb";
103 compatible = "fsl,imx53-ipu";
104 reg = <0x18000000 0x080000000>;
105 interrupts = <11 10>;
106 clocks = <&clks IMX5_CLK_IPU_GATE>,
107 <&clks IMX5_CLK_IPU_DI0_GATE>,
108 <&clks IMX5_CLK_IPU_DI1_GATE>;
109 clock-names = "bus", "di0", "di1";
113 aips@50000000 { /* AIPS1 */
114 compatible = "fsl,aips-bus", "simple-bus";
115 #address-cells = <1>;
117 reg = <0x50000000 0x10000000>;
121 compatible = "fsl,spba-bus", "simple-bus";
122 #address-cells = <1>;
124 reg = <0x50000000 0x40000>;
127 esdhc1: esdhc@50004000 {
128 compatible = "fsl,imx53-esdhc";
129 reg = <0x50004000 0x4000>;
131 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
132 <&clks IMX5_CLK_DUMMY>,
133 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
134 clock-names = "ipg", "ahb", "per";
139 esdhc2: esdhc@50008000 {
140 compatible = "fsl,imx53-esdhc";
141 reg = <0x50008000 0x4000>;
143 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
144 <&clks IMX5_CLK_DUMMY>,
145 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
146 clock-names = "ipg", "ahb", "per";
151 uart3: serial@5000c000 {
152 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
153 reg = <0x5000c000 0x4000>;
155 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
156 <&clks IMX5_CLK_UART3_PER_GATE>;
157 clock-names = "ipg", "per";
161 ecspi1: ecspi@50010000 {
162 #address-cells = <1>;
164 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
165 reg = <0x50010000 0x4000>;
167 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
168 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
169 clock-names = "ipg", "per";
174 compatible = "fsl,imx53-ssi", "fsl,imx21-ssi";
175 reg = <0x50014000 0x4000>;
177 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>;
178 dmas = <&sdma 24 1 0>,
180 dma-names = "rx", "tx";
181 fsl,fifo-depth = <15>;
182 fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */
186 esdhc3: esdhc@50020000 {
187 compatible = "fsl,imx53-esdhc";
188 reg = <0x50020000 0x4000>;
190 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
191 <&clks IMX5_CLK_DUMMY>,
192 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
193 clock-names = "ipg", "ahb", "per";
198 esdhc4: esdhc@50024000 {
199 compatible = "fsl,imx53-esdhc";
200 reg = <0x50024000 0x4000>;
202 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
203 <&clks IMX5_CLK_DUMMY>,
204 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
205 clock-names = "ipg", "ahb", "per";
212 compatible = "usb-nop-xceiv";
213 clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
214 clock-names = "main_clk";
219 compatible = "usb-nop-xceiv";
220 clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
221 clock-names = "main_clk";
225 usbotg: usb@53f80000 {
226 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
227 reg = <0x53f80000 0x0200>;
229 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
230 fsl,usbmisc = <&usbmisc 0>;
231 fsl,usbphy = <&usbphy0>;
235 usbh1: usb@53f80200 {
236 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
237 reg = <0x53f80200 0x0200>;
239 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
240 fsl,usbmisc = <&usbmisc 1>;
241 fsl,usbphy = <&usbphy1>;
245 usbh2: usb@53f80400 {
246 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
247 reg = <0x53f80400 0x0200>;
249 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
250 fsl,usbmisc = <&usbmisc 2>;
254 usbh3: usb@53f80600 {
255 compatible = "fsl,imx53-usb", "fsl,imx27-usb";
256 reg = <0x53f80600 0x0200>;
258 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
259 fsl,usbmisc = <&usbmisc 3>;
263 usbmisc: usbmisc@53f80800 {
265 compatible = "fsl,imx53-usbmisc";
266 reg = <0x53f80800 0x200>;
267 clocks = <&clks IMX5_CLK_USBOH3_GATE>;
270 gpio1: gpio@53f84000 {
271 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
272 reg = <0x53f84000 0x4000>;
273 interrupts = <50 51>;
276 interrupt-controller;
277 #interrupt-cells = <2>;
280 gpio2: gpio@53f88000 {
281 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
282 reg = <0x53f88000 0x4000>;
283 interrupts = <52 53>;
286 interrupt-controller;
287 #interrupt-cells = <2>;
290 gpio3: gpio@53f8c000 {
291 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
292 reg = <0x53f8c000 0x4000>;
293 interrupts = <54 55>;
296 interrupt-controller;
297 #interrupt-cells = <2>;
300 gpio4: gpio@53f90000 {
301 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
302 reg = <0x53f90000 0x4000>;
303 interrupts = <56 57>;
306 interrupt-controller;
307 #interrupt-cells = <2>;
311 compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
312 reg = <0x53f94000 0x4000>;
314 clocks = <&clks IMX5_CLK_DUMMY>;
318 wdog1: wdog@53f98000 {
319 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
320 reg = <0x53f98000 0x4000>;
322 clocks = <&clks IMX5_CLK_DUMMY>;
325 wdog2: wdog@53f9c000 {
326 compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
327 reg = <0x53f9c000 0x4000>;
329 clocks = <&clks IMX5_CLK_DUMMY>;
333 gpt: timer@53fa0000 {
334 compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
335 reg = <0x53fa0000 0x4000>;
337 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
338 <&clks IMX5_CLK_GPT_HF_GATE>;
339 clock-names = "ipg", "per";
342 iomuxc: iomuxc@53fa8000 {
343 compatible = "fsl,imx53-iomuxc";
344 reg = <0x53fa8000 0x4000>;
347 gpr: iomuxc-gpr@53fa8000 {
348 compatible = "fsl,imx53-iomuxc-gpr", "syscon";
349 reg = <0x53fa8000 0xc>;
353 #address-cells = <1>;
355 compatible = "fsl,imx53-ldb";
356 reg = <0x53fa8008 0x4>;
358 clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
359 <&clks IMX5_CLK_LDB_DI1_SEL>,
360 <&clks IMX5_CLK_IPU_DI0_SEL>,
361 <&clks IMX5_CLK_IPU_DI1_SEL>,
362 <&clks IMX5_CLK_LDB_DI0_GATE>,
363 <&clks IMX5_CLK_LDB_DI1_GATE>;
364 clock-names = "di0_pll", "di1_pll",
365 "di0_sel", "di1_sel",
384 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
385 reg = <0x53fb4000 0x4000>;
386 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
387 <&clks IMX5_CLK_PWM1_HF_GATE>;
388 clock-names = "ipg", "per";
394 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
395 reg = <0x53fb8000 0x4000>;
396 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
397 <&clks IMX5_CLK_PWM2_HF_GATE>;
398 clock-names = "ipg", "per";
402 uart1: serial@53fbc000 {
403 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
404 reg = <0x53fbc000 0x4000>;
406 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
407 <&clks IMX5_CLK_UART1_PER_GATE>;
408 clock-names = "ipg", "per";
412 uart2: serial@53fc0000 {
413 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
414 reg = <0x53fc0000 0x4000>;
416 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
417 <&clks IMX5_CLK_UART2_PER_GATE>;
418 clock-names = "ipg", "per";
423 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
424 reg = <0x53fc8000 0x4000>;
426 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
427 <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
428 clock-names = "ipg", "per";
433 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
434 reg = <0x53fcc000 0x4000>;
436 clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
437 <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
438 clock-names = "ipg", "per";
443 compatible = "fsl,imx53-src", "fsl,imx51-src";
444 reg = <0x53fd0000 0x4000>;
449 compatible = "fsl,imx53-ccm";
450 reg = <0x53fd4000 0x4000>;
451 interrupts = <0 71 0x04 0 72 0x04>;
455 gpio5: gpio@53fdc000 {
456 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
457 reg = <0x53fdc000 0x4000>;
458 interrupts = <103 104>;
461 interrupt-controller;
462 #interrupt-cells = <2>;
465 gpio6: gpio@53fe0000 {
466 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
467 reg = <0x53fe0000 0x4000>;
468 interrupts = <105 106>;
471 interrupt-controller;
472 #interrupt-cells = <2>;
475 gpio7: gpio@53fe4000 {
476 compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
477 reg = <0x53fe4000 0x4000>;
478 interrupts = <107 108>;
481 interrupt-controller;
482 #interrupt-cells = <2>;
486 #address-cells = <1>;
488 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
489 reg = <0x53fec000 0x4000>;
491 clocks = <&clks IMX5_CLK_I2C3_GATE>;
495 uart4: serial@53ff0000 {
496 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
497 reg = <0x53ff0000 0x4000>;
499 clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
500 <&clks IMX5_CLK_UART4_PER_GATE>;
501 clock-names = "ipg", "per";
506 aips@60000000 { /* AIPS2 */
507 compatible = "fsl,aips-bus", "simple-bus";
508 #address-cells = <1>;
510 reg = <0x60000000 0x10000000>;
514 compatible = "fsl,imx53-iim", "fsl,imx27-iim";
515 reg = <0x63f98000 0x4000>;
517 clocks = <&clks IMX5_CLK_IIM_GATE>;
520 uart5: serial@63f90000 {
521 compatible = "fsl,imx53-uart", "fsl,imx21-uart";
522 reg = <0x63f90000 0x4000>;
524 clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
525 <&clks IMX5_CLK_UART5_PER_GATE>;
526 clock-names = "ipg", "per";
530 owire: owire@63fa4000 {
531 compatible = "fsl,imx53-owire", "fsl,imx21-owire";
532 reg = <0x63fa4000 0x4000>;
533 clocks = <&clks IMX5_CLK_OWIRE_GATE>;
537 ecspi2: ecspi@63fac000 {
538 #address-cells = <1>;
540 compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
541 reg = <0x63fac000 0x4000>;
543 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
544 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
545 clock-names = "ipg", "per";
549 sdma: sdma@63fb0000 {
550 compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
551 reg = <0x63fb0000 0x4000>;
553 clocks = <&clks IMX5_CLK_SDMA_GATE>,
554 <&clks IMX5_CLK_SDMA_GATE>;
555 clock-names = "ipg", "ahb";
557 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
560 cspi: cspi@63fc0000 {
561 #address-cells = <1>;
563 compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
564 reg = <0x63fc0000 0x4000>;
566 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
567 <&clks IMX5_CLK_CSPI_IPG_GATE>;
568 clock-names = "ipg", "per";
573 #address-cells = <1>;
575 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
576 reg = <0x63fc4000 0x4000>;
578 clocks = <&clks IMX5_CLK_I2C2_GATE>;
583 #address-cells = <1>;
585 compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
586 reg = <0x63fc8000 0x4000>;
588 clocks = <&clks IMX5_CLK_I2C1_GATE>;
593 compatible = "fsl,imx53-ssi", "fsl,imx21-ssi";
594 reg = <0x63fcc000 0x4000>;
596 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>;
597 dmas = <&sdma 28 0 0>,
599 dma-names = "rx", "tx";
600 fsl,fifo-depth = <15>;
601 fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */
605 audmux: audmux@63fd0000 {
606 compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
607 reg = <0x63fd0000 0x4000>;
612 compatible = "fsl,imx53-nand";
613 reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
615 clocks = <&clks IMX5_CLK_NFC_GATE>;
620 compatible = "fsl,imx53-ssi", "fsl,imx21-ssi";
621 reg = <0x63fe8000 0x4000>;
623 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>;
624 dmas = <&sdma 46 0 0>,
626 dma-names = "rx", "tx";
627 fsl,fifo-depth = <15>;
628 fsl,ssi-dma-events = <47 46 45 44>; /* TX0 RX0 TX1 RX1 */
632 fec: ethernet@63fec000 {
633 compatible = "fsl,imx53-fec", "fsl,imx25-fec";
634 reg = <0x63fec000 0x4000>;
636 clocks = <&clks IMX5_CLK_FEC_GATE>,
637 <&clks IMX5_CLK_FEC_GATE>,
638 <&clks IMX5_CLK_FEC_GATE>;
639 clock-names = "ipg", "ahb", "ptp";
644 compatible = "fsl,imx53-tve";
645 reg = <0x63ff0000 0x1000>;
647 clocks = <&clks IMX5_CLK_TVE_GATE>,
648 <&clks IMX5_CLK_IPU_DI1_SEL>;
649 clock-names = "tve", "di_sel";
655 compatible = "fsl,imx53-vpu";
656 reg = <0x63ff4000 0x1000>;
658 clocks = <&clks IMX5_CLK_VPU_GATE>,
659 <&clks IMX5_CLK_VPU_GATE>;
660 clock-names = "per", "ahb";
666 ocram: sram@f8000000 {
667 compatible = "mmio-sram";
668 reg = <0xf8000000 0x20000>;
669 clocks = <&clks IMX5_CLK_OCRAM>;