2 * Copyright 2012 Sascha Hauer, Pengutronix
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
12 #include "imx27-pinfunc.h"
14 #include <dt-bindings/clock/imx27-clock.h>
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/input/input.h>
17 #include <dt-bindings/interrupt-controller/irq.h>
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.
29 memory { device_type = "memory"; reg = <0 0>; };
52 aitc: aitc-interrupt-controller@e0000000 {
53 compatible = "fsl,imx27-aitc", "fsl,avic";
55 #interrupt-cells = <1>;
56 reg = <0x10040000 0x1000>;
64 compatible = "fsl,imx-osc26m", "fixed-clock";
66 clock-frequency = <26000000>;
77 compatible = "arm,arm926ej-s";
83 clock-latency = <62500>;
84 clocks = <&clks IMX27_CLK_CPU_DIV>;
85 voltage-tolerance = <5>;
92 compatible = "simple-bus";
93 interrupt-parent = <&aitc>;
96 aipi@10000000 { /* AIPI1 */
97 compatible = "fsl,aipi-bus", "simple-bus";
100 reg = <0x10000000 0x20000>;
104 compatible = "fsl,imx27-dma";
105 reg = <0x10001000 0x1000>;
107 clocks = <&clks IMX27_CLK_DMA_IPG_GATE>,
108 <&clks IMX27_CLK_DMA_AHB_GATE>;
109 clock-names = "ipg", "ahb";
111 #dma-channels = <16>;
114 wdog: wdog@10002000 {
115 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
116 reg = <0x10002000 0x1000>;
118 clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>;
121 gpt1: timer@10003000 {
122 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
123 reg = <0x10003000 0x1000>;
125 clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
126 <&clks IMX27_CLK_PER1_GATE>;
127 clock-names = "ipg", "per";
130 gpt2: timer@10004000 {
131 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
132 reg = <0x10004000 0x1000>;
134 clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
135 <&clks IMX27_CLK_PER1_GATE>;
136 clock-names = "ipg", "per";
139 gpt3: timer@10005000 {
140 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
141 reg = <0x10005000 0x1000>;
143 clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
144 <&clks IMX27_CLK_PER1_GATE>;
145 clock-names = "ipg", "per";
150 compatible = "fsl,imx27-pwm";
151 reg = <0x10006000 0x1000>;
153 clocks = <&clks IMX27_CLK_PWM_IPG_GATE>,
154 <&clks IMX27_CLK_PER1_GATE>;
155 clock-names = "ipg", "per";
159 compatible = "fsl,imx21-rtc";
160 reg = <0x10007000 0x1000>;
162 clocks = <&clks IMX27_CLK_CKIL>,
163 <&clks IMX27_CLK_RTC_IPG_GATE>;
164 clock-names = "ref", "ipg";
168 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
169 reg = <0x10008000 0x1000>;
171 clocks = <&clks IMX27_CLK_KPP_IPG_GATE>;
175 owire: owire@10009000 {
176 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
177 reg = <0x10009000 0x1000>;
178 clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>;
182 uart1: serial@1000a000 {
183 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
184 reg = <0x1000a000 0x1000>;
186 clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,
187 <&clks IMX27_CLK_PER1_GATE>;
188 clock-names = "ipg", "per";
192 uart2: serial@1000b000 {
193 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
194 reg = <0x1000b000 0x1000>;
196 clocks = <&clks IMX27_CLK_UART2_IPG_GATE>,
197 <&clks IMX27_CLK_PER1_GATE>;
198 clock-names = "ipg", "per";
202 uart3: serial@1000c000 {
203 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
204 reg = <0x1000c000 0x1000>;
206 clocks = <&clks IMX27_CLK_UART3_IPG_GATE>,
207 <&clks IMX27_CLK_PER1_GATE>;
208 clock-names = "ipg", "per";
212 uart4: serial@1000d000 {
213 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
214 reg = <0x1000d000 0x1000>;
216 clocks = <&clks IMX27_CLK_UART4_IPG_GATE>,
217 <&clks IMX27_CLK_PER1_GATE>;
218 clock-names = "ipg", "per";
222 cspi1: cspi@1000e000 {
223 #address-cells = <1>;
225 compatible = "fsl,imx27-cspi";
226 reg = <0x1000e000 0x1000>;
228 clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>,
229 <&clks IMX27_CLK_PER2_GATE>;
230 clock-names = "ipg", "per";
234 cspi2: cspi@1000f000 {
235 #address-cells = <1>;
237 compatible = "fsl,imx27-cspi";
238 reg = <0x1000f000 0x1000>;
240 clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>,
241 <&clks IMX27_CLK_PER2_GATE>;
242 clock-names = "ipg", "per";
247 #sound-dai-cells = <0>;
248 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
249 reg = <0x10010000 0x1000>;
251 clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>;
252 dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>;
253 dma-names = "rx0", "tx0", "rx1", "tx1";
254 fsl,fifo-depth = <8>;
259 #sound-dai-cells = <0>;
260 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
261 reg = <0x10011000 0x1000>;
263 clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>;
264 dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>;
265 dma-names = "rx0", "tx0", "rx1", "tx1";
266 fsl,fifo-depth = <8>;
271 #address-cells = <1>;
273 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
274 reg = <0x10012000 0x1000>;
276 clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>;
280 sdhci1: sdhci@10013000 {
281 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
282 reg = <0x10013000 0x1000>;
284 clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>,
285 <&clks IMX27_CLK_PER2_GATE>;
286 clock-names = "ipg", "per";
292 sdhci2: sdhci@10014000 {
293 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
294 reg = <0x10014000 0x1000>;
296 clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>,
297 <&clks IMX27_CLK_PER2_GATE>;
298 clock-names = "ipg", "per";
304 iomuxc: iomuxc@10015000 {
305 compatible = "fsl,imx27-iomuxc";
306 reg = <0x10015000 0x600>;
307 #address-cells = <1>;
311 gpio1: gpio@10015000 {
312 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
313 reg = <0x10015000 0x100>;
314 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
318 interrupt-controller;
319 #interrupt-cells = <2>;
322 gpio2: gpio@10015100 {
323 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
324 reg = <0x10015100 0x100>;
325 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
329 interrupt-controller;
330 #interrupt-cells = <2>;
333 gpio3: gpio@10015200 {
334 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
335 reg = <0x10015200 0x100>;
336 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
340 interrupt-controller;
341 #interrupt-cells = <2>;
344 gpio4: gpio@10015300 {
345 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
346 reg = <0x10015300 0x100>;
347 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
351 interrupt-controller;
352 #interrupt-cells = <2>;
355 gpio5: gpio@10015400 {
356 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
357 reg = <0x10015400 0x100>;
358 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
362 interrupt-controller;
363 #interrupt-cells = <2>;
366 gpio6: gpio@10015500 {
367 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
368 reg = <0x10015500 0x100>;
369 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
373 interrupt-controller;
374 #interrupt-cells = <2>;
378 audmux: audmux@10016000 {
379 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
380 reg = <0x10016000 0x1000>;
381 clocks = <&clks IMX27_CLK_DUMMY>;
382 clock-names = "audmux";
386 cspi3: cspi@10017000 {
387 #address-cells = <1>;
389 compatible = "fsl,imx27-cspi";
390 reg = <0x10017000 0x1000>;
392 clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>,
393 <&clks IMX27_CLK_PER2_GATE>;
394 clock-names = "ipg", "per";
398 gpt4: timer@10019000 {
399 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
400 reg = <0x10019000 0x1000>;
402 clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
403 <&clks IMX27_CLK_PER1_GATE>;
404 clock-names = "ipg", "per";
407 gpt5: timer@1001a000 {
408 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
409 reg = <0x1001a000 0x1000>;
411 clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
412 <&clks IMX27_CLK_PER1_GATE>;
413 clock-names = "ipg", "per";
416 uart5: serial@1001b000 {
417 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
418 reg = <0x1001b000 0x1000>;
420 clocks = <&clks IMX27_CLK_UART5_IPG_GATE>,
421 <&clks IMX27_CLK_PER1_GATE>;
422 clock-names = "ipg", "per";
426 uart6: serial@1001c000 {
427 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
428 reg = <0x1001c000 0x1000>;
430 clocks = <&clks IMX27_CLK_UART6_IPG_GATE>,
431 <&clks IMX27_CLK_PER1_GATE>;
432 clock-names = "ipg", "per";
437 #address-cells = <1>;
439 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
440 reg = <0x1001d000 0x1000>;
442 clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>;
446 sdhci3: sdhci@1001e000 {
447 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
448 reg = <0x1001e000 0x1000>;
450 clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>,
451 <&clks IMX27_CLK_PER2_GATE>;
452 clock-names = "ipg", "per";
458 gpt6: timer@1001f000 {
459 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
460 reg = <0x1001f000 0x1000>;
462 clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
463 <&clks IMX27_CLK_PER1_GATE>;
464 clock-names = "ipg", "per";
468 aipi@10020000 { /* AIPI2 */
469 compatible = "fsl,aipi-bus", "simple-bus";
470 #address-cells = <1>;
472 reg = <0x10020000 0x20000>;
476 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
478 reg = <0x10021000 0x1000>;
479 clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>,
480 <&clks IMX27_CLK_LCDC_AHB_GATE>,
481 <&clks IMX27_CLK_PER3_GATE>;
482 clock-names = "ipg", "ahb", "per";
486 coda: coda@10023000 {
487 compatible = "fsl,imx27-vpu", "cnm,codadx6";
488 reg = <0x10023000 0x0200>;
490 clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>,
491 <&clks IMX27_CLK_VPU_AHB_GATE>;
492 clock-names = "per", "ahb";
496 usbotg: usb@10024000 {
497 compatible = "fsl,imx27-usb";
498 reg = <0x10024000 0x200>;
500 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
501 <&clks IMX27_CLK_USB_AHB_GATE>,
502 <&clks IMX27_CLK_USB_DIV>;
503 clock-names = "ipg", "ahb", "per";
504 fsl,usbmisc = <&usbmisc 0>;
508 usbh1: usb@10024200 {
509 compatible = "fsl,imx27-usb";
510 reg = <0x10024200 0x200>;
512 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
513 <&clks IMX27_CLK_USB_AHB_GATE>,
514 <&clks IMX27_CLK_USB_DIV>;
515 clock-names = "ipg", "ahb", "per";
516 fsl,usbmisc = <&usbmisc 1>;
521 usbh2: usb@10024400 {
522 compatible = "fsl,imx27-usb";
523 reg = <0x10024400 0x200>;
525 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
526 <&clks IMX27_CLK_USB_AHB_GATE>,
527 <&clks IMX27_CLK_USB_DIV>;
528 clock-names = "ipg", "ahb", "per";
529 fsl,usbmisc = <&usbmisc 2>;
534 usbmisc: usbmisc@10024600 {
536 compatible = "fsl,imx27-usbmisc";
537 reg = <0x10024600 0x200>;
540 sahara2: sahara@10025000 {
541 compatible = "fsl,imx27-sahara";
542 reg = <0x10025000 0x1000>;
544 clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>,
545 <&clks IMX27_CLK_SAHARA_AHB_GATE>;
546 clock-names = "ipg", "ahb";
550 compatible = "fsl,imx27-ccm";
551 reg = <0x10027000 0x1000>;
556 compatible = "fsl,imx27-iim";
557 reg = <0x10028000 0x1000>;
559 clocks = <&clks IMX27_CLK_IIM_IPG_GATE>;
562 fec: ethernet@1002b000 {
563 compatible = "fsl,imx27-fec";
564 reg = <0x1002b000 0x1000>;
566 clocks = <&clks IMX27_CLK_FEC_IPG_GATE>,
567 <&clks IMX27_CLK_FEC_AHB_GATE>;
568 clock-names = "ipg", "ahb";
574 #address-cells = <1>;
576 compatible = "fsl,imx27-nand";
577 reg = <0xd8000000 0x1000>;
579 clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>;
583 weim: weim@d8002000 {
584 #address-cells = <2>;
586 compatible = "fsl,imx27-weim";
587 reg = <0xd8002000 0x1000>;
588 clocks = <&clks IMX27_CLK_EMI_AHB_GATE>;
590 0 0 0xc0000000 0x08000000
591 1 0 0xc8000000 0x08000000
592 2 0 0xd0000000 0x02000000
593 3 0 0xd2000000 0x02000000
594 4 0 0xd4000000 0x02000000
595 5 0 0xd6000000 0x02000000
600 iram: iram@ffff4c00 {
601 compatible = "mmio-sram";
602 reg = <0xffff4c00 0xb400>;