xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/imx6sl.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright 2013 Freescale Semiconductor, Inc.
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify
5*4882a593Smuzhiyun * it under the terms of the GNU General Public License version 2 as
6*4882a593Smuzhiyun * published by the Free Software Foundation.
7*4882a593Smuzhiyun *
8*4882a593Smuzhiyun */
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
11*4882a593Smuzhiyun#include "imx6sl-pinfunc.h"
12*4882a593Smuzhiyun#include <dt-bindings/clock/imx6sl-clock.h>
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun/ {
15*4882a593Smuzhiyun	#address-cells = <1>;
16*4882a593Smuzhiyun	#size-cells = <1>;
17*4882a593Smuzhiyun	/*
18*4882a593Smuzhiyun	 * The decompressor and also some bootloaders rely on a
19*4882a593Smuzhiyun	 * pre-existing /chosen node to be available to insert the
20*4882a593Smuzhiyun	 * command line and merge other ATAGS info.
21*4882a593Smuzhiyun	 * Also for U-Boot there must be a pre-existing /memory node.
22*4882a593Smuzhiyun	 */
23*4882a593Smuzhiyun	chosen {};
24*4882a593Smuzhiyun	memory { device_type = "memory"; reg = <0 0>; };
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	aliases {
27*4882a593Smuzhiyun		ethernet0 = &fec;
28*4882a593Smuzhiyun		gpio0 = &gpio1;
29*4882a593Smuzhiyun		gpio1 = &gpio2;
30*4882a593Smuzhiyun		gpio2 = &gpio3;
31*4882a593Smuzhiyun		gpio3 = &gpio4;
32*4882a593Smuzhiyun		gpio4 = &gpio5;
33*4882a593Smuzhiyun		serial0 = &uart1;
34*4882a593Smuzhiyun		serial1 = &uart2;
35*4882a593Smuzhiyun		serial2 = &uart3;
36*4882a593Smuzhiyun		serial3 = &uart4;
37*4882a593Smuzhiyun		serial4 = &uart5;
38*4882a593Smuzhiyun		spi0 = &ecspi1;
39*4882a593Smuzhiyun		spi1 = &ecspi2;
40*4882a593Smuzhiyun		spi2 = &ecspi3;
41*4882a593Smuzhiyun		spi3 = &ecspi4;
42*4882a593Smuzhiyun		usbphy0 = &usbphy1;
43*4882a593Smuzhiyun		usbphy1 = &usbphy2;
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	cpus {
47*4882a593Smuzhiyun		#address-cells = <1>;
48*4882a593Smuzhiyun		#size-cells = <0>;
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		cpu@0 {
51*4882a593Smuzhiyun			compatible = "arm,cortex-a9";
52*4882a593Smuzhiyun			device_type = "cpu";
53*4882a593Smuzhiyun			reg = <0x0>;
54*4882a593Smuzhiyun			next-level-cache = <&L2>;
55*4882a593Smuzhiyun			operating-points = <
56*4882a593Smuzhiyun				/* kHz    uV */
57*4882a593Smuzhiyun				996000  1275000
58*4882a593Smuzhiyun				792000  1175000
59*4882a593Smuzhiyun				396000  975000
60*4882a593Smuzhiyun			>;
61*4882a593Smuzhiyun			fsl,soc-operating-points = <
62*4882a593Smuzhiyun				/* ARM kHz      SOC-PU uV */
63*4882a593Smuzhiyun				996000          1225000
64*4882a593Smuzhiyun				792000          1175000
65*4882a593Smuzhiyun				396000          1175000
66*4882a593Smuzhiyun			>;
67*4882a593Smuzhiyun			clock-latency = <61036>; /* two CLK32 periods */
68*4882a593Smuzhiyun			clocks = <&clks IMX6SL_CLK_ARM>, <&clks IMX6SL_CLK_PLL2_PFD2>,
69*4882a593Smuzhiyun					<&clks IMX6SL_CLK_STEP>, <&clks IMX6SL_CLK_PLL1_SW>,
70*4882a593Smuzhiyun					<&clks IMX6SL_CLK_PLL1_SYS>;
71*4882a593Smuzhiyun			clock-names = "arm", "pll2_pfd2_396m", "step",
72*4882a593Smuzhiyun				      "pll1_sw", "pll1_sys";
73*4882a593Smuzhiyun			arm-supply = <&reg_arm>;
74*4882a593Smuzhiyun			pu-supply = <&reg_pu>;
75*4882a593Smuzhiyun			soc-supply = <&reg_soc>;
76*4882a593Smuzhiyun		};
77*4882a593Smuzhiyun	};
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	intc: interrupt-controller@00a01000 {
80*4882a593Smuzhiyun		compatible = "arm,cortex-a9-gic";
81*4882a593Smuzhiyun		#interrupt-cells = <3>;
82*4882a593Smuzhiyun		interrupt-controller;
83*4882a593Smuzhiyun		reg = <0x00a01000 0x1000>,
84*4882a593Smuzhiyun		      <0x00a00100 0x100>;
85*4882a593Smuzhiyun		interrupt-parent = <&intc>;
86*4882a593Smuzhiyun	};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun	clocks {
89*4882a593Smuzhiyun		#address-cells = <1>;
90*4882a593Smuzhiyun		#size-cells = <0>;
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun		ckil {
93*4882a593Smuzhiyun			compatible = "fixed-clock";
94*4882a593Smuzhiyun			#clock-cells = <0>;
95*4882a593Smuzhiyun			clock-frequency = <32768>;
96*4882a593Smuzhiyun		};
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun		osc {
99*4882a593Smuzhiyun			compatible = "fixed-clock";
100*4882a593Smuzhiyun			#clock-cells = <0>;
101*4882a593Smuzhiyun			clock-frequency = <24000000>;
102*4882a593Smuzhiyun		};
103*4882a593Smuzhiyun	};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun	soc {
106*4882a593Smuzhiyun		#address-cells = <1>;
107*4882a593Smuzhiyun		#size-cells = <1>;
108*4882a593Smuzhiyun		compatible = "simple-bus";
109*4882a593Smuzhiyun		interrupt-parent = <&gpc>;
110*4882a593Smuzhiyun		ranges;
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		ocram: sram@00900000 {
113*4882a593Smuzhiyun			compatible = "mmio-sram";
114*4882a593Smuzhiyun			reg = <0x00900000 0x20000>;
115*4882a593Smuzhiyun			clocks = <&clks IMX6SL_CLK_OCRAM>;
116*4882a593Smuzhiyun		};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun		L2: l2-cache@00a02000 {
119*4882a593Smuzhiyun			compatible = "arm,pl310-cache";
120*4882a593Smuzhiyun			reg = <0x00a02000 0x1000>;
121*4882a593Smuzhiyun			interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
122*4882a593Smuzhiyun			cache-unified;
123*4882a593Smuzhiyun			cache-level = <2>;
124*4882a593Smuzhiyun			arm,tag-latency = <4 2 3>;
125*4882a593Smuzhiyun			arm,data-latency = <4 2 3>;
126*4882a593Smuzhiyun		};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun		pmu {
129*4882a593Smuzhiyun			compatible = "arm,cortex-a9-pmu";
130*4882a593Smuzhiyun			interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
131*4882a593Smuzhiyun		};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun		aips1: aips-bus@02000000 {
134*4882a593Smuzhiyun			compatible = "fsl,aips-bus", "simple-bus";
135*4882a593Smuzhiyun			#address-cells = <1>;
136*4882a593Smuzhiyun			#size-cells = <1>;
137*4882a593Smuzhiyun			reg = <0x02000000 0x100000>;
138*4882a593Smuzhiyun			ranges;
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun			spba: spba-bus@02000000 {
141*4882a593Smuzhiyun				compatible = "fsl,spba-bus", "simple-bus";
142*4882a593Smuzhiyun				#address-cells = <1>;
143*4882a593Smuzhiyun				#size-cells = <1>;
144*4882a593Smuzhiyun				reg = <0x02000000 0x40000>;
145*4882a593Smuzhiyun				ranges;
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun				spdif: spdif@02004000 {
148*4882a593Smuzhiyun					compatible = "fsl,imx6sl-spdif",
149*4882a593Smuzhiyun						"fsl,imx35-spdif";
150*4882a593Smuzhiyun					reg = <0x02004000 0x4000>;
151*4882a593Smuzhiyun					interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
152*4882a593Smuzhiyun					dmas = <&sdma 14 18 0>,
153*4882a593Smuzhiyun						<&sdma 15 18 0>;
154*4882a593Smuzhiyun					dma-names = "rx", "tx";
155*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_SPDIF_GCLK>, <&clks IMX6SL_CLK_OSC>,
156*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_SPDIF>, <&clks IMX6SL_CLK_DUMMY>,
157*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_DUMMY>,
158*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_IPG>, <&clks IMX6SL_CLK_DUMMY>,
159*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_SPBA>;
160*4882a593Smuzhiyun					clock-names = "core", "rxtx0",
161*4882a593Smuzhiyun						"rxtx1", "rxtx2",
162*4882a593Smuzhiyun						"rxtx3", "rxtx4",
163*4882a593Smuzhiyun						"rxtx5", "rxtx6",
164*4882a593Smuzhiyun						"rxtx7", "spba";
165*4882a593Smuzhiyun					status = "disabled";
166*4882a593Smuzhiyun				};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun				ecspi1: ecspi@02008000 {
169*4882a593Smuzhiyun					#address-cells = <1>;
170*4882a593Smuzhiyun					#size-cells = <0>;
171*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
172*4882a593Smuzhiyun					reg = <0x02008000 0x4000>;
173*4882a593Smuzhiyun					interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
174*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_ECSPI1>,
175*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_ECSPI1>;
176*4882a593Smuzhiyun					clock-names = "ipg", "per";
177*4882a593Smuzhiyun					status = "disabled";
178*4882a593Smuzhiyun				};
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun				ecspi2: ecspi@0200c000 {
181*4882a593Smuzhiyun					#address-cells = <1>;
182*4882a593Smuzhiyun					#size-cells = <0>;
183*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
184*4882a593Smuzhiyun					reg = <0x0200c000 0x4000>;
185*4882a593Smuzhiyun					interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
186*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_ECSPI2>,
187*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_ECSPI2>;
188*4882a593Smuzhiyun					clock-names = "ipg", "per";
189*4882a593Smuzhiyun					status = "disabled";
190*4882a593Smuzhiyun				};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun				ecspi3: ecspi@02010000 {
193*4882a593Smuzhiyun					#address-cells = <1>;
194*4882a593Smuzhiyun					#size-cells = <0>;
195*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
196*4882a593Smuzhiyun					reg = <0x02010000 0x4000>;
197*4882a593Smuzhiyun					interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
198*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_ECSPI3>,
199*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_ECSPI3>;
200*4882a593Smuzhiyun					clock-names = "ipg", "per";
201*4882a593Smuzhiyun					status = "disabled";
202*4882a593Smuzhiyun				};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun				ecspi4: ecspi@02014000 {
205*4882a593Smuzhiyun					#address-cells = <1>;
206*4882a593Smuzhiyun					#size-cells = <0>;
207*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
208*4882a593Smuzhiyun					reg = <0x02014000 0x4000>;
209*4882a593Smuzhiyun					interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
210*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_ECSPI4>,
211*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_ECSPI4>;
212*4882a593Smuzhiyun					clock-names = "ipg", "per";
213*4882a593Smuzhiyun					status = "disabled";
214*4882a593Smuzhiyun				};
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun				uart5: serial@02018000 {
217*4882a593Smuzhiyun					compatible = "fsl,imx6sl-uart",
218*4882a593Smuzhiyun						   "fsl,imx6q-uart", "fsl,imx21-uart";
219*4882a593Smuzhiyun					reg = <0x02018000 0x4000>;
220*4882a593Smuzhiyun					interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
221*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_UART>,
222*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_UART_SERIAL>;
223*4882a593Smuzhiyun					clock-names = "ipg", "per";
224*4882a593Smuzhiyun					dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
225*4882a593Smuzhiyun					dma-names = "rx", "tx";
226*4882a593Smuzhiyun					status = "disabled";
227*4882a593Smuzhiyun				};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun				uart1: serial@02020000 {
230*4882a593Smuzhiyun					compatible = "fsl,imx6sl-uart",
231*4882a593Smuzhiyun						   "fsl,imx6q-uart", "fsl,imx21-uart";
232*4882a593Smuzhiyun					reg = <0x02020000 0x4000>;
233*4882a593Smuzhiyun					interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
234*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_UART>,
235*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_UART_SERIAL>;
236*4882a593Smuzhiyun					clock-names = "ipg", "per";
237*4882a593Smuzhiyun					dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
238*4882a593Smuzhiyun					dma-names = "rx", "tx";
239*4882a593Smuzhiyun					status = "disabled";
240*4882a593Smuzhiyun				};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun				uart2: serial@02024000 {
243*4882a593Smuzhiyun					compatible = "fsl,imx6sl-uart",
244*4882a593Smuzhiyun						   "fsl,imx6q-uart", "fsl,imx21-uart";
245*4882a593Smuzhiyun					reg = <0x02024000 0x4000>;
246*4882a593Smuzhiyun					interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
247*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_UART>,
248*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_UART_SERIAL>;
249*4882a593Smuzhiyun					clock-names = "ipg", "per";
250*4882a593Smuzhiyun					dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
251*4882a593Smuzhiyun					dma-names = "rx", "tx";
252*4882a593Smuzhiyun					status = "disabled";
253*4882a593Smuzhiyun				};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun				ssi1: ssi@02028000 {
256*4882a593Smuzhiyun					#sound-dai-cells = <0>;
257*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ssi",
258*4882a593Smuzhiyun							"fsl,imx51-ssi";
259*4882a593Smuzhiyun					reg = <0x02028000 0x4000>;
260*4882a593Smuzhiyun					interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
261*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_SSI1_IPG>,
262*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_SSI1>;
263*4882a593Smuzhiyun					clock-names = "ipg", "baud";
264*4882a593Smuzhiyun					dmas = <&sdma 37 1 0>,
265*4882a593Smuzhiyun					       <&sdma 38 1 0>;
266*4882a593Smuzhiyun					dma-names = "rx", "tx";
267*4882a593Smuzhiyun					fsl,fifo-depth = <15>;
268*4882a593Smuzhiyun					status = "disabled";
269*4882a593Smuzhiyun				};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun				ssi2: ssi@0202c000 {
272*4882a593Smuzhiyun					#sound-dai-cells = <0>;
273*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ssi",
274*4882a593Smuzhiyun							"fsl,imx51-ssi";
275*4882a593Smuzhiyun					reg = <0x0202c000 0x4000>;
276*4882a593Smuzhiyun					interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
277*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_SSI2_IPG>,
278*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_SSI2>;
279*4882a593Smuzhiyun					clock-names = "ipg", "baud";
280*4882a593Smuzhiyun					dmas = <&sdma 41 1 0>,
281*4882a593Smuzhiyun					       <&sdma 42 1 0>;
282*4882a593Smuzhiyun					dma-names = "rx", "tx";
283*4882a593Smuzhiyun					fsl,fifo-depth = <15>;
284*4882a593Smuzhiyun					status = "disabled";
285*4882a593Smuzhiyun				};
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun				ssi3: ssi@02030000 {
288*4882a593Smuzhiyun					#sound-dai-cells = <0>;
289*4882a593Smuzhiyun					compatible = "fsl,imx6sl-ssi",
290*4882a593Smuzhiyun							"fsl,imx51-ssi";
291*4882a593Smuzhiyun					reg = <0x02030000 0x4000>;
292*4882a593Smuzhiyun					interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
293*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_SSI3_IPG>,
294*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_SSI3>;
295*4882a593Smuzhiyun					clock-names = "ipg", "baud";
296*4882a593Smuzhiyun					dmas = <&sdma 45 1 0>,
297*4882a593Smuzhiyun					       <&sdma 46 1 0>;
298*4882a593Smuzhiyun					dma-names = "rx", "tx";
299*4882a593Smuzhiyun					fsl,fifo-depth = <15>;
300*4882a593Smuzhiyun					status = "disabled";
301*4882a593Smuzhiyun				};
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun				uart3: serial@02034000 {
304*4882a593Smuzhiyun					compatible = "fsl,imx6sl-uart",
305*4882a593Smuzhiyun						   "fsl,imx6q-uart", "fsl,imx21-uart";
306*4882a593Smuzhiyun					reg = <0x02034000 0x4000>;
307*4882a593Smuzhiyun					interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
308*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_UART>,
309*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_UART_SERIAL>;
310*4882a593Smuzhiyun					clock-names = "ipg", "per";
311*4882a593Smuzhiyun					dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
312*4882a593Smuzhiyun					dma-names = "rx", "tx";
313*4882a593Smuzhiyun					status = "disabled";
314*4882a593Smuzhiyun				};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun				uart4: serial@02038000 {
317*4882a593Smuzhiyun					compatible = "fsl,imx6sl-uart",
318*4882a593Smuzhiyun						   "fsl,imx6q-uart", "fsl,imx21-uart";
319*4882a593Smuzhiyun					reg = <0x02038000 0x4000>;
320*4882a593Smuzhiyun					interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
321*4882a593Smuzhiyun					clocks = <&clks IMX6SL_CLK_UART>,
322*4882a593Smuzhiyun						 <&clks IMX6SL_CLK_UART_SERIAL>;
323*4882a593Smuzhiyun					clock-names = "ipg", "per";
324*4882a593Smuzhiyun					dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
325*4882a593Smuzhiyun					dma-names = "rx", "tx";
326*4882a593Smuzhiyun					status = "disabled";
327*4882a593Smuzhiyun				};
328*4882a593Smuzhiyun			};
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun			pwm1: pwm@02080000 {
331*4882a593Smuzhiyun				#pwm-cells = <2>;
332*4882a593Smuzhiyun				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
333*4882a593Smuzhiyun				reg = <0x02080000 0x4000>;
334*4882a593Smuzhiyun				interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
335*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_PWM1>,
336*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_PWM1>;
337*4882a593Smuzhiyun				clock-names = "ipg", "per";
338*4882a593Smuzhiyun			};
339*4882a593Smuzhiyun
340*4882a593Smuzhiyun			pwm2: pwm@02084000 {
341*4882a593Smuzhiyun				#pwm-cells = <2>;
342*4882a593Smuzhiyun				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
343*4882a593Smuzhiyun				reg = <0x02084000 0x4000>;
344*4882a593Smuzhiyun				interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
345*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_PWM2>,
346*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_PWM2>;
347*4882a593Smuzhiyun				clock-names = "ipg", "per";
348*4882a593Smuzhiyun			};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun			pwm3: pwm@02088000 {
351*4882a593Smuzhiyun				#pwm-cells = <2>;
352*4882a593Smuzhiyun				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
353*4882a593Smuzhiyun				reg = <0x02088000 0x4000>;
354*4882a593Smuzhiyun				interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
355*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_PWM3>,
356*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_PWM3>;
357*4882a593Smuzhiyun				clock-names = "ipg", "per";
358*4882a593Smuzhiyun			};
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun			pwm4: pwm@0208c000 {
361*4882a593Smuzhiyun				#pwm-cells = <2>;
362*4882a593Smuzhiyun				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
363*4882a593Smuzhiyun				reg = <0x0208c000 0x4000>;
364*4882a593Smuzhiyun				interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
365*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_PWM4>,
366*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_PWM4>;
367*4882a593Smuzhiyun				clock-names = "ipg", "per";
368*4882a593Smuzhiyun			};
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun			gpt: gpt@02098000 {
371*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpt";
372*4882a593Smuzhiyun				reg = <0x02098000 0x4000>;
373*4882a593Smuzhiyun				interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
374*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_GPT>,
375*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_GPT_SERIAL>;
376*4882a593Smuzhiyun				clock-names = "ipg", "per";
377*4882a593Smuzhiyun			};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun			gpio1: gpio@0209c000 {
380*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
381*4882a593Smuzhiyun				reg = <0x0209c000 0x4000>;
382*4882a593Smuzhiyun				interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
383*4882a593Smuzhiyun					     <0 67 IRQ_TYPE_LEVEL_HIGH>;
384*4882a593Smuzhiyun				gpio-controller;
385*4882a593Smuzhiyun				#gpio-cells = <2>;
386*4882a593Smuzhiyun				interrupt-controller;
387*4882a593Smuzhiyun				#interrupt-cells = <2>;
388*4882a593Smuzhiyun				gpio-ranges = <&iomuxc  0 22 1>, <&iomuxc  1 20 2>,
389*4882a593Smuzhiyun					      <&iomuxc  3 23 1>, <&iomuxc  4 25 1>,
390*4882a593Smuzhiyun					      <&iomuxc  5 24 1>, <&iomuxc  6 19 1>,
391*4882a593Smuzhiyun					      <&iomuxc  7 36 2>, <&iomuxc  9 44 8>,
392*4882a593Smuzhiyun					      <&iomuxc 17 38 6>, <&iomuxc 23 68 4>,
393*4882a593Smuzhiyun					      <&iomuxc 27 64 4>, <&iomuxc 31 52 1>;
394*4882a593Smuzhiyun			};
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun			gpio2: gpio@020a0000 {
397*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
398*4882a593Smuzhiyun				reg = <0x020a0000 0x4000>;
399*4882a593Smuzhiyun				interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
400*4882a593Smuzhiyun					     <0 69 IRQ_TYPE_LEVEL_HIGH>;
401*4882a593Smuzhiyun				gpio-controller;
402*4882a593Smuzhiyun				#gpio-cells = <2>;
403*4882a593Smuzhiyun				interrupt-controller;
404*4882a593Smuzhiyun				#interrupt-cells = <2>;
405*4882a593Smuzhiyun				gpio-ranges = <&iomuxc  0  53 3>, <&iomuxc  3  72 2>,
406*4882a593Smuzhiyun					      <&iomuxc  5  34 2>, <&iomuxc  7  57 4>,
407*4882a593Smuzhiyun					      <&iomuxc 11  56 1>, <&iomuxc 12  61 3>,
408*4882a593Smuzhiyun					      <&iomuxc 15 107 1>, <&iomuxc 16 132 2>,
409*4882a593Smuzhiyun					      <&iomuxc 18 135 1>, <&iomuxc 19 134 1>,
410*4882a593Smuzhiyun					      <&iomuxc 20 108 2>, <&iomuxc 22 120 1>,
411*4882a593Smuzhiyun					      <&iomuxc 23 125 7>, <&iomuxc 30 110 2>;
412*4882a593Smuzhiyun			};
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun			gpio3: gpio@020a4000 {
415*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
416*4882a593Smuzhiyun				reg = <0x020a4000 0x4000>;
417*4882a593Smuzhiyun				interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
418*4882a593Smuzhiyun					     <0 71 IRQ_TYPE_LEVEL_HIGH>;
419*4882a593Smuzhiyun				gpio-controller;
420*4882a593Smuzhiyun				#gpio-cells = <2>;
421*4882a593Smuzhiyun				interrupt-controller;
422*4882a593Smuzhiyun				#interrupt-cells = <2>;
423*4882a593Smuzhiyun				gpio-ranges = <&iomuxc  0 112 8>, <&iomuxc  8 121 4>,
424*4882a593Smuzhiyun					      <&iomuxc 12  97 4>, <&iomuxc 16 166 3>,
425*4882a593Smuzhiyun					      <&iomuxc 19  85 2>, <&iomuxc 21 137 2>,
426*4882a593Smuzhiyun					      <&iomuxc 23 136 1>, <&iomuxc 24  91 1>,
427*4882a593Smuzhiyun					      <&iomuxc 25  99 1>, <&iomuxc 26  92 1>,
428*4882a593Smuzhiyun					      <&iomuxc 27 100 1>, <&iomuxc 28  93 1>,
429*4882a593Smuzhiyun					      <&iomuxc 29 101 1>, <&iomuxc 30  94 1>,
430*4882a593Smuzhiyun					      <&iomuxc 31 102 1>;
431*4882a593Smuzhiyun			};
432*4882a593Smuzhiyun
433*4882a593Smuzhiyun			gpio4: gpio@020a8000 {
434*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
435*4882a593Smuzhiyun				reg = <0x020a8000 0x4000>;
436*4882a593Smuzhiyun				interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
437*4882a593Smuzhiyun					     <0 73 IRQ_TYPE_LEVEL_HIGH>;
438*4882a593Smuzhiyun				gpio-controller;
439*4882a593Smuzhiyun				#gpio-cells = <2>;
440*4882a593Smuzhiyun				interrupt-controller;
441*4882a593Smuzhiyun				#interrupt-cells = <2>;
442*4882a593Smuzhiyun				gpio-ranges = <&iomuxc  0  95 1>, <&iomuxc  1 103 1>,
443*4882a593Smuzhiyun					      <&iomuxc  2  96 1>, <&iomuxc  3 104 1>,
444*4882a593Smuzhiyun					      <&iomuxc  4  97 1>, <&iomuxc  5 105 1>,
445*4882a593Smuzhiyun					      <&iomuxc  6  98 1>, <&iomuxc  7 106 1>,
446*4882a593Smuzhiyun					      <&iomuxc  8  28 1>, <&iomuxc  9  27 1>,
447*4882a593Smuzhiyun					      <&iomuxc 10  26 1>, <&iomuxc 11  29 1>,
448*4882a593Smuzhiyun					      <&iomuxc 12  32 1>, <&iomuxc 13  31 1>,
449*4882a593Smuzhiyun					      <&iomuxc 14  30 1>, <&iomuxc 15  33 1>,
450*4882a593Smuzhiyun					      <&iomuxc 16  84 1>, <&iomuxc 17  79 2>,
451*4882a593Smuzhiyun					      <&iomuxc 19  78 1>, <&iomuxc 20  76 1>,
452*4882a593Smuzhiyun					      <&iomuxc 21  81 2>, <&iomuxc 23  75 1>,
453*4882a593Smuzhiyun					      <&iomuxc 24  83 1>, <&iomuxc 25  74 1>,
454*4882a593Smuzhiyun					      <&iomuxc 26  77 1>, <&iomuxc 27 159 1>,
455*4882a593Smuzhiyun					      <&iomuxc 28 154 1>, <&iomuxc 29 157 1>,
456*4882a593Smuzhiyun					      <&iomuxc 30 152 1>, <&iomuxc 31 156 1>;
457*4882a593Smuzhiyun			};
458*4882a593Smuzhiyun
459*4882a593Smuzhiyun			gpio5: gpio@020ac000 {
460*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
461*4882a593Smuzhiyun				reg = <0x020ac000 0x4000>;
462*4882a593Smuzhiyun				interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
463*4882a593Smuzhiyun					     <0 75 IRQ_TYPE_LEVEL_HIGH>;
464*4882a593Smuzhiyun				gpio-controller;
465*4882a593Smuzhiyun				#gpio-cells = <2>;
466*4882a593Smuzhiyun				interrupt-controller;
467*4882a593Smuzhiyun				#interrupt-cells = <2>;
468*4882a593Smuzhiyun				gpio-ranges = <&iomuxc  0 158 1>, <&iomuxc  1 151 1>,
469*4882a593Smuzhiyun					      <&iomuxc  2 155 1>, <&iomuxc  3 153 1>,
470*4882a593Smuzhiyun					      <&iomuxc  4 150 1>, <&iomuxc  5 149 1>,
471*4882a593Smuzhiyun					      <&iomuxc  6 144 1>, <&iomuxc  7 147 1>,
472*4882a593Smuzhiyun					      <&iomuxc  8 142 1>, <&iomuxc  9 146 1>,
473*4882a593Smuzhiyun					      <&iomuxc 10 148 1>, <&iomuxc 11 141 1>,
474*4882a593Smuzhiyun					      <&iomuxc 12 145 1>, <&iomuxc 13 143 1>,
475*4882a593Smuzhiyun					      <&iomuxc 14 140 1>, <&iomuxc 15 139 1>,
476*4882a593Smuzhiyun					      <&iomuxc 16 164 2>, <&iomuxc 18 160 1>,
477*4882a593Smuzhiyun					      <&iomuxc 19 162 1>, <&iomuxc 20 163 1>,
478*4882a593Smuzhiyun					      <&iomuxc 21 161 1>;
479*4882a593Smuzhiyun			};
480*4882a593Smuzhiyun
481*4882a593Smuzhiyun			kpp: kpp@020b8000 {
482*4882a593Smuzhiyun				compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp";
483*4882a593Smuzhiyun				reg = <0x020b8000 0x4000>;
484*4882a593Smuzhiyun				interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
485*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_DUMMY>;
486*4882a593Smuzhiyun				status = "disabled";
487*4882a593Smuzhiyun			};
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun			wdog1: wdog@020bc000 {
490*4882a593Smuzhiyun				compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
491*4882a593Smuzhiyun				reg = <0x020bc000 0x4000>;
492*4882a593Smuzhiyun				interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
493*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_DUMMY>;
494*4882a593Smuzhiyun			};
495*4882a593Smuzhiyun
496*4882a593Smuzhiyun			wdog2: wdog@020c0000 {
497*4882a593Smuzhiyun				compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
498*4882a593Smuzhiyun				reg = <0x020c0000 0x4000>;
499*4882a593Smuzhiyun				interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
500*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_DUMMY>;
501*4882a593Smuzhiyun				status = "disabled";
502*4882a593Smuzhiyun			};
503*4882a593Smuzhiyun
504*4882a593Smuzhiyun			clks: ccm@020c4000 {
505*4882a593Smuzhiyun				compatible = "fsl,imx6sl-ccm";
506*4882a593Smuzhiyun				reg = <0x020c4000 0x4000>;
507*4882a593Smuzhiyun				interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
508*4882a593Smuzhiyun					     <0 88 IRQ_TYPE_LEVEL_HIGH>;
509*4882a593Smuzhiyun				#clock-cells = <1>;
510*4882a593Smuzhiyun			};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun			anatop: anatop@020c8000 {
513*4882a593Smuzhiyun				compatible = "fsl,imx6sl-anatop",
514*4882a593Smuzhiyun					     "fsl,imx6q-anatop",
515*4882a593Smuzhiyun					     "syscon", "simple-bus";
516*4882a593Smuzhiyun				reg = <0x020c8000 0x1000>;
517*4882a593Smuzhiyun				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
518*4882a593Smuzhiyun					     <0 54 IRQ_TYPE_LEVEL_HIGH>,
519*4882a593Smuzhiyun					     <0 127 IRQ_TYPE_LEVEL_HIGH>;
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun				regulator-1p1 {
522*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
523*4882a593Smuzhiyun					regulator-name = "vdd1p1";
524*4882a593Smuzhiyun					regulator-min-microvolt = <800000>;
525*4882a593Smuzhiyun					regulator-max-microvolt = <1375000>;
526*4882a593Smuzhiyun					regulator-always-on;
527*4882a593Smuzhiyun					anatop-reg-offset = <0x110>;
528*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
529*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
530*4882a593Smuzhiyun					anatop-min-bit-val = <4>;
531*4882a593Smuzhiyun					anatop-min-voltage = <800000>;
532*4882a593Smuzhiyun					anatop-max-voltage = <1375000>;
533*4882a593Smuzhiyun				};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun				regulator-3p0 {
536*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
537*4882a593Smuzhiyun					regulator-name = "vdd3p0";
538*4882a593Smuzhiyun					regulator-min-microvolt = <2800000>;
539*4882a593Smuzhiyun					regulator-max-microvolt = <3150000>;
540*4882a593Smuzhiyun					regulator-always-on;
541*4882a593Smuzhiyun					anatop-reg-offset = <0x120>;
542*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
543*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
544*4882a593Smuzhiyun					anatop-min-bit-val = <0>;
545*4882a593Smuzhiyun					anatop-min-voltage = <2625000>;
546*4882a593Smuzhiyun					anatop-max-voltage = <3400000>;
547*4882a593Smuzhiyun				};
548*4882a593Smuzhiyun
549*4882a593Smuzhiyun				regulator-2p5 {
550*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
551*4882a593Smuzhiyun					regulator-name = "vdd2p5";
552*4882a593Smuzhiyun					regulator-min-microvolt = <2100000>;
553*4882a593Smuzhiyun					regulator-max-microvolt = <2850000>;
554*4882a593Smuzhiyun					regulator-always-on;
555*4882a593Smuzhiyun					anatop-reg-offset = <0x130>;
556*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
557*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
558*4882a593Smuzhiyun					anatop-min-bit-val = <0>;
559*4882a593Smuzhiyun					anatop-min-voltage = <2100000>;
560*4882a593Smuzhiyun					anatop-max-voltage = <2850000>;
561*4882a593Smuzhiyun				};
562*4882a593Smuzhiyun
563*4882a593Smuzhiyun				reg_arm: regulator-vddcore {
564*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
565*4882a593Smuzhiyun					regulator-name = "vddarm";
566*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
567*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
568*4882a593Smuzhiyun					regulator-always-on;
569*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
570*4882a593Smuzhiyun					anatop-vol-bit-shift = <0>;
571*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
572*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
573*4882a593Smuzhiyun					anatop-delay-bit-shift = <24>;
574*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
575*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
576*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
577*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
578*4882a593Smuzhiyun				};
579*4882a593Smuzhiyun
580*4882a593Smuzhiyun				reg_pu: regulator-vddpu {
581*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
582*4882a593Smuzhiyun					regulator-name = "vddpu";
583*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
584*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
585*4882a593Smuzhiyun					regulator-always-on;
586*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
587*4882a593Smuzhiyun					anatop-vol-bit-shift = <9>;
588*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
589*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
590*4882a593Smuzhiyun					anatop-delay-bit-shift = <26>;
591*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
592*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
593*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
594*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
595*4882a593Smuzhiyun				};
596*4882a593Smuzhiyun
597*4882a593Smuzhiyun				reg_soc: regulator-vddsoc {
598*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
599*4882a593Smuzhiyun					regulator-name = "vddsoc";
600*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
601*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
602*4882a593Smuzhiyun					regulator-always-on;
603*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
604*4882a593Smuzhiyun					anatop-vol-bit-shift = <18>;
605*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
606*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
607*4882a593Smuzhiyun					anatop-delay-bit-shift = <28>;
608*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
609*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
610*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
611*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
612*4882a593Smuzhiyun				};
613*4882a593Smuzhiyun			};
614*4882a593Smuzhiyun
615*4882a593Smuzhiyun			tempmon: tempmon {
616*4882a593Smuzhiyun				compatible = "fsl,imx6q-tempmon";
617*4882a593Smuzhiyun				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
618*4882a593Smuzhiyun				fsl,tempmon = <&anatop>;
619*4882a593Smuzhiyun				fsl,tempmon-data = <&ocotp>;
620*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
621*4882a593Smuzhiyun			};
622*4882a593Smuzhiyun
623*4882a593Smuzhiyun			usbphy1: usbphy@020c9000 {
624*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
625*4882a593Smuzhiyun				reg = <0x020c9000 0x1000>;
626*4882a593Smuzhiyun				interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
627*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USBPHY1>;
628*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
629*4882a593Smuzhiyun			};
630*4882a593Smuzhiyun
631*4882a593Smuzhiyun			usbphy2: usbphy@020ca000 {
632*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
633*4882a593Smuzhiyun				reg = <0x020ca000 0x1000>;
634*4882a593Smuzhiyun				interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
635*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USBPHY2>;
636*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
637*4882a593Smuzhiyun			};
638*4882a593Smuzhiyun
639*4882a593Smuzhiyun			snvs: snvs@020cc000 {
640*4882a593Smuzhiyun				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
641*4882a593Smuzhiyun				reg = <0x020cc000 0x4000>;
642*4882a593Smuzhiyun
643*4882a593Smuzhiyun				snvs_rtc: snvs-rtc-lp {
644*4882a593Smuzhiyun					compatible = "fsl,sec-v4.0-mon-rtc-lp";
645*4882a593Smuzhiyun					regmap = <&snvs>;
646*4882a593Smuzhiyun					offset = <0x34>;
647*4882a593Smuzhiyun					interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
648*4882a593Smuzhiyun						     <0 20 IRQ_TYPE_LEVEL_HIGH>;
649*4882a593Smuzhiyun				};
650*4882a593Smuzhiyun
651*4882a593Smuzhiyun				snvs_poweroff: snvs-poweroff {
652*4882a593Smuzhiyun					compatible = "syscon-poweroff";
653*4882a593Smuzhiyun					regmap = <&snvs>;
654*4882a593Smuzhiyun					offset = <0x38>;
655*4882a593Smuzhiyun					mask = <0x60>;
656*4882a593Smuzhiyun					status = "disabled";
657*4882a593Smuzhiyun				};
658*4882a593Smuzhiyun			};
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun			epit1: epit@020d0000 {
661*4882a593Smuzhiyun				reg = <0x020d0000 0x4000>;
662*4882a593Smuzhiyun				interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
663*4882a593Smuzhiyun			};
664*4882a593Smuzhiyun
665*4882a593Smuzhiyun			epit2: epit@020d4000 {
666*4882a593Smuzhiyun				reg = <0x020d4000 0x4000>;
667*4882a593Smuzhiyun				interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
668*4882a593Smuzhiyun			};
669*4882a593Smuzhiyun
670*4882a593Smuzhiyun			src: src@020d8000 {
671*4882a593Smuzhiyun				compatible = "fsl,imx6sl-src", "fsl,imx51-src";
672*4882a593Smuzhiyun				reg = <0x020d8000 0x4000>;
673*4882a593Smuzhiyun				interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
674*4882a593Smuzhiyun					     <0 96 IRQ_TYPE_LEVEL_HIGH>;
675*4882a593Smuzhiyun				#reset-cells = <1>;
676*4882a593Smuzhiyun			};
677*4882a593Smuzhiyun
678*4882a593Smuzhiyun			gpc: gpc@020dc000 {
679*4882a593Smuzhiyun				compatible = "fsl,imx6sl-gpc", "fsl,imx6q-gpc";
680*4882a593Smuzhiyun				reg = <0x020dc000 0x4000>;
681*4882a593Smuzhiyun				interrupt-controller;
682*4882a593Smuzhiyun				#interrupt-cells = <3>;
683*4882a593Smuzhiyun				interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
684*4882a593Smuzhiyun				interrupt-parent = <&intc>;
685*4882a593Smuzhiyun				pu-supply = <&reg_pu>;
686*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_GPU2D_OVG>,
687*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_GPU2D_PODF>;
688*4882a593Smuzhiyun				#power-domain-cells = <1>;
689*4882a593Smuzhiyun			};
690*4882a593Smuzhiyun
691*4882a593Smuzhiyun			gpr: iomuxc-gpr@020e0000 {
692*4882a593Smuzhiyun				compatible = "fsl,imx6sl-iomuxc-gpr",
693*4882a593Smuzhiyun					     "fsl,imx6q-iomuxc-gpr", "syscon";
694*4882a593Smuzhiyun				reg = <0x020e0000 0x38>;
695*4882a593Smuzhiyun			};
696*4882a593Smuzhiyun
697*4882a593Smuzhiyun			iomuxc: iomuxc@020e0000 {
698*4882a593Smuzhiyun				compatible = "fsl,imx6sl-iomuxc";
699*4882a593Smuzhiyun				reg = <0x020e0000 0x4000>;
700*4882a593Smuzhiyun			};
701*4882a593Smuzhiyun
702*4882a593Smuzhiyun			csi: csi@020e4000 {
703*4882a593Smuzhiyun				reg = <0x020e4000 0x4000>;
704*4882a593Smuzhiyun				interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
705*4882a593Smuzhiyun			};
706*4882a593Smuzhiyun
707*4882a593Smuzhiyun			spdc: spdc@020e8000 {
708*4882a593Smuzhiyun				reg = <0x020e8000 0x4000>;
709*4882a593Smuzhiyun				interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
710*4882a593Smuzhiyun			};
711*4882a593Smuzhiyun
712*4882a593Smuzhiyun			sdma: sdma@020ec000 {
713*4882a593Smuzhiyun				compatible = "fsl,imx6sl-sdma", "fsl,imx6q-sdma";
714*4882a593Smuzhiyun				reg = <0x020ec000 0x4000>;
715*4882a593Smuzhiyun				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
716*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_SDMA>,
717*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_SDMA>;
718*4882a593Smuzhiyun				clock-names = "ipg", "ahb";
719*4882a593Smuzhiyun				#dma-cells = <3>;
720*4882a593Smuzhiyun				/* imx6sl reuses imx6q sdma firmware */
721*4882a593Smuzhiyun				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
722*4882a593Smuzhiyun			};
723*4882a593Smuzhiyun
724*4882a593Smuzhiyun			pxp: pxp@020f0000 {
725*4882a593Smuzhiyun				reg = <0x020f0000 0x4000>;
726*4882a593Smuzhiyun				interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
727*4882a593Smuzhiyun			};
728*4882a593Smuzhiyun
729*4882a593Smuzhiyun			epdc: epdc@020f4000 {
730*4882a593Smuzhiyun				reg = <0x020f4000 0x4000>;
731*4882a593Smuzhiyun				interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
732*4882a593Smuzhiyun			};
733*4882a593Smuzhiyun
734*4882a593Smuzhiyun			lcdif: lcdif@020f8000 {
735*4882a593Smuzhiyun				compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
736*4882a593Smuzhiyun				reg = <0x020f8000 0x4000>;
737*4882a593Smuzhiyun				interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
738*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
739*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_LCDIF_AXI>,
740*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_DUMMY>;
741*4882a593Smuzhiyun				clock-names = "pix", "axi", "disp_axi";
742*4882a593Smuzhiyun				status = "disabled";
743*4882a593Smuzhiyun			};
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun			dcp: dcp@020fc000 {
746*4882a593Smuzhiyun				compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp";
747*4882a593Smuzhiyun				reg = <0x020fc000 0x4000>;
748*4882a593Smuzhiyun				interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>,
749*4882a593Smuzhiyun					     <0 100 IRQ_TYPE_LEVEL_HIGH>,
750*4882a593Smuzhiyun					     <0 101 IRQ_TYPE_LEVEL_HIGH>;
751*4882a593Smuzhiyun			};
752*4882a593Smuzhiyun		};
753*4882a593Smuzhiyun
754*4882a593Smuzhiyun		aips2: aips-bus@02100000 {
755*4882a593Smuzhiyun			compatible = "fsl,aips-bus", "simple-bus";
756*4882a593Smuzhiyun			#address-cells = <1>;
757*4882a593Smuzhiyun			#size-cells = <1>;
758*4882a593Smuzhiyun			reg = <0x02100000 0x100000>;
759*4882a593Smuzhiyun			ranges;
760*4882a593Smuzhiyun
761*4882a593Smuzhiyun			usbotg1: usb@02184000 {
762*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
763*4882a593Smuzhiyun				reg = <0x02184000 0x200>;
764*4882a593Smuzhiyun				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
765*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USBOH3>;
766*4882a593Smuzhiyun				fsl,usbphy = <&usbphy1>;
767*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 0>;
768*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
769*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
770*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
771*4882a593Smuzhiyun				status = "disabled";
772*4882a593Smuzhiyun			};
773*4882a593Smuzhiyun
774*4882a593Smuzhiyun			usbotg2: usb@02184200 {
775*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
776*4882a593Smuzhiyun				reg = <0x02184200 0x200>;
777*4882a593Smuzhiyun				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
778*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USBOH3>;
779*4882a593Smuzhiyun				fsl,usbphy = <&usbphy2>;
780*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 1>;
781*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
782*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
783*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
784*4882a593Smuzhiyun				status = "disabled";
785*4882a593Smuzhiyun			};
786*4882a593Smuzhiyun
787*4882a593Smuzhiyun			usbh: usb@02184400 {
788*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
789*4882a593Smuzhiyun				reg = <0x02184400 0x200>;
790*4882a593Smuzhiyun				interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
791*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USBOH3>;
792*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 2>;
793*4882a593Smuzhiyun				dr_mode = "host";
794*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
795*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
796*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
797*4882a593Smuzhiyun				status = "disabled";
798*4882a593Smuzhiyun			};
799*4882a593Smuzhiyun
800*4882a593Smuzhiyun			usbmisc: usbmisc@02184800 {
801*4882a593Smuzhiyun				#index-cells = <1>;
802*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usbmisc", "fsl,imx6q-usbmisc";
803*4882a593Smuzhiyun				reg = <0x02184800 0x200>;
804*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USBOH3>;
805*4882a593Smuzhiyun			};
806*4882a593Smuzhiyun
807*4882a593Smuzhiyun			fec: ethernet@02188000 {
808*4882a593Smuzhiyun				compatible = "fsl,imx6sl-fec", "fsl,imx25-fec";
809*4882a593Smuzhiyun				reg = <0x02188000 0x4000>;
810*4882a593Smuzhiyun				interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
811*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_ENET>,
812*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_ENET_REF>;
813*4882a593Smuzhiyun				clock-names = "ipg", "ahb";
814*4882a593Smuzhiyun				status = "disabled";
815*4882a593Smuzhiyun			};
816*4882a593Smuzhiyun
817*4882a593Smuzhiyun			usdhc1: usdhc@02190000 {
818*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
819*4882a593Smuzhiyun				reg = <0x02190000 0x4000>;
820*4882a593Smuzhiyun				interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
821*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USDHC1>,
822*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC1>,
823*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC1>;
824*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
825*4882a593Smuzhiyun				bus-width = <4>;
826*4882a593Smuzhiyun				status = "disabled";
827*4882a593Smuzhiyun			};
828*4882a593Smuzhiyun
829*4882a593Smuzhiyun			usdhc2: usdhc@02194000 {
830*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
831*4882a593Smuzhiyun				reg = <0x02194000 0x4000>;
832*4882a593Smuzhiyun				interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
833*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USDHC2>,
834*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC2>,
835*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC2>;
836*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
837*4882a593Smuzhiyun				bus-width = <4>;
838*4882a593Smuzhiyun				status = "disabled";
839*4882a593Smuzhiyun			};
840*4882a593Smuzhiyun
841*4882a593Smuzhiyun			usdhc3: usdhc@02198000 {
842*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
843*4882a593Smuzhiyun				reg = <0x02198000 0x4000>;
844*4882a593Smuzhiyun				interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
845*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USDHC3>,
846*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC3>,
847*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC3>;
848*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
849*4882a593Smuzhiyun				bus-width = <4>;
850*4882a593Smuzhiyun				status = "disabled";
851*4882a593Smuzhiyun			};
852*4882a593Smuzhiyun
853*4882a593Smuzhiyun			usdhc4: usdhc@0219c000 {
854*4882a593Smuzhiyun				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
855*4882a593Smuzhiyun				reg = <0x0219c000 0x4000>;
856*4882a593Smuzhiyun				interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
857*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_USDHC4>,
858*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC4>,
859*4882a593Smuzhiyun					 <&clks IMX6SL_CLK_USDHC4>;
860*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
861*4882a593Smuzhiyun				bus-width = <4>;
862*4882a593Smuzhiyun				status = "disabled";
863*4882a593Smuzhiyun			};
864*4882a593Smuzhiyun
865*4882a593Smuzhiyun			i2c1: i2c@021a0000 {
866*4882a593Smuzhiyun				#address-cells = <1>;
867*4882a593Smuzhiyun				#size-cells = <0>;
868*4882a593Smuzhiyun				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
869*4882a593Smuzhiyun				reg = <0x021a0000 0x4000>;
870*4882a593Smuzhiyun				interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
871*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_I2C1>;
872*4882a593Smuzhiyun				status = "disabled";
873*4882a593Smuzhiyun			};
874*4882a593Smuzhiyun
875*4882a593Smuzhiyun			i2c2: i2c@021a4000 {
876*4882a593Smuzhiyun				#address-cells = <1>;
877*4882a593Smuzhiyun				#size-cells = <0>;
878*4882a593Smuzhiyun				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
879*4882a593Smuzhiyun				reg = <0x021a4000 0x4000>;
880*4882a593Smuzhiyun				interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
881*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_I2C2>;
882*4882a593Smuzhiyun				status = "disabled";
883*4882a593Smuzhiyun			};
884*4882a593Smuzhiyun
885*4882a593Smuzhiyun			i2c3: i2c@021a8000 {
886*4882a593Smuzhiyun				#address-cells = <1>;
887*4882a593Smuzhiyun				#size-cells = <0>;
888*4882a593Smuzhiyun				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
889*4882a593Smuzhiyun				reg = <0x021a8000 0x4000>;
890*4882a593Smuzhiyun				interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
891*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_I2C3>;
892*4882a593Smuzhiyun				status = "disabled";
893*4882a593Smuzhiyun			};
894*4882a593Smuzhiyun
895*4882a593Smuzhiyun			mmdc: mmdc@021b0000 {
896*4882a593Smuzhiyun				compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
897*4882a593Smuzhiyun				reg = <0x021b0000 0x4000>;
898*4882a593Smuzhiyun			};
899*4882a593Smuzhiyun
900*4882a593Smuzhiyun			rngb: rngb@021b4000 {
901*4882a593Smuzhiyun				reg = <0x021b4000 0x4000>;
902*4882a593Smuzhiyun				interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
903*4882a593Smuzhiyun			};
904*4882a593Smuzhiyun
905*4882a593Smuzhiyun			weim: weim@021b8000 {
906*4882a593Smuzhiyun				#address-cells = <2>;
907*4882a593Smuzhiyun				#size-cells = <1>;
908*4882a593Smuzhiyun				reg = <0x021b8000 0x4000>;
909*4882a593Smuzhiyun				interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
910*4882a593Smuzhiyun				fsl,weim-cs-gpr = <&gpr>;
911*4882a593Smuzhiyun				status = "disabled";
912*4882a593Smuzhiyun			};
913*4882a593Smuzhiyun
914*4882a593Smuzhiyun			ocotp: ocotp@021bc000 {
915*4882a593Smuzhiyun				compatible = "fsl,imx6sl-ocotp", "syscon";
916*4882a593Smuzhiyun				reg = <0x021bc000 0x4000>;
917*4882a593Smuzhiyun				clocks = <&clks IMX6SL_CLK_OCOTP>;
918*4882a593Smuzhiyun			};
919*4882a593Smuzhiyun
920*4882a593Smuzhiyun			audmux: audmux@021d8000 {
921*4882a593Smuzhiyun				compatible = "fsl,imx6sl-audmux", "fsl,imx31-audmux";
922*4882a593Smuzhiyun				reg = <0x021d8000 0x4000>;
923*4882a593Smuzhiyun				status = "disabled";
924*4882a593Smuzhiyun			};
925*4882a593Smuzhiyun		};
926*4882a593Smuzhiyun	};
927*4882a593Smuzhiyun};
928