2 * Copyright 2013 Freescale Semiconductor, Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
10 #include <dt-bindings/interrupt-controller/irq.h>
11 #include "imx6sl-pinfunc.h"
12 #include <dt-bindings/clock/imx6sl-clock.h>
18 * The decompressor and also some bootloaders rely on a
19 * pre-existing /chosen node to be available to insert the
20 * command line and merge other ATAGS info.
21 * Also for U-Boot there must be a pre-existing /memory node.
24 memory { device_type = "memory"; reg = <0 0>; };
51 compatible = "arm,cortex-a9";
54 next-level-cache = <&L2>;
61 fsl,soc-operating-points = <
62 /* ARM kHz SOC-PU uV */
67 clock-latency = <61036>; /* two CLK32 periods */
68 clocks = <&clks IMX6SL_CLK_ARM>, <&clks IMX6SL_CLK_PLL2_PFD2>,
69 <&clks IMX6SL_CLK_STEP>, <&clks IMX6SL_CLK_PLL1_SW>,
70 <&clks IMX6SL_CLK_PLL1_SYS>;
71 clock-names = "arm", "pll2_pfd2_396m", "step",
72 "pll1_sw", "pll1_sys";
73 arm-supply = <®_arm>;
74 pu-supply = <®_pu>;
75 soc-supply = <®_soc>;
79 intc: interrupt-controller@00a01000 {
80 compatible = "arm,cortex-a9-gic";
81 #interrupt-cells = <3>;
83 reg = <0x00a01000 0x1000>,
85 interrupt-parent = <&intc>;
93 compatible = "fixed-clock";
95 clock-frequency = <32768>;
99 compatible = "fixed-clock";
101 clock-frequency = <24000000>;
106 #address-cells = <1>;
108 compatible = "simple-bus";
109 interrupt-parent = <&gpc>;
112 ocram: sram@00900000 {
113 compatible = "mmio-sram";
114 reg = <0x00900000 0x20000>;
115 clocks = <&clks IMX6SL_CLK_OCRAM>;
118 L2: l2-cache@00a02000 {
119 compatible = "arm,pl310-cache";
120 reg = <0x00a02000 0x1000>;
121 interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
124 arm,tag-latency = <4 2 3>;
125 arm,data-latency = <4 2 3>;
129 compatible = "arm,cortex-a9-pmu";
130 interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
133 aips1: aips-bus@02000000 {
134 compatible = "fsl,aips-bus", "simple-bus";
135 #address-cells = <1>;
137 reg = <0x02000000 0x100000>;
140 spba: spba-bus@02000000 {
141 compatible = "fsl,spba-bus", "simple-bus";
142 #address-cells = <1>;
144 reg = <0x02000000 0x40000>;
147 spdif: spdif@02004000 {
148 compatible = "fsl,imx6sl-spdif",
150 reg = <0x02004000 0x4000>;
151 interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
152 dmas = <&sdma 14 18 0>,
154 dma-names = "rx", "tx";
155 clocks = <&clks IMX6SL_CLK_SPDIF_GCLK>, <&clks IMX6SL_CLK_OSC>,
156 <&clks IMX6SL_CLK_SPDIF>, <&clks IMX6SL_CLK_DUMMY>,
157 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_DUMMY>,
158 <&clks IMX6SL_CLK_IPG>, <&clks IMX6SL_CLK_DUMMY>,
159 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_SPBA>;
160 clock-names = "core", "rxtx0",
168 ecspi1: ecspi@02008000 {
169 #address-cells = <1>;
171 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
172 reg = <0x02008000 0x4000>;
173 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
174 clocks = <&clks IMX6SL_CLK_ECSPI1>,
175 <&clks IMX6SL_CLK_ECSPI1>;
176 clock-names = "ipg", "per";
180 ecspi2: ecspi@0200c000 {
181 #address-cells = <1>;
183 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
184 reg = <0x0200c000 0x4000>;
185 interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
186 clocks = <&clks IMX6SL_CLK_ECSPI2>,
187 <&clks IMX6SL_CLK_ECSPI2>;
188 clock-names = "ipg", "per";
192 ecspi3: ecspi@02010000 {
193 #address-cells = <1>;
195 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
196 reg = <0x02010000 0x4000>;
197 interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
198 clocks = <&clks IMX6SL_CLK_ECSPI3>,
199 <&clks IMX6SL_CLK_ECSPI3>;
200 clock-names = "ipg", "per";
204 ecspi4: ecspi@02014000 {
205 #address-cells = <1>;
207 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
208 reg = <0x02014000 0x4000>;
209 interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
210 clocks = <&clks IMX6SL_CLK_ECSPI4>,
211 <&clks IMX6SL_CLK_ECSPI4>;
212 clock-names = "ipg", "per";
216 uart5: serial@02018000 {
217 compatible = "fsl,imx6sl-uart",
218 "fsl,imx6q-uart", "fsl,imx21-uart";
219 reg = <0x02018000 0x4000>;
220 interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
221 clocks = <&clks IMX6SL_CLK_UART>,
222 <&clks IMX6SL_CLK_UART_SERIAL>;
223 clock-names = "ipg", "per";
224 dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
225 dma-names = "rx", "tx";
229 uart1: serial@02020000 {
230 compatible = "fsl,imx6sl-uart",
231 "fsl,imx6q-uart", "fsl,imx21-uart";
232 reg = <0x02020000 0x4000>;
233 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
234 clocks = <&clks IMX6SL_CLK_UART>,
235 <&clks IMX6SL_CLK_UART_SERIAL>;
236 clock-names = "ipg", "per";
237 dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
238 dma-names = "rx", "tx";
242 uart2: serial@02024000 {
243 compatible = "fsl,imx6sl-uart",
244 "fsl,imx6q-uart", "fsl,imx21-uart";
245 reg = <0x02024000 0x4000>;
246 interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
247 clocks = <&clks IMX6SL_CLK_UART>,
248 <&clks IMX6SL_CLK_UART_SERIAL>;
249 clock-names = "ipg", "per";
250 dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
251 dma-names = "rx", "tx";
256 #sound-dai-cells = <0>;
257 compatible = "fsl,imx6sl-ssi",
259 reg = <0x02028000 0x4000>;
260 interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
261 clocks = <&clks IMX6SL_CLK_SSI1_IPG>,
262 <&clks IMX6SL_CLK_SSI1>;
263 clock-names = "ipg", "baud";
264 dmas = <&sdma 37 1 0>,
266 dma-names = "rx", "tx";
267 fsl,fifo-depth = <15>;
272 #sound-dai-cells = <0>;
273 compatible = "fsl,imx6sl-ssi",
275 reg = <0x0202c000 0x4000>;
276 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
277 clocks = <&clks IMX6SL_CLK_SSI2_IPG>,
278 <&clks IMX6SL_CLK_SSI2>;
279 clock-names = "ipg", "baud";
280 dmas = <&sdma 41 1 0>,
282 dma-names = "rx", "tx";
283 fsl,fifo-depth = <15>;
288 #sound-dai-cells = <0>;
289 compatible = "fsl,imx6sl-ssi",
291 reg = <0x02030000 0x4000>;
292 interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
293 clocks = <&clks IMX6SL_CLK_SSI3_IPG>,
294 <&clks IMX6SL_CLK_SSI3>;
295 clock-names = "ipg", "baud";
296 dmas = <&sdma 45 1 0>,
298 dma-names = "rx", "tx";
299 fsl,fifo-depth = <15>;
303 uart3: serial@02034000 {
304 compatible = "fsl,imx6sl-uart",
305 "fsl,imx6q-uart", "fsl,imx21-uart";
306 reg = <0x02034000 0x4000>;
307 interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
308 clocks = <&clks IMX6SL_CLK_UART>,
309 <&clks IMX6SL_CLK_UART_SERIAL>;
310 clock-names = "ipg", "per";
311 dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
312 dma-names = "rx", "tx";
316 uart4: serial@02038000 {
317 compatible = "fsl,imx6sl-uart",
318 "fsl,imx6q-uart", "fsl,imx21-uart";
319 reg = <0x02038000 0x4000>;
320 interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
321 clocks = <&clks IMX6SL_CLK_UART>,
322 <&clks IMX6SL_CLK_UART_SERIAL>;
323 clock-names = "ipg", "per";
324 dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
325 dma-names = "rx", "tx";
332 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
333 reg = <0x02080000 0x4000>;
334 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
335 clocks = <&clks IMX6SL_CLK_PWM1>,
336 <&clks IMX6SL_CLK_PWM1>;
337 clock-names = "ipg", "per";
342 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
343 reg = <0x02084000 0x4000>;
344 interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
345 clocks = <&clks IMX6SL_CLK_PWM2>,
346 <&clks IMX6SL_CLK_PWM2>;
347 clock-names = "ipg", "per";
352 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
353 reg = <0x02088000 0x4000>;
354 interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
355 clocks = <&clks IMX6SL_CLK_PWM3>,
356 <&clks IMX6SL_CLK_PWM3>;
357 clock-names = "ipg", "per";
362 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
363 reg = <0x0208c000 0x4000>;
364 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
365 clocks = <&clks IMX6SL_CLK_PWM4>,
366 <&clks IMX6SL_CLK_PWM4>;
367 clock-names = "ipg", "per";
371 compatible = "fsl,imx6sl-gpt";
372 reg = <0x02098000 0x4000>;
373 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
374 clocks = <&clks IMX6SL_CLK_GPT>,
375 <&clks IMX6SL_CLK_GPT_SERIAL>;
376 clock-names = "ipg", "per";
379 gpio1: gpio@0209c000 {
380 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
381 reg = <0x0209c000 0x4000>;
382 interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
383 <0 67 IRQ_TYPE_LEVEL_HIGH>;
386 interrupt-controller;
387 #interrupt-cells = <2>;
388 gpio-ranges = <&iomuxc 0 22 1>, <&iomuxc 1 20 2>,
389 <&iomuxc 3 23 1>, <&iomuxc 4 25 1>,
390 <&iomuxc 5 24 1>, <&iomuxc 6 19 1>,
391 <&iomuxc 7 36 2>, <&iomuxc 9 44 8>,
392 <&iomuxc 17 38 6>, <&iomuxc 23 68 4>,
393 <&iomuxc 27 64 4>, <&iomuxc 31 52 1>;
396 gpio2: gpio@020a0000 {
397 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
398 reg = <0x020a0000 0x4000>;
399 interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
400 <0 69 IRQ_TYPE_LEVEL_HIGH>;
403 interrupt-controller;
404 #interrupt-cells = <2>;
405 gpio-ranges = <&iomuxc 0 53 3>, <&iomuxc 3 72 2>,
406 <&iomuxc 5 34 2>, <&iomuxc 7 57 4>,
407 <&iomuxc 11 56 1>, <&iomuxc 12 61 3>,
408 <&iomuxc 15 107 1>, <&iomuxc 16 132 2>,
409 <&iomuxc 18 135 1>, <&iomuxc 19 134 1>,
410 <&iomuxc 20 108 2>, <&iomuxc 22 120 1>,
411 <&iomuxc 23 125 7>, <&iomuxc 30 110 2>;
414 gpio3: gpio@020a4000 {
415 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
416 reg = <0x020a4000 0x4000>;
417 interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
418 <0 71 IRQ_TYPE_LEVEL_HIGH>;
421 interrupt-controller;
422 #interrupt-cells = <2>;
423 gpio-ranges = <&iomuxc 0 112 8>, <&iomuxc 8 121 4>,
424 <&iomuxc 12 97 4>, <&iomuxc 16 166 3>,
425 <&iomuxc 19 85 2>, <&iomuxc 21 137 2>,
426 <&iomuxc 23 136 1>, <&iomuxc 24 91 1>,
427 <&iomuxc 25 99 1>, <&iomuxc 26 92 1>,
428 <&iomuxc 27 100 1>, <&iomuxc 28 93 1>,
429 <&iomuxc 29 101 1>, <&iomuxc 30 94 1>,
433 gpio4: gpio@020a8000 {
434 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
435 reg = <0x020a8000 0x4000>;
436 interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
437 <0 73 IRQ_TYPE_LEVEL_HIGH>;
440 interrupt-controller;
441 #interrupt-cells = <2>;
442 gpio-ranges = <&iomuxc 0 95 1>, <&iomuxc 1 103 1>,
443 <&iomuxc 2 96 1>, <&iomuxc 3 104 1>,
444 <&iomuxc 4 97 1>, <&iomuxc 5 105 1>,
445 <&iomuxc 6 98 1>, <&iomuxc 7 106 1>,
446 <&iomuxc 8 28 1>, <&iomuxc 9 27 1>,
447 <&iomuxc 10 26 1>, <&iomuxc 11 29 1>,
448 <&iomuxc 12 32 1>, <&iomuxc 13 31 1>,
449 <&iomuxc 14 30 1>, <&iomuxc 15 33 1>,
450 <&iomuxc 16 84 1>, <&iomuxc 17 79 2>,
451 <&iomuxc 19 78 1>, <&iomuxc 20 76 1>,
452 <&iomuxc 21 81 2>, <&iomuxc 23 75 1>,
453 <&iomuxc 24 83 1>, <&iomuxc 25 74 1>,
454 <&iomuxc 26 77 1>, <&iomuxc 27 159 1>,
455 <&iomuxc 28 154 1>, <&iomuxc 29 157 1>,
456 <&iomuxc 30 152 1>, <&iomuxc 31 156 1>;
459 gpio5: gpio@020ac000 {
460 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
461 reg = <0x020ac000 0x4000>;
462 interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
463 <0 75 IRQ_TYPE_LEVEL_HIGH>;
466 interrupt-controller;
467 #interrupt-cells = <2>;
468 gpio-ranges = <&iomuxc 0 158 1>, <&iomuxc 1 151 1>,
469 <&iomuxc 2 155 1>, <&iomuxc 3 153 1>,
470 <&iomuxc 4 150 1>, <&iomuxc 5 149 1>,
471 <&iomuxc 6 144 1>, <&iomuxc 7 147 1>,
472 <&iomuxc 8 142 1>, <&iomuxc 9 146 1>,
473 <&iomuxc 10 148 1>, <&iomuxc 11 141 1>,
474 <&iomuxc 12 145 1>, <&iomuxc 13 143 1>,
475 <&iomuxc 14 140 1>, <&iomuxc 15 139 1>,
476 <&iomuxc 16 164 2>, <&iomuxc 18 160 1>,
477 <&iomuxc 19 162 1>, <&iomuxc 20 163 1>,
482 compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp";
483 reg = <0x020b8000 0x4000>;
484 interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
485 clocks = <&clks IMX6SL_CLK_DUMMY>;
489 wdog1: wdog@020bc000 {
490 compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
491 reg = <0x020bc000 0x4000>;
492 interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
493 clocks = <&clks IMX6SL_CLK_DUMMY>;
496 wdog2: wdog@020c0000 {
497 compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
498 reg = <0x020c0000 0x4000>;
499 interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
500 clocks = <&clks IMX6SL_CLK_DUMMY>;
505 compatible = "fsl,imx6sl-ccm";
506 reg = <0x020c4000 0x4000>;
507 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
508 <0 88 IRQ_TYPE_LEVEL_HIGH>;
512 anatop: anatop@020c8000 {
513 compatible = "fsl,imx6sl-anatop",
515 "syscon", "simple-bus";
516 reg = <0x020c8000 0x1000>;
517 interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
518 <0 54 IRQ_TYPE_LEVEL_HIGH>,
519 <0 127 IRQ_TYPE_LEVEL_HIGH>;
522 compatible = "fsl,anatop-regulator";
523 regulator-name = "vdd1p1";
524 regulator-min-microvolt = <800000>;
525 regulator-max-microvolt = <1375000>;
527 anatop-reg-offset = <0x110>;
528 anatop-vol-bit-shift = <8>;
529 anatop-vol-bit-width = <5>;
530 anatop-min-bit-val = <4>;
531 anatop-min-voltage = <800000>;
532 anatop-max-voltage = <1375000>;
536 compatible = "fsl,anatop-regulator";
537 regulator-name = "vdd3p0";
538 regulator-min-microvolt = <2800000>;
539 regulator-max-microvolt = <3150000>;
541 anatop-reg-offset = <0x120>;
542 anatop-vol-bit-shift = <8>;
543 anatop-vol-bit-width = <5>;
544 anatop-min-bit-val = <0>;
545 anatop-min-voltage = <2625000>;
546 anatop-max-voltage = <3400000>;
550 compatible = "fsl,anatop-regulator";
551 regulator-name = "vdd2p5";
552 regulator-min-microvolt = <2100000>;
553 regulator-max-microvolt = <2850000>;
555 anatop-reg-offset = <0x130>;
556 anatop-vol-bit-shift = <8>;
557 anatop-vol-bit-width = <5>;
558 anatop-min-bit-val = <0>;
559 anatop-min-voltage = <2100000>;
560 anatop-max-voltage = <2850000>;
563 reg_arm: regulator-vddcore {
564 compatible = "fsl,anatop-regulator";
565 regulator-name = "vddarm";
566 regulator-min-microvolt = <725000>;
567 regulator-max-microvolt = <1450000>;
569 anatop-reg-offset = <0x140>;
570 anatop-vol-bit-shift = <0>;
571 anatop-vol-bit-width = <5>;
572 anatop-delay-reg-offset = <0x170>;
573 anatop-delay-bit-shift = <24>;
574 anatop-delay-bit-width = <2>;
575 anatop-min-bit-val = <1>;
576 anatop-min-voltage = <725000>;
577 anatop-max-voltage = <1450000>;
580 reg_pu: regulator-vddpu {
581 compatible = "fsl,anatop-regulator";
582 regulator-name = "vddpu";
583 regulator-min-microvolt = <725000>;
584 regulator-max-microvolt = <1450000>;
586 anatop-reg-offset = <0x140>;
587 anatop-vol-bit-shift = <9>;
588 anatop-vol-bit-width = <5>;
589 anatop-delay-reg-offset = <0x170>;
590 anatop-delay-bit-shift = <26>;
591 anatop-delay-bit-width = <2>;
592 anatop-min-bit-val = <1>;
593 anatop-min-voltage = <725000>;
594 anatop-max-voltage = <1450000>;
597 reg_soc: regulator-vddsoc {
598 compatible = "fsl,anatop-regulator";
599 regulator-name = "vddsoc";
600 regulator-min-microvolt = <725000>;
601 regulator-max-microvolt = <1450000>;
603 anatop-reg-offset = <0x140>;
604 anatop-vol-bit-shift = <18>;
605 anatop-vol-bit-width = <5>;
606 anatop-delay-reg-offset = <0x170>;
607 anatop-delay-bit-shift = <28>;
608 anatop-delay-bit-width = <2>;
609 anatop-min-bit-val = <1>;
610 anatop-min-voltage = <725000>;
611 anatop-max-voltage = <1450000>;
616 compatible = "fsl,imx6q-tempmon";
617 interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
618 fsl,tempmon = <&anatop>;
619 fsl,tempmon-data = <&ocotp>;
620 clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
623 usbphy1: usbphy@020c9000 {
624 compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
625 reg = <0x020c9000 0x1000>;
626 interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
627 clocks = <&clks IMX6SL_CLK_USBPHY1>;
628 fsl,anatop = <&anatop>;
631 usbphy2: usbphy@020ca000 {
632 compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
633 reg = <0x020ca000 0x1000>;
634 interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
635 clocks = <&clks IMX6SL_CLK_USBPHY2>;
636 fsl,anatop = <&anatop>;
639 snvs: snvs@020cc000 {
640 compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
641 reg = <0x020cc000 0x4000>;
643 snvs_rtc: snvs-rtc-lp {
644 compatible = "fsl,sec-v4.0-mon-rtc-lp";
647 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
648 <0 20 IRQ_TYPE_LEVEL_HIGH>;
651 snvs_poweroff: snvs-poweroff {
652 compatible = "syscon-poweroff";
660 epit1: epit@020d0000 {
661 reg = <0x020d0000 0x4000>;
662 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
665 epit2: epit@020d4000 {
666 reg = <0x020d4000 0x4000>;
667 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
671 compatible = "fsl,imx6sl-src", "fsl,imx51-src";
672 reg = <0x020d8000 0x4000>;
673 interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
674 <0 96 IRQ_TYPE_LEVEL_HIGH>;
679 compatible = "fsl,imx6sl-gpc", "fsl,imx6q-gpc";
680 reg = <0x020dc000 0x4000>;
681 interrupt-controller;
682 #interrupt-cells = <3>;
683 interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
684 interrupt-parent = <&intc>;
685 pu-supply = <®_pu>;
686 clocks = <&clks IMX6SL_CLK_GPU2D_OVG>,
687 <&clks IMX6SL_CLK_GPU2D_PODF>;
688 #power-domain-cells = <1>;
691 gpr: iomuxc-gpr@020e0000 {
692 compatible = "fsl,imx6sl-iomuxc-gpr",
693 "fsl,imx6q-iomuxc-gpr", "syscon";
694 reg = <0x020e0000 0x38>;
697 iomuxc: iomuxc@020e0000 {
698 compatible = "fsl,imx6sl-iomuxc";
699 reg = <0x020e0000 0x4000>;
703 reg = <0x020e4000 0x4000>;
704 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
707 spdc: spdc@020e8000 {
708 reg = <0x020e8000 0x4000>;
709 interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
712 sdma: sdma@020ec000 {
713 compatible = "fsl,imx6sl-sdma", "fsl,imx6q-sdma";
714 reg = <0x020ec000 0x4000>;
715 interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
716 clocks = <&clks IMX6SL_CLK_SDMA>,
717 <&clks IMX6SL_CLK_SDMA>;
718 clock-names = "ipg", "ahb";
720 /* imx6sl reuses imx6q sdma firmware */
721 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
725 reg = <0x020f0000 0x4000>;
726 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
729 epdc: epdc@020f4000 {
730 reg = <0x020f4000 0x4000>;
731 interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
734 lcdif: lcdif@020f8000 {
735 compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
736 reg = <0x020f8000 0x4000>;
737 interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
738 clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
739 <&clks IMX6SL_CLK_LCDIF_AXI>,
740 <&clks IMX6SL_CLK_DUMMY>;
741 clock-names = "pix", "axi", "disp_axi";
746 compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp";
747 reg = <0x020fc000 0x4000>;
748 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>,
749 <0 100 IRQ_TYPE_LEVEL_HIGH>,
750 <0 101 IRQ_TYPE_LEVEL_HIGH>;
754 aips2: aips-bus@02100000 {
755 compatible = "fsl,aips-bus", "simple-bus";
756 #address-cells = <1>;
758 reg = <0x02100000 0x100000>;
761 usbotg1: usb@02184000 {
762 compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
763 reg = <0x02184000 0x200>;
764 interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
765 clocks = <&clks IMX6SL_CLK_USBOH3>;
766 fsl,usbphy = <&usbphy1>;
767 fsl,usbmisc = <&usbmisc 0>;
768 ahb-burst-config = <0x0>;
769 tx-burst-size-dword = <0x10>;
770 rx-burst-size-dword = <0x10>;
774 usbotg2: usb@02184200 {
775 compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
776 reg = <0x02184200 0x200>;
777 interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
778 clocks = <&clks IMX6SL_CLK_USBOH3>;
779 fsl,usbphy = <&usbphy2>;
780 fsl,usbmisc = <&usbmisc 1>;
781 ahb-burst-config = <0x0>;
782 tx-burst-size-dword = <0x10>;
783 rx-burst-size-dword = <0x10>;
788 compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
789 reg = <0x02184400 0x200>;
790 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
791 clocks = <&clks IMX6SL_CLK_USBOH3>;
792 fsl,usbmisc = <&usbmisc 2>;
794 ahb-burst-config = <0x0>;
795 tx-burst-size-dword = <0x10>;
796 rx-burst-size-dword = <0x10>;
800 usbmisc: usbmisc@02184800 {
802 compatible = "fsl,imx6sl-usbmisc", "fsl,imx6q-usbmisc";
803 reg = <0x02184800 0x200>;
804 clocks = <&clks IMX6SL_CLK_USBOH3>;
807 fec: ethernet@02188000 {
808 compatible = "fsl,imx6sl-fec", "fsl,imx25-fec";
809 reg = <0x02188000 0x4000>;
810 interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
811 clocks = <&clks IMX6SL_CLK_ENET>,
812 <&clks IMX6SL_CLK_ENET_REF>;
813 clock-names = "ipg", "ahb";
817 usdhc1: usdhc@02190000 {
818 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
819 reg = <0x02190000 0x4000>;
820 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
821 clocks = <&clks IMX6SL_CLK_USDHC1>,
822 <&clks IMX6SL_CLK_USDHC1>,
823 <&clks IMX6SL_CLK_USDHC1>;
824 clock-names = "ipg", "ahb", "per";
829 usdhc2: usdhc@02194000 {
830 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
831 reg = <0x02194000 0x4000>;
832 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
833 clocks = <&clks IMX6SL_CLK_USDHC2>,
834 <&clks IMX6SL_CLK_USDHC2>,
835 <&clks IMX6SL_CLK_USDHC2>;
836 clock-names = "ipg", "ahb", "per";
841 usdhc3: usdhc@02198000 {
842 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
843 reg = <0x02198000 0x4000>;
844 interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
845 clocks = <&clks IMX6SL_CLK_USDHC3>,
846 <&clks IMX6SL_CLK_USDHC3>,
847 <&clks IMX6SL_CLK_USDHC3>;
848 clock-names = "ipg", "ahb", "per";
853 usdhc4: usdhc@0219c000 {
854 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
855 reg = <0x0219c000 0x4000>;
856 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
857 clocks = <&clks IMX6SL_CLK_USDHC4>,
858 <&clks IMX6SL_CLK_USDHC4>,
859 <&clks IMX6SL_CLK_USDHC4>;
860 clock-names = "ipg", "ahb", "per";
866 #address-cells = <1>;
868 compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
869 reg = <0x021a0000 0x4000>;
870 interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
871 clocks = <&clks IMX6SL_CLK_I2C1>;
876 #address-cells = <1>;
878 compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
879 reg = <0x021a4000 0x4000>;
880 interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
881 clocks = <&clks IMX6SL_CLK_I2C2>;
886 #address-cells = <1>;
888 compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
889 reg = <0x021a8000 0x4000>;
890 interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
891 clocks = <&clks IMX6SL_CLK_I2C3>;
895 mmdc: mmdc@021b0000 {
896 compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
897 reg = <0x021b0000 0x4000>;
900 rngb: rngb@021b4000 {
901 reg = <0x021b4000 0x4000>;
902 interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
905 weim: weim@021b8000 {
906 #address-cells = <2>;
908 reg = <0x021b8000 0x4000>;
909 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
910 fsl,weim-cs-gpr = <&gpr>;
914 ocotp: ocotp@021bc000 {
915 compatible = "fsl,imx6sl-ocotp", "syscon";
916 reg = <0x021bc000 0x4000>;
917 clocks = <&clks IMX6SL_CLK_OCOTP>;
920 audmux: audmux@021d8000 {
921 compatible = "fsl,imx6sl-audmux", "fsl,imx31-audmux";
922 reg = <0x021d8000 0x4000>;