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 <dt-bindings/interrupt-controller/arm-gic.h>
12 #include "skeleton.dtsi"
13 #include "imx6sl-pinfunc.h"
14 #include <dt-bindings/clock/imx6sl-clock.h>
45 compatible = "arm,cortex-a9";
48 next-level-cache = <&L2>;
55 fsl,soc-operating-points = <
56 /* ARM kHz SOC-PU uV */
61 clock-latency = <61036>; /* two CLK32 periods */
62 clocks = <&clks IMX6SL_CLK_ARM>, <&clks IMX6SL_CLK_PLL2_PFD2>,
63 <&clks IMX6SL_CLK_STEP>, <&clks IMX6SL_CLK_PLL1_SW>,
64 <&clks IMX6SL_CLK_PLL1_SYS>;
65 clock-names = "arm", "pll2_pfd2_396m", "step",
66 "pll1_sw", "pll1_sys";
67 arm-supply = <®_arm>;
68 pu-supply = <®_pu>;
69 soc-supply = <®_soc>;
73 intc: interrupt-controller@00a01000 {
74 compatible = "arm,cortex-a9-gic";
75 #interrupt-cells = <3>;
79 reg = <0x00a01000 0x1000>,
88 compatible = "fixed-clock";
89 clock-frequency = <32768>;
93 compatible = "fixed-clock";
94 clock-frequency = <24000000>;
101 compatible = "simple-bus";
102 interrupt-parent = <&intc>;
105 busfreq { /* BUSFREQ */
106 compatible = "fsl,imx6_busfreq";
107 clocks = <&clks IMX6SL_CLK_PLL2_BUS>, <&clks IMX6SL_CLK_PLL2_PFD2>,
108 <&clks IMX6SL_CLK_PLL2_198M>, <&clks IMX6SL_CLK_ARM>,
109 <&clks IMX6SL_CLK_PLL3_USB_OTG>, <&clks IMX6SL_CLK_PERIPH>,
110 <&clks IMX6SL_CLK_PRE_PERIPH_SEL>, <&clks IMX6SL_CLK_PERIPH_CLK2_PODF>,
111 <&clks IMX6SL_CLK_PERIPH_CLK2_SEL>, <&clks IMX6SL_CLK_OSC>,
112 <&clks IMX6SL_CLK_PLL1_SYS>, <&clks IMX6SL_CLK_PERIPH2>,
113 <&clks IMX6SL_CLK_AHB>, <&clks IMX6SL_CLK_OCRAM>,
114 <&clks IMX6SL_CLK_PLL1_SW>, <&clks IMX6SL_CLK_PRE_PERIPH2_SEL>,
115 <&clks IMX6SL_CLK_PERIPH2_CLK2_SEL>, <&clks IMX6SL_CLK_PERIPH2_CLK2_PODF>,
116 <&clks IMX6SL_CLK_STEP>, <&clks IMX6SL_PLL2_BYPASS_SRC>, <&clks IMX6SL_PLL2_BYPASS>,
117 <&clks IMX6SL_CLK_PLL2>;
118 clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph",
119 "periph_pre", "periph_clk2", "periph_clk2_sel", "osc", "pll1_sys", "periph2", "ahb",
120 "ocram", "pll1_sw", "periph2_pre", "periph2_clk2_sel", "periph2_clk2", "step", "pll2_bypass_src",
121 "pll2_bypass", "pll2";
122 fsl,max_ddr_freq = <400000000>;
125 ocrams: sram@00900000 {
126 compatible = "fsl,lpm-sram";
127 reg = <0x00900000 0x4000>;
128 clocks = <&clks IMX6SL_CLK_OCRAM>;
131 ocrams_ddr: sram@00904000 {
132 compatible = "fsl,ddr-lpm-sram";
133 reg = <0x00904000 0x1000>;
134 clocks = <&clks IMX6SL_CLK_OCRAM>;
137 ocram: sram@00905000 {
138 compatible = "mmio-sram";
139 reg = <0x00905000 0x1B000>;
140 clocks = <&clks IMX6SL_CLK_OCRAM>;
143 L2: l2-cache@00a02000 {
144 compatible = "arm,pl310-cache";
145 reg = <0x00a02000 0x1000>;
146 interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
149 arm,tag-latency = <4 2 3>;
150 arm,data-latency = <4 2 3>;
154 compatible = "arm,cortex-a9-pmu";
155 interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
158 aips1: aips-bus@02000000 {
159 compatible = "fsl,aips-bus", "simple-bus";
160 #address-cells = <1>;
162 reg = <0x02000000 0x100000>;
165 spba: spba-bus@02000000 {
166 compatible = "fsl,spba-bus", "simple-bus";
167 #address-cells = <1>;
169 reg = <0x02000000 0x40000>;
172 spdif: spdif@02004000 {
173 compatible = "fsl,imx6sl-spdif",
175 reg = <0x02004000 0x4000>;
176 interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
177 dmas = <&sdma 14 18 0>,
179 dma-names = "rx", "tx";
180 clocks = <&clks IMX6SL_CLK_SPDIF_GCLK>, <&clks IMX6SL_CLK_OSC>,
181 <&clks IMX6SL_CLK_SPDIF>, <&clks IMX6SL_CLK_DUMMY>,
182 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_DUMMY>,
183 <&clks IMX6SL_CLK_IPG>, <&clks IMX6SL_CLK_DUMMY>,
184 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_SPBA>;
185 clock-names = "core", "rxtx0",
193 ecspi1: ecspi@02008000 {
194 #address-cells = <1>;
196 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
197 reg = <0x02008000 0x4000>;
198 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
199 clocks = <&clks IMX6SL_CLK_ECSPI1>,
200 <&clks IMX6SL_CLK_ECSPI1>;
201 clock-names = "ipg", "per";
202 dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
203 dma-names = "rx", "tx";
207 ecspi2: ecspi@0200c000 {
208 #address-cells = <1>;
210 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
211 reg = <0x0200c000 0x4000>;
212 interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
213 clocks = <&clks IMX6SL_CLK_ECSPI2>,
214 <&clks IMX6SL_CLK_ECSPI2>;
215 clock-names = "ipg", "per";
216 dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
217 dma-names = "rx", "tx";
221 ecspi3: ecspi@02010000 {
222 #address-cells = <1>;
224 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
225 reg = <0x02010000 0x4000>;
226 interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
227 clocks = <&clks IMX6SL_CLK_ECSPI3>,
228 <&clks IMX6SL_CLK_ECSPI3>;
229 clock-names = "ipg", "per";
230 dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
231 dma-names = "rx", "tx";
235 ecspi4: ecspi@02014000 {
236 #address-cells = <1>;
238 compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
239 reg = <0x02014000 0x4000>;
240 interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
241 clocks = <&clks IMX6SL_CLK_ECSPI4>,
242 <&clks IMX6SL_CLK_ECSPI4>;
243 clock-names = "ipg", "per";
244 dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;
245 dma-names = "rx", "tx";
249 uart5: serial@02018000 {
250 compatible = "fsl,imx6sl-uart",
251 "fsl,imx6q-uart", "fsl,imx21-uart";
252 reg = <0x02018000 0x4000>;
253 interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
254 clocks = <&clks IMX6SL_CLK_UART>,
255 <&clks IMX6SL_CLK_UART_SERIAL>;
256 clock-names = "ipg", "per";
257 dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
258 dma-names = "rx", "tx";
262 uart1: serial@02020000 {
263 compatible = "fsl,imx6sl-uart",
264 "fsl,imx6q-uart", "fsl,imx21-uart";
265 reg = <0x02020000 0x4000>;
266 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
267 clocks = <&clks IMX6SL_CLK_UART>,
268 <&clks IMX6SL_CLK_UART_SERIAL>;
269 clock-names = "ipg", "per";
270 dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
271 dma-names = "rx", "tx";
275 uart2: serial@02024000 {
276 compatible = "fsl,imx6sl-uart",
277 "fsl,imx6q-uart", "fsl,imx21-uart";
278 reg = <0x02024000 0x4000>;
279 interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
280 clocks = <&clks IMX6SL_CLK_UART>,
281 <&clks IMX6SL_CLK_UART_SERIAL>;
282 clock-names = "ipg", "per";
283 dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
284 dma-names = "rx", "tx";
289 compatible = "fsl,imx6sl-ssi","fsl,imx21-ssi";
290 reg = <0x02028000 0x4000>;
291 interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
292 clocks = <&clks IMX6SL_CLK_SSI1_IPG>,
293 <&clks IMX6SL_CLK_SSI1>;
294 clock-names = "ipg", "baud";
295 dmas = <&sdma 37 1 0>,
297 dma-names = "rx", "tx";
298 fsl,fifo-depth = <15>;
303 compatible = "fsl,imx6sl-ssi","fsl,imx21-ssi";
304 reg = <0x0202c000 0x4000>;
305 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
306 clocks = <&clks IMX6SL_CLK_SSI2_IPG>,
307 <&clks IMX6SL_CLK_SSI2>;
308 clock-names = "ipg", "baud";
309 dmas = <&sdma 41 1 0>,
311 dma-names = "rx", "tx";
312 fsl,fifo-depth = <15>;
317 compatible = "fsl,imx6sl-ssi","fsl,imx21-ssi";
318 reg = <0x02030000 0x4000>;
319 interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
320 clocks = <&clks IMX6SL_CLK_SSI3_IPG>,
321 <&clks IMX6SL_CLK_SSI3>;
322 clock-names = "ipg", "baud";
323 dmas = <&sdma 45 1 0>,
325 dma-names = "rx", "tx";
326 fsl,fifo-depth = <15>;
330 uart3: serial@02034000 {
331 compatible = "fsl,imx6sl-uart",
332 "fsl,imx6q-uart", "fsl,imx21-uart";
333 reg = <0x02034000 0x4000>;
334 interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
335 clocks = <&clks IMX6SL_CLK_UART>,
336 <&clks IMX6SL_CLK_UART_SERIAL>;
337 clock-names = "ipg", "per";
338 dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
339 dma-names = "rx", "tx";
343 uart4: serial@02038000 {
344 compatible = "fsl,imx6sl-uart",
345 "fsl,imx6q-uart", "fsl,imx21-uart";
346 reg = <0x02038000 0x4000>;
347 interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
348 clocks = <&clks IMX6SL_CLK_UART>,
349 <&clks IMX6SL_CLK_UART_SERIAL>;
350 clock-names = "ipg", "per";
351 dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
352 dma-names = "rx", "tx";
359 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
360 reg = <0x02080000 0x4000>;
361 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
362 clocks = <&clks IMX6SL_CLK_PWM1>,
363 <&clks IMX6SL_CLK_PWM1>;
364 clock-names = "ipg", "per";
369 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
370 reg = <0x02084000 0x4000>;
371 interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
372 clocks = <&clks IMX6SL_CLK_PWM2>,
373 <&clks IMX6SL_CLK_PWM2>;
374 clock-names = "ipg", "per";
379 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
380 reg = <0x02088000 0x4000>;
381 interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
382 clocks = <&clks IMX6SL_CLK_PWM3>,
383 <&clks IMX6SL_CLK_PWM3>;
384 clock-names = "ipg", "per";
389 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
390 reg = <0x0208c000 0x4000>;
391 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
392 clocks = <&clks IMX6SL_CLK_PWM4>,
393 <&clks IMX6SL_CLK_PWM4>;
394 clock-names = "ipg", "per";
398 compatible = "fsl,imx6sl-gpt";
399 reg = <0x02098000 0x4000>;
400 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
401 clocks = <&clks IMX6SL_CLK_GPT>,
402 <&clks IMX6SL_CLK_GPT_SERIAL>;
403 clock-names = "ipg", "per";
406 gpio1: gpio@0209c000 {
407 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
408 reg = <0x0209c000 0x4000>;
409 interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
410 <0 67 IRQ_TYPE_LEVEL_HIGH>;
413 interrupt-controller;
414 #interrupt-cells = <2>;
417 gpio2: gpio@020a0000 {
418 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
419 reg = <0x020a0000 0x4000>;
420 interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
421 <0 69 IRQ_TYPE_LEVEL_HIGH>;
424 interrupt-controller;
425 #interrupt-cells = <2>;
428 gpio3: gpio@020a4000 {
429 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
430 reg = <0x020a4000 0x4000>;
431 interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
432 <0 71 IRQ_TYPE_LEVEL_HIGH>;
435 interrupt-controller;
436 #interrupt-cells = <2>;
439 gpio4: gpio@020a8000 {
440 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
441 reg = <0x020a8000 0x4000>;
442 interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
443 <0 73 IRQ_TYPE_LEVEL_HIGH>;
446 interrupt-controller;
447 #interrupt-cells = <2>;
450 gpio5: gpio@020ac000 {
451 compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
452 reg = <0x020ac000 0x4000>;
453 interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
454 <0 75 IRQ_TYPE_LEVEL_HIGH>;
457 interrupt-controller;
458 #interrupt-cells = <2>;
462 compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp";
463 reg = <0x020b8000 0x4000>;
464 interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
465 clocks = <&clks IMX6SL_CLK_DUMMY>;
468 wdog1: wdog@020bc000 {
469 compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
470 reg = <0x020bc000 0x4000>;
471 interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
472 clocks = <&clks IMX6SL_CLK_DUMMY>;
475 wdog2: wdog@020c0000 {
476 compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
477 reg = <0x020c0000 0x4000>;
478 interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
479 clocks = <&clks IMX6SL_CLK_DUMMY>;
484 compatible = "fsl,imx6sl-ccm";
485 reg = <0x020c4000 0x4000>;
486 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
487 <0 88 IRQ_TYPE_LEVEL_HIGH>;
491 anatop: anatop@020c8000 {
492 compatible = "fsl,imx6sl-anatop",
494 "syscon", "simple-bus";
495 reg = <0x020c8000 0x1000>;
496 interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
497 <0 54 IRQ_TYPE_LEVEL_HIGH>,
498 <0 127 IRQ_TYPE_LEVEL_HIGH>;
501 compatible = "fsl,anatop-regulator";
502 regulator-name = "vdd1p1";
503 regulator-min-microvolt = <800000>;
504 regulator-max-microvolt = <1375000>;
506 anatop-reg-offset = <0x110>;
507 anatop-vol-bit-shift = <8>;
508 anatop-vol-bit-width = <5>;
509 anatop-min-bit-val = <4>;
510 anatop-min-voltage = <800000>;
511 anatop-max-voltage = <1375000>;
515 compatible = "fsl,anatop-regulator";
516 regulator-name = "vdd3p0";
517 regulator-min-microvolt = <2800000>;
518 regulator-max-microvolt = <3150000>;
520 anatop-reg-offset = <0x120>;
521 anatop-vol-bit-shift = <8>;
522 anatop-vol-bit-width = <5>;
523 anatop-min-bit-val = <0>;
524 anatop-min-voltage = <2625000>;
525 anatop-max-voltage = <3400000>;
529 compatible = "fsl,anatop-regulator";
530 regulator-name = "vdd2p5";
531 regulator-min-microvolt = <2100000>;
532 regulator-max-microvolt = <2850000>;
534 anatop-reg-offset = <0x130>;
535 anatop-vol-bit-shift = <8>;
536 anatop-vol-bit-width = <5>;
537 anatop-min-bit-val = <0>;
538 anatop-min-voltage = <2100000>;
539 anatop-max-voltage = <2850000>;
542 reg_arm: regulator-vddcore@140 {
543 compatible = "fsl,anatop-regulator";
544 regulator-name = "vddarm";
545 regulator-min-microvolt = <725000>;
546 regulator-max-microvolt = <1450000>;
548 anatop-reg-offset = <0x140>;
549 anatop-vol-bit-shift = <0>;
550 anatop-vol-bit-width = <5>;
551 anatop-delay-reg-offset = <0x170>;
552 anatop-delay-bit-shift = <24>;
553 anatop-delay-bit-width = <2>;
554 anatop-min-bit-val = <1>;
555 anatop-min-voltage = <725000>;
556 anatop-max-voltage = <1450000>;
557 regulator-allow-bypass;
560 reg_pu: regulator-vddpu@140 {
561 compatible = "fsl,anatop-regulator";
562 regulator-name = "vddpu";
563 regulator-min-microvolt = <725000>;
564 regulator-max-microvolt = <1450000>;
565 regulator-enable-ramp-delay = <150>;
567 anatop-reg-offset = <0x140>;
568 anatop-vol-bit-shift = <9>;
569 anatop-vol-bit-width = <5>;
570 anatop-delay-reg-offset = <0x170>;
571 anatop-delay-bit-shift = <26>;
572 anatop-delay-bit-width = <2>;
573 anatop-min-bit-val = <1>;
574 anatop-min-voltage = <725000>;
575 anatop-max-voltage = <1450000>;
576 regulator-allow-bypass;
579 reg_soc: regulator-vddsoc@140 {
580 compatible = "fsl,anatop-regulator";
581 regulator-name = "vddsoc";
582 regulator-min-microvolt = <725000>;
583 regulator-max-microvolt = <1450000>;
585 anatop-reg-offset = <0x140>;
586 anatop-vol-bit-shift = <18>;
587 anatop-vol-bit-width = <5>;
588 anatop-delay-reg-offset = <0x170>;
589 anatop-delay-bit-shift = <28>;
590 anatop-delay-bit-width = <2>;
591 anatop-min-bit-val = <1>;
592 anatop-min-voltage = <725000>;
593 anatop-max-voltage = <1450000>;
594 regulator-allow-bypass;
599 compatible = "fsl,imx6sl-tempmon", "fsl,imx6q-tempmon";
600 interrupts = <0 49 0x04>;
601 fsl,tempmon = <&anatop>;
602 fsl,tempmon-data = <&ocotp>;
603 clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
606 usbphy1: usbphy@020c9000 {
607 compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
608 reg = <0x020c9000 0x1000>;
609 interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
610 clocks = <&clks IMX6SL_CLK_USBPHY1>;
611 fsl,anatop = <&anatop>;
614 usbphy2: usbphy@020ca000 {
615 compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
616 reg = <0x020ca000 0x1000>;
617 interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
618 clocks = <&clks IMX6SL_CLK_USBPHY2>;
619 fsl,anatop = <&anatop>;
622 usbphy_nop1: usbphy_nop1 {
623 compatible = "usb-nop-xceiv";
624 clocks = <&clks IMX6SL_CLK_USBPHY1>;
625 clock-names = "main_clk";
629 compatible = "fsl,sec-v4.0-mon", "simple-bus";
630 #address-cells = <1>;
632 ranges = <0 0x020cc000 0x4000>;
635 compatible = "fsl,sec-v4.0-mon-rtc-lp";
637 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
638 <0 20 IRQ_TYPE_LEVEL_HIGH>;
642 epit1: epit@020d0000 {
643 reg = <0x020d0000 0x4000>;
644 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
647 epit2: epit@020d4000 {
648 reg = <0x020d4000 0x4000>;
649 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
653 compatible = "fsl,imx6sl-src", "fsl,imx51-src";
654 reg = <0x020d8000 0x4000>;
655 interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
656 <0 96 IRQ_TYPE_LEVEL_HIGH>;
661 compatible = "fsl,imx6sl-gpc", "fsl,imx6q-gpc";
662 reg = <0x020dc000 0x4000>;
663 interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
664 pu-supply = <®_pu>;
665 clocks = <&clks IMX6SL_CLK_GPU2D_PODF>, <&clks IMX6SL_CLK_GPU2D_OVG>,
666 <&clks IMX6SL_CLK_IPG>, <&clks IMX6SL_CLK_LCDIF_AXI>,
667 <&clks IMX6SL_CLK_LCDIF_PIX>, <&clks IMX6SL_CLK_EPDC_AXI>,
668 <&clks IMX6SL_CLK_EPDC_PIX>, <&clks IMX6SL_CLK_PXP_AXI>;
669 clock-names = "gpu2d_podf", "gpu2d_ovg", "ipg", "lcd_axi",
670 "lcd_pix", "epdc_axi", "epdc_pix", "pxp_axi";
671 #power-domain-cells = <1>;
674 gpr: iomuxc-gpr@020e0000 {
675 compatible = "fsl,imx6sl-iomuxc-gpr",
676 "fsl,imx6q-iomuxc-gpr", "syscon";
677 reg = <0x020e0000 0x38>;
680 iomuxc: iomuxc@020e0000 {
681 compatible = "fsl,imx6sl-iomuxc";
682 reg = <0x020e0000 0x4000>;
686 compatible = "fsl,imx6s-csi";
687 reg = <0x020e4000 0x4000>;
688 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
689 clocks = <&clks IMX6SL_CLK_DUMMY>,
690 <&clks IMX6SL_CLK_DUMMY>,
691 <&clks IMX6SL_CLK_DUMMY>;
692 clock-names = "disp-axi", "csi_mclk", "disp_dcic";
693 power-domains = <&gpc 2>;
697 spdc: spdc@020e8000 {
698 reg = <0x020e8000 0x4000>;
699 interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
702 sdma: sdma@020ec000 {
703 compatible = "fsl,imx6sl-sdma", "fsl,imx35-sdma";
704 reg = <0x020ec000 0x4000>;
705 interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
706 clocks = <&clks IMX6SL_CLK_SDMA>,
707 <&clks IMX6SL_CLK_SDMA>;
708 clock-names = "ipg", "ahb";
711 /* imx6sl reuses imx6q sdma firmware */
712 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
716 compatible = "fsl,imx6sl-pxp-dma", "fsl,imx6dl-pxp-dma";
717 reg = <0x020f0000 0x4000>;
718 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
719 clocks = <&clks IMX6SL_CLK_PXP_AXI>, <&clks IMX6SL_CLK_DUMMY>;
720 clock-names = "pxp-axi", "disp-axi";
721 power-domains = <&gpc 2>;
725 epdc: epdc@020f4000 {
726 compatible = "fsl,imx6sl-epdc", "fsl,imx6dl-epdc";
727 reg = <0x020f4000 0x4000>;
728 interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
729 clocks = <&clks IMX6SL_CLK_EPDC_AXI>, <&clks IMX6SL_CLK_EPDC_PIX>;
730 clock-names = "epdc_axi", "epdc_pix";
731 power-domains = <&gpc 2>;
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";
742 power-domains = <&gpc 2>;
748 reg = <0x020fc000 0x4000>;
749 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
753 aips2: aips-bus@02100000 {
754 compatible = "fsl,aips-bus", "simple-bus";
755 #address-cells = <1>;
757 reg = <0x02100000 0x100000>;
760 usbotg1: usb@02184000 {
761 compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
762 reg = <0x02184000 0x200>;
763 interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
764 clocks = <&clks IMX6SL_CLK_USBOH3>;
765 fsl,usbphy = <&usbphy1>;
766 fsl,usbmisc = <&usbmisc 0>;
767 fsl,anatop = <&anatop>;
771 usbotg2: usb@02184200 {
772 compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
773 reg = <0x02184200 0x200>;
774 interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
775 clocks = <&clks IMX6SL_CLK_USBOH3>;
776 fsl,usbphy = <&usbphy2>;
777 fsl,usbmisc = <&usbmisc 1>;
782 compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
783 reg = <0x02184400 0x200>;
784 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
785 clocks = <&clks IMX6SL_CLK_USBOH3>;
786 fsl,usbmisc = <&usbmisc 2>;
788 fsl,usbphy = <&usbphy_nop1>;
789 fsl,anatop = <&anatop>;
793 usbmisc: usbmisc@02184800 {
795 compatible = "fsl,imx6sl-usbmisc", "fsl,imx6q-usbmisc";
796 reg = <0x02184800 0x200>;
797 clocks = <&clks IMX6SL_CLK_USBOH3>;
800 fec: ethernet@02188000 {
801 compatible = "fsl,imx6sl-fec", "fsl,imx25-fec";
802 reg = <0x02188000 0x4000>;
803 interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
804 clocks = <&clks IMX6SL_CLK_ENET_REF>,
805 <&clks IMX6SL_CLK_ENET_REF>;
806 clock-names = "ipg", "ahb";
810 usdhc1: usdhc@02190000 {
811 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
812 reg = <0x02190000 0x4000>;
813 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
814 clocks = <&clks IMX6SL_CLK_USDHC1>,
815 <&clks IMX6SL_CLK_USDHC1>,
816 <&clks IMX6SL_CLK_USDHC1>;
817 clock-names = "ipg", "ahb", "per";
822 usdhc2: usdhc@02194000 {
823 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
824 reg = <0x02194000 0x4000>;
825 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
826 clocks = <&clks IMX6SL_CLK_USDHC2>,
827 <&clks IMX6SL_CLK_USDHC2>,
828 <&clks IMX6SL_CLK_USDHC2>;
829 clock-names = "ipg", "ahb", "per";
834 usdhc3: usdhc@02198000 {
835 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
836 reg = <0x02198000 0x4000>;
837 interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
838 clocks = <&clks IMX6SL_CLK_USDHC3>,
839 <&clks IMX6SL_CLK_USDHC3>,
840 <&clks IMX6SL_CLK_USDHC3>;
841 clock-names = "ipg", "ahb", "per";
846 usdhc4: usdhc@0219c000 {
847 compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
848 reg = <0x0219c000 0x4000>;
849 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
850 clocks = <&clks IMX6SL_CLK_USDHC4>,
851 <&clks IMX6SL_CLK_USDHC4>,
852 <&clks IMX6SL_CLK_USDHC4>;
853 clock-names = "ipg", "ahb", "per";
859 #address-cells = <1>;
861 compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
862 reg = <0x021a0000 0x4000>;
863 interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
864 clocks = <&clks IMX6SL_CLK_I2C1>;
869 #address-cells = <1>;
871 compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
872 reg = <0x021a4000 0x4000>;
873 interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
874 clocks = <&clks IMX6SL_CLK_I2C2>;
879 #address-cells = <1>;
881 compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
882 reg = <0x021a8000 0x4000>;
883 interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
884 clocks = <&clks IMX6SL_CLK_I2C3>;
888 mmdc: mmdc@021b0000 {
889 compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
890 reg = <0x021b0000 0x4000>;
893 rngb: rngb@021b4000 {
894 reg = <0x021b4000 0x4000>;
895 interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
898 weim: weim@021b8000 {
899 reg = <0x021b8000 0x4000>;
900 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
903 ocotp: ocotp-ctrl@021bc000 {
904 compatible = "syscon";
905 reg = <0x021bc000 0x4000>;
906 clocks = <&clks IMX6SL_CLK_OCOTP>;
909 ocotp-fuse@021bc000 {
910 compatible = "fsl,imx6sl-ocotp", "fsl,imx6q-ocotp";
911 reg = <0x021bc000 0x4000>;
912 clocks = <&clks IMX6SL_CLK_OCOTP>;
915 audmux: audmux@021d8000 {
916 compatible = "fsl,imx6sl-audmux", "fsl,imx31-audmux";
917 reg = <0x021d8000 0x4000>;
922 compatible = "fsl,imx6sl-gpu", "fsl,imx6q-gpu";
923 reg = <0x02200000 0x4000>, <0x02204000 0x4000>,
925 reg-names = "iobase_2d", "iobase_vg",
927 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
928 interrupt-names = "irq_2d", "irq_vg";
929 clocks = <&clks IMX6SL_CLK_MMDC_ROOT>,
930 <&clks IMX6SL_CLK_MMDC_ROOT>,
931 <&clks IMX6SL_CLK_GPU2D_OVG>;
932 clock-names = "gpu2d_axi_clk", "openvg_axi_clk",
934 resets = <&src 3>, <&src 3>;
935 reset-names = "gpu2d", "gpuvg";
936 power-domains = <&gpc 1>;