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 "skeleton.dtsi"
13 #include "imx27-pinfunc.h"
15 #include <dt-bindings/clock/imx27-clock.h>
16 #include <dt-bindings/gpio/gpio.h>
17 #include <dt-bindings/input/input.h>
18 #include <dt-bindings/interrupt-controller/irq.h>
42 aitc: aitc-interrupt-controller@e0000000 {
43 compatible = "fsl,imx27-aitc", "fsl,avic";
45 #interrupt-cells = <1>;
46 reg = <0x10040000 0x1000>;
54 compatible = "fsl,imx-osc26m", "fixed-clock";
56 clock-frequency = <26000000>;
66 compatible = "arm,arm926ej-s";
72 clock-latency = <62500>;
73 clocks = <&clks IMX27_CLK_CPU_DIV>;
74 voltage-tolerance = <5>;
81 compatible = "simple-bus";
82 interrupt-parent = <&aitc>;
85 aipi@10000000 { /* AIPI1 */
86 compatible = "fsl,aipi-bus", "simple-bus";
89 reg = <0x10000000 0x20000>;
93 compatible = "fsl,imx27-dma";
94 reg = <0x10001000 0x1000>;
96 clocks = <&clks IMX27_CLK_DMA_IPG_GATE>,
97 <&clks IMX27_CLK_DMA_AHB_GATE>;
98 clock-names = "ipg", "ahb";
100 #dma-channels = <16>;
103 wdog: wdog@10002000 {
104 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
105 reg = <0x10002000 0x1000>;
107 clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>;
110 gpt1: timer@10003000 {
111 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
112 reg = <0x10003000 0x1000>;
114 clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
115 <&clks IMX27_CLK_PER1_GATE>;
116 clock-names = "ipg", "per";
119 gpt2: timer@10004000 {
120 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
121 reg = <0x10004000 0x1000>;
123 clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
124 <&clks IMX27_CLK_PER1_GATE>;
125 clock-names = "ipg", "per";
128 gpt3: timer@10005000 {
129 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
130 reg = <0x10005000 0x1000>;
132 clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
133 <&clks IMX27_CLK_PER1_GATE>;
134 clock-names = "ipg", "per";
139 compatible = "fsl,imx27-pwm";
140 reg = <0x10006000 0x1000>;
142 clocks = <&clks IMX27_CLK_PWM_IPG_GATE>,
143 <&clks IMX27_CLK_PER1_GATE>;
144 clock-names = "ipg", "per";
148 compatible = "fsl,imx21-rtc";
149 reg = <0x10007000 0x1000>;
151 clocks = <&clks IMX27_CLK_CKIL>,
152 <&clks IMX27_CLK_RTC_IPG_GATE>;
153 clock-names = "ref", "ipg";
157 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
158 reg = <0x10008000 0x1000>;
160 clocks = <&clks IMX27_CLK_KPP_IPG_GATE>;
164 owire: owire@10009000 {
165 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
166 reg = <0x10009000 0x1000>;
167 clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>;
171 uart1: serial@1000a000 {
172 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
173 reg = <0x1000a000 0x1000>;
175 clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,
176 <&clks IMX27_CLK_PER1_GATE>;
177 clock-names = "ipg", "per";
181 uart2: serial@1000b000 {
182 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
183 reg = <0x1000b000 0x1000>;
185 clocks = <&clks IMX27_CLK_UART2_IPG_GATE>,
186 <&clks IMX27_CLK_PER1_GATE>;
187 clock-names = "ipg", "per";
191 uart3: serial@1000c000 {
192 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
193 reg = <0x1000c000 0x1000>;
195 clocks = <&clks IMX27_CLK_UART3_IPG_GATE>,
196 <&clks IMX27_CLK_PER1_GATE>;
197 clock-names = "ipg", "per";
201 uart4: serial@1000d000 {
202 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
203 reg = <0x1000d000 0x1000>;
205 clocks = <&clks IMX27_CLK_UART4_IPG_GATE>,
206 <&clks IMX27_CLK_PER1_GATE>;
207 clock-names = "ipg", "per";
211 cspi1: cspi@1000e000 {
212 #address-cells = <1>;
214 compatible = "fsl,imx27-cspi";
215 reg = <0x1000e000 0x1000>;
217 clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>,
218 <&clks IMX27_CLK_PER2_GATE>;
219 clock-names = "ipg", "per";
223 cspi2: cspi@1000f000 {
224 #address-cells = <1>;
226 compatible = "fsl,imx27-cspi";
227 reg = <0x1000f000 0x1000>;
229 clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>,
230 <&clks IMX27_CLK_PER2_GATE>;
231 clock-names = "ipg", "per";
236 #sound-dai-cells = <0>;
237 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
238 reg = <0x10010000 0x1000>;
240 clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>;
241 dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>;
242 dma-names = "rx0", "tx0", "rx1", "tx1";
243 fsl,fifo-depth = <8>;
248 #sound-dai-cells = <0>;
249 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
250 reg = <0x10011000 0x1000>;
252 clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>;
253 dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>;
254 dma-names = "rx0", "tx0", "rx1", "tx1";
255 fsl,fifo-depth = <8>;
260 #address-cells = <1>;
262 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
263 reg = <0x10012000 0x1000>;
265 clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>;
269 sdhci1: sdhci@10013000 {
270 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
271 reg = <0x10013000 0x1000>;
273 clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>,
274 <&clks IMX27_CLK_PER2_GATE>;
275 clock-names = "ipg", "per";
281 sdhci2: sdhci@10014000 {
282 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
283 reg = <0x10014000 0x1000>;
285 clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>,
286 <&clks IMX27_CLK_PER2_GATE>;
287 clock-names = "ipg", "per";
293 iomuxc: iomuxc@10015000 {
294 compatible = "fsl,imx27-iomuxc";
295 reg = <0x10015000 0x600>;
296 #address-cells = <1>;
300 gpio1: gpio@10015000 {
301 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
302 reg = <0x10015000 0x100>;
303 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
307 interrupt-controller;
308 #interrupt-cells = <2>;
311 gpio2: gpio@10015100 {
312 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
313 reg = <0x10015100 0x100>;
314 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
318 interrupt-controller;
319 #interrupt-cells = <2>;
322 gpio3: gpio@10015200 {
323 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
324 reg = <0x10015200 0x100>;
325 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
329 interrupt-controller;
330 #interrupt-cells = <2>;
333 gpio4: gpio@10015300 {
334 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
335 reg = <0x10015300 0x100>;
336 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
340 interrupt-controller;
341 #interrupt-cells = <2>;
344 gpio5: gpio@10015400 {
345 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
346 reg = <0x10015400 0x100>;
347 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
351 interrupt-controller;
352 #interrupt-cells = <2>;
355 gpio6: gpio@10015500 {
356 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
357 reg = <0x10015500 0x100>;
358 clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
362 interrupt-controller;
363 #interrupt-cells = <2>;
367 audmux: audmux@10016000 {
368 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
369 reg = <0x10016000 0x1000>;
370 clocks = <&clks IMX27_CLK_DUMMY>;
371 clock-names = "audmux";
375 cspi3: cspi@10017000 {
376 #address-cells = <1>;
378 compatible = "fsl,imx27-cspi";
379 reg = <0x10017000 0x1000>;
381 clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>,
382 <&clks IMX27_CLK_PER2_GATE>;
383 clock-names = "ipg", "per";
387 gpt4: timer@10019000 {
388 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
389 reg = <0x10019000 0x1000>;
391 clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
392 <&clks IMX27_CLK_PER1_GATE>;
393 clock-names = "ipg", "per";
396 gpt5: timer@1001a000 {
397 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
398 reg = <0x1001a000 0x1000>;
400 clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
401 <&clks IMX27_CLK_PER1_GATE>;
402 clock-names = "ipg", "per";
405 uart5: serial@1001b000 {
406 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
407 reg = <0x1001b000 0x1000>;
409 clocks = <&clks IMX27_CLK_UART5_IPG_GATE>,
410 <&clks IMX27_CLK_PER1_GATE>;
411 clock-names = "ipg", "per";
415 uart6: serial@1001c000 {
416 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
417 reg = <0x1001c000 0x1000>;
419 clocks = <&clks IMX27_CLK_UART6_IPG_GATE>,
420 <&clks IMX27_CLK_PER1_GATE>;
421 clock-names = "ipg", "per";
426 #address-cells = <1>;
428 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
429 reg = <0x1001d000 0x1000>;
431 clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>;
435 sdhci3: sdhci@1001e000 {
436 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
437 reg = <0x1001e000 0x1000>;
439 clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>,
440 <&clks IMX27_CLK_PER2_GATE>;
441 clock-names = "ipg", "per";
447 gpt6: timer@1001f000 {
448 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
449 reg = <0x1001f000 0x1000>;
451 clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
452 <&clks IMX27_CLK_PER1_GATE>;
453 clock-names = "ipg", "per";
457 aipi@10020000 { /* AIPI2 */
458 compatible = "fsl,aipi-bus", "simple-bus";
459 #address-cells = <1>;
461 reg = <0x10020000 0x20000>;
465 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
467 reg = <0x10021000 0x1000>;
468 clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>,
469 <&clks IMX27_CLK_LCDC_AHB_GATE>,
470 <&clks IMX27_CLK_PER3_GATE>;
471 clock-names = "ipg", "ahb", "per";
475 coda: coda@10023000 {
476 compatible = "fsl,imx27-vpu", "cnm,codadx6";
477 reg = <0x10023000 0x0200>;
479 clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>,
480 <&clks IMX27_CLK_VPU_AHB_GATE>;
481 clock-names = "per", "ahb";
485 usbotg: usb@10024000 {
486 compatible = "fsl,imx27-usb";
487 reg = <0x10024000 0x200>;
489 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
490 <&clks IMX27_CLK_USB_AHB_GATE>,
491 <&clks IMX27_CLK_USB_DIV>;
492 clock-names = "ipg", "ahb", "per";
493 fsl,usbmisc = <&usbmisc 0>;
497 usbh1: usb@10024200 {
498 compatible = "fsl,imx27-usb";
499 reg = <0x10024200 0x200>;
501 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
502 <&clks IMX27_CLK_USB_AHB_GATE>,
503 <&clks IMX27_CLK_USB_DIV>;
504 clock-names = "ipg", "ahb", "per";
505 fsl,usbmisc = <&usbmisc 1>;
510 usbh2: usb@10024400 {
511 compatible = "fsl,imx27-usb";
512 reg = <0x10024400 0x200>;
514 clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
515 <&clks IMX27_CLK_USB_AHB_GATE>,
516 <&clks IMX27_CLK_USB_DIV>;
517 clock-names = "ipg", "ahb", "per";
518 fsl,usbmisc = <&usbmisc 2>;
523 usbmisc: usbmisc@10024600 {
525 compatible = "fsl,imx27-usbmisc";
526 reg = <0x10024600 0x200>;
529 sahara2: sahara@10025000 {
530 compatible = "fsl,imx27-sahara";
531 reg = <0x10025000 0x1000>;
533 clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>,
534 <&clks IMX27_CLK_SAHARA_AHB_GATE>;
535 clock-names = "ipg", "ahb";
539 compatible = "fsl,imx27-ccm";
540 reg = <0x10027000 0x1000>;
545 compatible = "fsl,imx27-iim";
546 reg = <0x10028000 0x1000>;
548 clocks = <&clks IMX27_CLK_IIM_IPG_GATE>;
551 fec: ethernet@1002b000 {
552 compatible = "fsl,imx27-fec";
553 reg = <0x1002b000 0x1000>;
555 clocks = <&clks IMX27_CLK_FEC_IPG_GATE>,
556 <&clks IMX27_CLK_FEC_AHB_GATE>;
557 clock-names = "ipg", "ahb";
563 #address-cells = <1>;
565 compatible = "fsl,imx27-nand";
566 reg = <0xd8000000 0x1000>;
568 clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>;
572 weim: weim@d8002000 {
573 #address-cells = <2>;
575 compatible = "fsl,imx27-weim";
576 reg = <0xd8002000 0x1000>;
577 clocks = <&clks IMX27_CLK_EMI_AHB_GATE>;
579 0 0 0xc0000000 0x08000000
580 1 0 0xc8000000 0x08000000
581 2 0 0xd0000000 0x02000000
582 3 0 0xd2000000 0x02000000
583 4 0 0xd4000000 0x02000000
584 5 0 0xd6000000 0x02000000
589 iram: iram@ffff4c00 {
590 compatible = "mmio-sram";
591 reg = <0xffff4c00 0xb400>;