xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/imx6qdl.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright 2011 Freescale Semiconductor, Inc.
3*4882a593Smuzhiyun * Copyright 2011 Linaro Ltd.
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * The code contained herein is licensed under the GNU General Public
6*4882a593Smuzhiyun * License. You may obtain a copy of the GNU General Public License
7*4882a593Smuzhiyun * Version 2 or later at the following locations:
8*4882a593Smuzhiyun *
9*4882a593Smuzhiyun * http://www.opensource.org/licenses/gpl-license.html
10*4882a593Smuzhiyun * http://www.gnu.org/copyleft/gpl.html
11*4882a593Smuzhiyun */
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun#include <dt-bindings/clock/imx6qdl-clock.h>
14*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun#include "skeleton.dtsi"
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun/ {
19*4882a593Smuzhiyun	aliases {
20*4882a593Smuzhiyun		ethernet0 = &fec;
21*4882a593Smuzhiyun		can0 = &can1;
22*4882a593Smuzhiyun		can1 = &can2;
23*4882a593Smuzhiyun		gpio0 = &gpio1;
24*4882a593Smuzhiyun		gpio1 = &gpio2;
25*4882a593Smuzhiyun		gpio2 = &gpio3;
26*4882a593Smuzhiyun		gpio3 = &gpio4;
27*4882a593Smuzhiyun		gpio4 = &gpio5;
28*4882a593Smuzhiyun		gpio5 = &gpio6;
29*4882a593Smuzhiyun		gpio6 = &gpio7;
30*4882a593Smuzhiyun		i2c0 = &i2c1;
31*4882a593Smuzhiyun		i2c1 = &i2c2;
32*4882a593Smuzhiyun		i2c2 = &i2c3;
33*4882a593Smuzhiyun		ipu0 = &ipu1;
34*4882a593Smuzhiyun		mmc0 = &usdhc1;
35*4882a593Smuzhiyun		mmc1 = &usdhc2;
36*4882a593Smuzhiyun		mmc2 = &usdhc3;
37*4882a593Smuzhiyun		mmc3 = &usdhc4;
38*4882a593Smuzhiyun		serial0 = &uart1;
39*4882a593Smuzhiyun		serial1 = &uart2;
40*4882a593Smuzhiyun		serial2 = &uart3;
41*4882a593Smuzhiyun		serial3 = &uart4;
42*4882a593Smuzhiyun		serial4 = &uart5;
43*4882a593Smuzhiyun		spi0 = &ecspi1;
44*4882a593Smuzhiyun		spi1 = &ecspi2;
45*4882a593Smuzhiyun		spi2 = &ecspi3;
46*4882a593Smuzhiyun		spi3 = &ecspi4;
47*4882a593Smuzhiyun		usbphy0 = &usbphy1;
48*4882a593Smuzhiyun		usbphy1 = &usbphy2;
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	clocks {
52*4882a593Smuzhiyun		#address-cells = <1>;
53*4882a593Smuzhiyun		#size-cells = <0>;
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun		ckil {
56*4882a593Smuzhiyun			compatible = "fsl,imx-ckil", "fixed-clock";
57*4882a593Smuzhiyun			#clock-cells = <0>;
58*4882a593Smuzhiyun			clock-frequency = <32768>;
59*4882a593Smuzhiyun		};
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun		ckih1 {
62*4882a593Smuzhiyun			compatible = "fsl,imx-ckih1", "fixed-clock";
63*4882a593Smuzhiyun			#clock-cells = <0>;
64*4882a593Smuzhiyun			clock-frequency = <0>;
65*4882a593Smuzhiyun		};
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun		osc {
68*4882a593Smuzhiyun			compatible = "fsl,imx-osc", "fixed-clock";
69*4882a593Smuzhiyun			#clock-cells = <0>;
70*4882a593Smuzhiyun			clock-frequency = <24000000>;
71*4882a593Smuzhiyun		};
72*4882a593Smuzhiyun	};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun	soc {
75*4882a593Smuzhiyun		#address-cells = <1>;
76*4882a593Smuzhiyun		#size-cells = <1>;
77*4882a593Smuzhiyun		compatible = "simple-bus";
78*4882a593Smuzhiyun		interrupt-parent = <&gpc>;
79*4882a593Smuzhiyun		ranges;
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		dma_apbh: dma-apbh@00110000 {
82*4882a593Smuzhiyun			compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
83*4882a593Smuzhiyun			reg = <0x00110000 0x2000>;
84*4882a593Smuzhiyun			interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
85*4882a593Smuzhiyun				     <0 13 IRQ_TYPE_LEVEL_HIGH>,
86*4882a593Smuzhiyun				     <0 13 IRQ_TYPE_LEVEL_HIGH>,
87*4882a593Smuzhiyun				     <0 13 IRQ_TYPE_LEVEL_HIGH>;
88*4882a593Smuzhiyun			interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
89*4882a593Smuzhiyun			#dma-cells = <1>;
90*4882a593Smuzhiyun			dma-channels = <4>;
91*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_APBH_DMA>;
92*4882a593Smuzhiyun		};
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun		gpmi: gpmi-nand@00112000 {
95*4882a593Smuzhiyun			compatible = "fsl,imx6q-gpmi-nand";
96*4882a593Smuzhiyun			#address-cells = <1>;
97*4882a593Smuzhiyun			#size-cells = <1>;
98*4882a593Smuzhiyun			reg = <0x00112000 0x2000>, <0x00114000 0x2000>;
99*4882a593Smuzhiyun			reg-names = "gpmi-nand", "bch";
100*4882a593Smuzhiyun			interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
101*4882a593Smuzhiyun			interrupt-names = "bch";
102*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_GPMI_IO>,
103*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_GPMI_APB>,
104*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_GPMI_BCH>,
105*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_GPMI_BCH_APB>,
106*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_PER1_BCH>;
107*4882a593Smuzhiyun			clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
108*4882a593Smuzhiyun				      "gpmi_bch_apb", "per1_bch";
109*4882a593Smuzhiyun			dmas = <&dma_apbh 0>;
110*4882a593Smuzhiyun			dma-names = "rx-tx";
111*4882a593Smuzhiyun			status = "disabled";
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun		hdmi: hdmi@0120000 {
115*4882a593Smuzhiyun			#address-cells = <1>;
116*4882a593Smuzhiyun			#size-cells = <0>;
117*4882a593Smuzhiyun			reg = <0x00120000 0x9000>;
118*4882a593Smuzhiyun			interrupts = <0 115 0x04>;
119*4882a593Smuzhiyun			gpr = <&gpr>;
120*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_HDMI_IAHB>,
121*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_HDMI_ISFR>;
122*4882a593Smuzhiyun			clock-names = "iahb", "isfr";
123*4882a593Smuzhiyun			status = "disabled";
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun			port@0 {
126*4882a593Smuzhiyun				reg = <0>;
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun				hdmi_mux_0: endpoint {
129*4882a593Smuzhiyun					remote-endpoint = <&ipu1_di0_hdmi>;
130*4882a593Smuzhiyun				};
131*4882a593Smuzhiyun			};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun			port@1 {
134*4882a593Smuzhiyun				reg = <1>;
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun				hdmi_mux_1: endpoint {
137*4882a593Smuzhiyun					remote-endpoint = <&ipu1_di1_hdmi>;
138*4882a593Smuzhiyun				};
139*4882a593Smuzhiyun			};
140*4882a593Smuzhiyun		};
141*4882a593Smuzhiyun
142*4882a593Smuzhiyun		gpu_3d: gpu@00130000 {
143*4882a593Smuzhiyun			compatible = "vivante,gc";
144*4882a593Smuzhiyun			reg = <0x00130000 0x4000>;
145*4882a593Smuzhiyun			interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
146*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
147*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_GPU3D_CORE>,
148*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_GPU3D_SHADER>;
149*4882a593Smuzhiyun			clock-names = "bus", "core", "shader";
150*4882a593Smuzhiyun			power-domains = <&gpc 1>;
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun		gpu_2d: gpu@00134000 {
154*4882a593Smuzhiyun			compatible = "vivante,gc";
155*4882a593Smuzhiyun			reg = <0x00134000 0x4000>;
156*4882a593Smuzhiyun			interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
157*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_GPU2D_AXI>,
158*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_GPU2D_CORE>;
159*4882a593Smuzhiyun			clock-names = "bus", "core";
160*4882a593Smuzhiyun			power-domains = <&gpc 1>;
161*4882a593Smuzhiyun		};
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun		timer@00a00600 {
164*4882a593Smuzhiyun			compatible = "arm,cortex-a9-twd-timer";
165*4882a593Smuzhiyun			reg = <0x00a00600 0x20>;
166*4882a593Smuzhiyun			interrupts = <1 13 0xf01>;
167*4882a593Smuzhiyun			interrupt-parent = <&intc>;
168*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_TWD>;
169*4882a593Smuzhiyun		};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun		intc: interrupt-controller@00a01000 {
172*4882a593Smuzhiyun			compatible = "arm,cortex-a9-gic";
173*4882a593Smuzhiyun			#interrupt-cells = <3>;
174*4882a593Smuzhiyun			interrupt-controller;
175*4882a593Smuzhiyun			reg = <0x00a01000 0x1000>,
176*4882a593Smuzhiyun			      <0x00a00100 0x100>;
177*4882a593Smuzhiyun			interrupt-parent = <&intc>;
178*4882a593Smuzhiyun		};
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun		L2: l2-cache@00a02000 {
181*4882a593Smuzhiyun			compatible = "arm,pl310-cache";
182*4882a593Smuzhiyun			reg = <0x00a02000 0x1000>;
183*4882a593Smuzhiyun			interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
184*4882a593Smuzhiyun			cache-unified;
185*4882a593Smuzhiyun			cache-level = <2>;
186*4882a593Smuzhiyun			arm,tag-latency = <4 2 3>;
187*4882a593Smuzhiyun			arm,data-latency = <4 2 3>;
188*4882a593Smuzhiyun			arm,shared-override;
189*4882a593Smuzhiyun		};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun		pcie: pcie@0x01000000 {
192*4882a593Smuzhiyun			compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
193*4882a593Smuzhiyun			reg = <0x01ffc000 0x04000>,
194*4882a593Smuzhiyun			      <0x01f00000 0x80000>;
195*4882a593Smuzhiyun			reg-names = "dbi", "config";
196*4882a593Smuzhiyun			#address-cells = <3>;
197*4882a593Smuzhiyun			#size-cells = <2>;
198*4882a593Smuzhiyun			device_type = "pci";
199*4882a593Smuzhiyun			ranges = <0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */
200*4882a593Smuzhiyun				  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
201*4882a593Smuzhiyun			num-lanes = <1>;
202*4882a593Smuzhiyun			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
203*4882a593Smuzhiyun			interrupt-names = "msi";
204*4882a593Smuzhiyun			#interrupt-cells = <1>;
205*4882a593Smuzhiyun			interrupt-map-mask = <0 0 0 0x7>;
206*4882a593Smuzhiyun			interrupt-map = <0 0 0 1 &gpc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
207*4882a593Smuzhiyun			                <0 0 0 2 &gpc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
208*4882a593Smuzhiyun			                <0 0 0 3 &gpc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
209*4882a593Smuzhiyun			                <0 0 0 4 &gpc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
210*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_PCIE_AXI>,
211*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_LVDS1_GATE>,
212*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_PCIE_REF_125M>;
213*4882a593Smuzhiyun			clock-names = "pcie", "pcie_bus", "pcie_phy";
214*4882a593Smuzhiyun			status = "disabled";
215*4882a593Smuzhiyun		};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun		pmu {
218*4882a593Smuzhiyun			compatible = "arm,cortex-a9-pmu";
219*4882a593Smuzhiyun			interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
220*4882a593Smuzhiyun		};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun		aips-bus@02000000 { /* AIPS1 */
223*4882a593Smuzhiyun			compatible = "fsl,aips-bus", "simple-bus";
224*4882a593Smuzhiyun			#address-cells = <1>;
225*4882a593Smuzhiyun			#size-cells = <1>;
226*4882a593Smuzhiyun			reg = <0x02000000 0x100000>;
227*4882a593Smuzhiyun			ranges;
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun			spba-bus@02000000 {
230*4882a593Smuzhiyun				compatible = "fsl,spba-bus", "simple-bus";
231*4882a593Smuzhiyun				#address-cells = <1>;
232*4882a593Smuzhiyun				#size-cells = <1>;
233*4882a593Smuzhiyun				reg = <0x02000000 0x40000>;
234*4882a593Smuzhiyun				ranges;
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun				spdif: spdif@02004000 {
237*4882a593Smuzhiyun					compatible = "fsl,imx35-spdif";
238*4882a593Smuzhiyun					reg = <0x02004000 0x4000>;
239*4882a593Smuzhiyun					interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
240*4882a593Smuzhiyun					dmas = <&sdma 14 18 0>,
241*4882a593Smuzhiyun					       <&sdma 15 18 0>;
242*4882a593Smuzhiyun					dma-names = "rx", "tx";
243*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,
244*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,
245*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,
246*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_DUMMY>,
247*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;
248*4882a593Smuzhiyun					clock-names = "core",  "rxtx0",
249*4882a593Smuzhiyun						      "rxtx1", "rxtx2",
250*4882a593Smuzhiyun						      "rxtx3", "rxtx4",
251*4882a593Smuzhiyun						      "rxtx5", "rxtx6",
252*4882a593Smuzhiyun						      "rxtx7", "spba";
253*4882a593Smuzhiyun					status = "disabled";
254*4882a593Smuzhiyun				};
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun				ecspi1: ecspi@02008000 {
257*4882a593Smuzhiyun					#address-cells = <1>;
258*4882a593Smuzhiyun					#size-cells = <0>;
259*4882a593Smuzhiyun					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
260*4882a593Smuzhiyun					reg = <0x02008000 0x4000>;
261*4882a593Smuzhiyun					interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
262*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_ECSPI1>,
263*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ECSPI1>;
264*4882a593Smuzhiyun					clock-names = "ipg", "per";
265*4882a593Smuzhiyun					dmas = <&sdma 3 8 1>, <&sdma 4 8 2>;
266*4882a593Smuzhiyun					dma-names = "rx", "tx";
267*4882a593Smuzhiyun					status = "disabled";
268*4882a593Smuzhiyun				};
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun				ecspi2: ecspi@0200c000 {
271*4882a593Smuzhiyun					#address-cells = <1>;
272*4882a593Smuzhiyun					#size-cells = <0>;
273*4882a593Smuzhiyun					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
274*4882a593Smuzhiyun					reg = <0x0200c000 0x4000>;
275*4882a593Smuzhiyun					interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
276*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_ECSPI2>,
277*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ECSPI2>;
278*4882a593Smuzhiyun					clock-names = "ipg", "per";
279*4882a593Smuzhiyun					dmas = <&sdma 5 8 1>, <&sdma 6 8 2>;
280*4882a593Smuzhiyun					dma-names = "rx", "tx";
281*4882a593Smuzhiyun					status = "disabled";
282*4882a593Smuzhiyun				};
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun				ecspi3: ecspi@02010000 {
285*4882a593Smuzhiyun					#address-cells = <1>;
286*4882a593Smuzhiyun					#size-cells = <0>;
287*4882a593Smuzhiyun					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
288*4882a593Smuzhiyun					reg = <0x02010000 0x4000>;
289*4882a593Smuzhiyun					interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
290*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_ECSPI3>,
291*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ECSPI3>;
292*4882a593Smuzhiyun					clock-names = "ipg", "per";
293*4882a593Smuzhiyun					dmas = <&sdma 7 8 1>, <&sdma 8 8 2>;
294*4882a593Smuzhiyun					dma-names = "rx", "tx";
295*4882a593Smuzhiyun					status = "disabled";
296*4882a593Smuzhiyun				};
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun				ecspi4: ecspi@02014000 {
299*4882a593Smuzhiyun					#address-cells = <1>;
300*4882a593Smuzhiyun					#size-cells = <0>;
301*4882a593Smuzhiyun					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
302*4882a593Smuzhiyun					reg = <0x02014000 0x4000>;
303*4882a593Smuzhiyun					interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
304*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_ECSPI4>,
305*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ECSPI4>;
306*4882a593Smuzhiyun					clock-names = "ipg", "per";
307*4882a593Smuzhiyun					dmas = <&sdma 9 8 1>, <&sdma 10 8 2>;
308*4882a593Smuzhiyun					dma-names = "rx", "tx";
309*4882a593Smuzhiyun					status = "disabled";
310*4882a593Smuzhiyun				};
311*4882a593Smuzhiyun
312*4882a593Smuzhiyun				uart1: serial@02020000 {
313*4882a593Smuzhiyun					compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
314*4882a593Smuzhiyun					reg = <0x02020000 0x4000>;
315*4882a593Smuzhiyun					interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
316*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_UART_IPG>,
317*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_UART_SERIAL>;
318*4882a593Smuzhiyun					clock-names = "ipg", "per";
319*4882a593Smuzhiyun					dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
320*4882a593Smuzhiyun					dma-names = "rx", "tx";
321*4882a593Smuzhiyun					status = "disabled";
322*4882a593Smuzhiyun				};
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun				esai: esai@02024000 {
325*4882a593Smuzhiyun					#sound-dai-cells = <0>;
326*4882a593Smuzhiyun					compatible = "fsl,imx35-esai";
327*4882a593Smuzhiyun					reg = <0x02024000 0x4000>;
328*4882a593Smuzhiyun					interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
329*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_ESAI_IPG>,
330*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ESAI_MEM>,
331*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ESAI_EXTAL>,
332*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_ESAI_IPG>,
333*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_SPBA>;
334*4882a593Smuzhiyun					clock-names = "core", "mem", "extal", "fsys", "spba";
335*4882a593Smuzhiyun					dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
336*4882a593Smuzhiyun					dma-names = "rx", "tx";
337*4882a593Smuzhiyun					status = "disabled";
338*4882a593Smuzhiyun				};
339*4882a593Smuzhiyun
340*4882a593Smuzhiyun				ssi1: ssi@02028000 {
341*4882a593Smuzhiyun					#sound-dai-cells = <0>;
342*4882a593Smuzhiyun					compatible = "fsl,imx6q-ssi",
343*4882a593Smuzhiyun							"fsl,imx51-ssi";
344*4882a593Smuzhiyun					reg = <0x02028000 0x4000>;
345*4882a593Smuzhiyun					interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
346*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_SSI1_IPG>,
347*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_SSI1>;
348*4882a593Smuzhiyun					clock-names = "ipg", "baud";
349*4882a593Smuzhiyun					dmas = <&sdma 37 1 0>,
350*4882a593Smuzhiyun					       <&sdma 38 1 0>;
351*4882a593Smuzhiyun					dma-names = "rx", "tx";
352*4882a593Smuzhiyun					fsl,fifo-depth = <15>;
353*4882a593Smuzhiyun					status = "disabled";
354*4882a593Smuzhiyun				};
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun				ssi2: ssi@0202c000 {
357*4882a593Smuzhiyun					#sound-dai-cells = <0>;
358*4882a593Smuzhiyun					compatible = "fsl,imx6q-ssi",
359*4882a593Smuzhiyun							"fsl,imx51-ssi";
360*4882a593Smuzhiyun					reg = <0x0202c000 0x4000>;
361*4882a593Smuzhiyun					interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
362*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,
363*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_SSI2>;
364*4882a593Smuzhiyun					clock-names = "ipg", "baud";
365*4882a593Smuzhiyun					dmas = <&sdma 41 1 0>,
366*4882a593Smuzhiyun					       <&sdma 42 1 0>;
367*4882a593Smuzhiyun					dma-names = "rx", "tx";
368*4882a593Smuzhiyun					fsl,fifo-depth = <15>;
369*4882a593Smuzhiyun					status = "disabled";
370*4882a593Smuzhiyun				};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun				ssi3: ssi@02030000 {
373*4882a593Smuzhiyun					#sound-dai-cells = <0>;
374*4882a593Smuzhiyun					compatible = "fsl,imx6q-ssi",
375*4882a593Smuzhiyun							"fsl,imx51-ssi";
376*4882a593Smuzhiyun					reg = <0x02030000 0x4000>;
377*4882a593Smuzhiyun					interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
378*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_SSI3_IPG>,
379*4882a593Smuzhiyun						 <&clks IMX6QDL_CLK_SSI3>;
380*4882a593Smuzhiyun					clock-names = "ipg", "baud";
381*4882a593Smuzhiyun					dmas = <&sdma 45 1 0>,
382*4882a593Smuzhiyun					       <&sdma 46 1 0>;
383*4882a593Smuzhiyun					dma-names = "rx", "tx";
384*4882a593Smuzhiyun					fsl,fifo-depth = <15>;
385*4882a593Smuzhiyun					status = "disabled";
386*4882a593Smuzhiyun				};
387*4882a593Smuzhiyun
388*4882a593Smuzhiyun				asrc: asrc@02034000 {
389*4882a593Smuzhiyun					compatible = "fsl,imx53-asrc";
390*4882a593Smuzhiyun					reg = <0x02034000 0x4000>;
391*4882a593Smuzhiyun					interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
392*4882a593Smuzhiyun					clocks = <&clks IMX6QDL_CLK_ASRC_IPG>,
393*4882a593Smuzhiyun						<&clks IMX6QDL_CLK_ASRC_MEM>, <&clks 0>,
394*4882a593Smuzhiyun						<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
395*4882a593Smuzhiyun						<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
396*4882a593Smuzhiyun						<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
397*4882a593Smuzhiyun						<&clks IMX6QDL_CLK_ASRC>, <&clks 0>, <&clks 0>,
398*4882a593Smuzhiyun						<&clks IMX6QDL_CLK_SPBA>;
399*4882a593Smuzhiyun					clock-names = "mem", "ipg", "asrck_0",
400*4882a593Smuzhiyun						"asrck_1", "asrck_2", "asrck_3", "asrck_4",
401*4882a593Smuzhiyun						"asrck_5", "asrck_6", "asrck_7", "asrck_8",
402*4882a593Smuzhiyun						"asrck_9", "asrck_a", "asrck_b", "asrck_c",
403*4882a593Smuzhiyun						"asrck_d", "asrck_e", "asrck_f", "spba";
404*4882a593Smuzhiyun					dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
405*4882a593Smuzhiyun						<&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
406*4882a593Smuzhiyun					dma-names = "rxa", "rxb", "rxc",
407*4882a593Smuzhiyun							"txa", "txb", "txc";
408*4882a593Smuzhiyun					fsl,asrc-rate  = <48000>;
409*4882a593Smuzhiyun					fsl,asrc-width = <16>;
410*4882a593Smuzhiyun					status = "okay";
411*4882a593Smuzhiyun				};
412*4882a593Smuzhiyun
413*4882a593Smuzhiyun				spba@0203c000 {
414*4882a593Smuzhiyun					reg = <0x0203c000 0x4000>;
415*4882a593Smuzhiyun				};
416*4882a593Smuzhiyun			};
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun			vpu: vpu@02040000 {
419*4882a593Smuzhiyun				compatible = "cnm,coda960";
420*4882a593Smuzhiyun				reg = <0x02040000 0x3c000>;
421*4882a593Smuzhiyun				interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>,
422*4882a593Smuzhiyun					     <0 3 IRQ_TYPE_LEVEL_HIGH>;
423*4882a593Smuzhiyun				interrupt-names = "bit", "jpeg";
424*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_VPU_AXI>,
425*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_MMDC_CH0_AXI>;
426*4882a593Smuzhiyun				clock-names = "per", "ahb";
427*4882a593Smuzhiyun				power-domains = <&gpc 1>;
428*4882a593Smuzhiyun				resets = <&src 1>;
429*4882a593Smuzhiyun				iram = <&ocram>;
430*4882a593Smuzhiyun			};
431*4882a593Smuzhiyun
432*4882a593Smuzhiyun			aipstz@0207c000 { /* AIPSTZ1 */
433*4882a593Smuzhiyun				reg = <0x0207c000 0x4000>;
434*4882a593Smuzhiyun			};
435*4882a593Smuzhiyun
436*4882a593Smuzhiyun			pwm1: pwm@02080000 {
437*4882a593Smuzhiyun				#pwm-cells = <2>;
438*4882a593Smuzhiyun				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
439*4882a593Smuzhiyun				reg = <0x02080000 0x4000>;
440*4882a593Smuzhiyun				interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
441*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_IPG>,
442*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_PWM1>;
443*4882a593Smuzhiyun				clock-names = "ipg", "per";
444*4882a593Smuzhiyun				status = "disabled";
445*4882a593Smuzhiyun			};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun			pwm2: pwm@02084000 {
448*4882a593Smuzhiyun				#pwm-cells = <2>;
449*4882a593Smuzhiyun				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
450*4882a593Smuzhiyun				reg = <0x02084000 0x4000>;
451*4882a593Smuzhiyun				interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
452*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_IPG>,
453*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_PWM2>;
454*4882a593Smuzhiyun				clock-names = "ipg", "per";
455*4882a593Smuzhiyun				status = "disabled";
456*4882a593Smuzhiyun			};
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun			pwm3: pwm@02088000 {
459*4882a593Smuzhiyun				#pwm-cells = <2>;
460*4882a593Smuzhiyun				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
461*4882a593Smuzhiyun				reg = <0x02088000 0x4000>;
462*4882a593Smuzhiyun				interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
463*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_IPG>,
464*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_PWM3>;
465*4882a593Smuzhiyun				clock-names = "ipg", "per";
466*4882a593Smuzhiyun				status = "disabled";
467*4882a593Smuzhiyun			};
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun			pwm4: pwm@0208c000 {
470*4882a593Smuzhiyun				#pwm-cells = <2>;
471*4882a593Smuzhiyun				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
472*4882a593Smuzhiyun				reg = <0x0208c000 0x4000>;
473*4882a593Smuzhiyun				interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
474*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_IPG>,
475*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_PWM4>;
476*4882a593Smuzhiyun				clock-names = "ipg", "per";
477*4882a593Smuzhiyun				status = "disabled";
478*4882a593Smuzhiyun			};
479*4882a593Smuzhiyun
480*4882a593Smuzhiyun			can1: flexcan@02090000 {
481*4882a593Smuzhiyun				compatible = "fsl,imx6q-flexcan";
482*4882a593Smuzhiyun				reg = <0x02090000 0x4000>;
483*4882a593Smuzhiyun				interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
484*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_CAN1_IPG>,
485*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_CAN1_SERIAL>;
486*4882a593Smuzhiyun				clock-names = "ipg", "per";
487*4882a593Smuzhiyun				status = "disabled";
488*4882a593Smuzhiyun			};
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun			can2: flexcan@02094000 {
491*4882a593Smuzhiyun				compatible = "fsl,imx6q-flexcan";
492*4882a593Smuzhiyun				reg = <0x02094000 0x4000>;
493*4882a593Smuzhiyun				interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>;
494*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_CAN2_IPG>,
495*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_CAN2_SERIAL>;
496*4882a593Smuzhiyun				clock-names = "ipg", "per";
497*4882a593Smuzhiyun				status = "disabled";
498*4882a593Smuzhiyun			};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun			gpt: gpt@02098000 {
501*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt";
502*4882a593Smuzhiyun				reg = <0x02098000 0x4000>;
503*4882a593Smuzhiyun				interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
504*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_GPT_IPG>,
505*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_GPT_IPG_PER>,
506*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_GPT_3M>;
507*4882a593Smuzhiyun				clock-names = "ipg", "per", "osc_per";
508*4882a593Smuzhiyun			};
509*4882a593Smuzhiyun
510*4882a593Smuzhiyun			gpio1: gpio@0209c000 {
511*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
512*4882a593Smuzhiyun				reg = <0x0209c000 0x4000>;
513*4882a593Smuzhiyun				interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
514*4882a593Smuzhiyun					     <0 67 IRQ_TYPE_LEVEL_HIGH>;
515*4882a593Smuzhiyun				gpio-controller;
516*4882a593Smuzhiyun				#gpio-cells = <2>;
517*4882a593Smuzhiyun				interrupt-controller;
518*4882a593Smuzhiyun				#interrupt-cells = <2>;
519*4882a593Smuzhiyun			};
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun			gpio2: gpio@020a0000 {
522*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
523*4882a593Smuzhiyun				reg = <0x020a0000 0x4000>;
524*4882a593Smuzhiyun				interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
525*4882a593Smuzhiyun					     <0 69 IRQ_TYPE_LEVEL_HIGH>;
526*4882a593Smuzhiyun				gpio-controller;
527*4882a593Smuzhiyun				#gpio-cells = <2>;
528*4882a593Smuzhiyun				interrupt-controller;
529*4882a593Smuzhiyun				#interrupt-cells = <2>;
530*4882a593Smuzhiyun			};
531*4882a593Smuzhiyun
532*4882a593Smuzhiyun			gpio3: gpio@020a4000 {
533*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
534*4882a593Smuzhiyun				reg = <0x020a4000 0x4000>;
535*4882a593Smuzhiyun				interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
536*4882a593Smuzhiyun					     <0 71 IRQ_TYPE_LEVEL_HIGH>;
537*4882a593Smuzhiyun				gpio-controller;
538*4882a593Smuzhiyun				#gpio-cells = <2>;
539*4882a593Smuzhiyun				interrupt-controller;
540*4882a593Smuzhiyun				#interrupt-cells = <2>;
541*4882a593Smuzhiyun			};
542*4882a593Smuzhiyun
543*4882a593Smuzhiyun			gpio4: gpio@020a8000 {
544*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
545*4882a593Smuzhiyun				reg = <0x020a8000 0x4000>;
546*4882a593Smuzhiyun				interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
547*4882a593Smuzhiyun					     <0 73 IRQ_TYPE_LEVEL_HIGH>;
548*4882a593Smuzhiyun				gpio-controller;
549*4882a593Smuzhiyun				#gpio-cells = <2>;
550*4882a593Smuzhiyun				interrupt-controller;
551*4882a593Smuzhiyun				#interrupt-cells = <2>;
552*4882a593Smuzhiyun			};
553*4882a593Smuzhiyun
554*4882a593Smuzhiyun			gpio5: gpio@020ac000 {
555*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
556*4882a593Smuzhiyun				reg = <0x020ac000 0x4000>;
557*4882a593Smuzhiyun				interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
558*4882a593Smuzhiyun					     <0 75 IRQ_TYPE_LEVEL_HIGH>;
559*4882a593Smuzhiyun				gpio-controller;
560*4882a593Smuzhiyun				#gpio-cells = <2>;
561*4882a593Smuzhiyun				interrupt-controller;
562*4882a593Smuzhiyun				#interrupt-cells = <2>;
563*4882a593Smuzhiyun			};
564*4882a593Smuzhiyun
565*4882a593Smuzhiyun			gpio6: gpio@020b0000 {
566*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
567*4882a593Smuzhiyun				reg = <0x020b0000 0x4000>;
568*4882a593Smuzhiyun				interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>,
569*4882a593Smuzhiyun					     <0 77 IRQ_TYPE_LEVEL_HIGH>;
570*4882a593Smuzhiyun				gpio-controller;
571*4882a593Smuzhiyun				#gpio-cells = <2>;
572*4882a593Smuzhiyun				interrupt-controller;
573*4882a593Smuzhiyun				#interrupt-cells = <2>;
574*4882a593Smuzhiyun			};
575*4882a593Smuzhiyun
576*4882a593Smuzhiyun			gpio7: gpio@020b4000 {
577*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
578*4882a593Smuzhiyun				reg = <0x020b4000 0x4000>;
579*4882a593Smuzhiyun				interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>,
580*4882a593Smuzhiyun					     <0 79 IRQ_TYPE_LEVEL_HIGH>;
581*4882a593Smuzhiyun				gpio-controller;
582*4882a593Smuzhiyun				#gpio-cells = <2>;
583*4882a593Smuzhiyun				interrupt-controller;
584*4882a593Smuzhiyun				#interrupt-cells = <2>;
585*4882a593Smuzhiyun			};
586*4882a593Smuzhiyun
587*4882a593Smuzhiyun			kpp: kpp@020b8000 {
588*4882a593Smuzhiyun				compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp";
589*4882a593Smuzhiyun				reg = <0x020b8000 0x4000>;
590*4882a593Smuzhiyun				interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
591*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_IPG>;
592*4882a593Smuzhiyun				status = "disabled";
593*4882a593Smuzhiyun			};
594*4882a593Smuzhiyun
595*4882a593Smuzhiyun			wdog1: wdog@020bc000 {
596*4882a593Smuzhiyun				compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
597*4882a593Smuzhiyun				reg = <0x020bc000 0x4000>;
598*4882a593Smuzhiyun				interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
599*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_DUMMY>;
600*4882a593Smuzhiyun			};
601*4882a593Smuzhiyun
602*4882a593Smuzhiyun			wdog2: wdog@020c0000 {
603*4882a593Smuzhiyun				compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
604*4882a593Smuzhiyun				reg = <0x020c0000 0x4000>;
605*4882a593Smuzhiyun				interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
606*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_DUMMY>;
607*4882a593Smuzhiyun				status = "disabled";
608*4882a593Smuzhiyun			};
609*4882a593Smuzhiyun
610*4882a593Smuzhiyun			clks: ccm@020c4000 {
611*4882a593Smuzhiyun				compatible = "fsl,imx6q-ccm";
612*4882a593Smuzhiyun				reg = <0x020c4000 0x4000>;
613*4882a593Smuzhiyun				interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
614*4882a593Smuzhiyun					     <0 88 IRQ_TYPE_LEVEL_HIGH>;
615*4882a593Smuzhiyun				#clock-cells = <1>;
616*4882a593Smuzhiyun			};
617*4882a593Smuzhiyun
618*4882a593Smuzhiyun			anatop: anatop@020c8000 {
619*4882a593Smuzhiyun				compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
620*4882a593Smuzhiyun				reg = <0x020c8000 0x1000>;
621*4882a593Smuzhiyun				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
622*4882a593Smuzhiyun					     <0 54 IRQ_TYPE_LEVEL_HIGH>,
623*4882a593Smuzhiyun					     <0 127 IRQ_TYPE_LEVEL_HIGH>;
624*4882a593Smuzhiyun
625*4882a593Smuzhiyun				regulator-1p1 {
626*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
627*4882a593Smuzhiyun					regulator-name = "vdd1p1";
628*4882a593Smuzhiyun					regulator-min-microvolt = <800000>;
629*4882a593Smuzhiyun					regulator-max-microvolt = <1375000>;
630*4882a593Smuzhiyun					regulator-always-on;
631*4882a593Smuzhiyun					anatop-reg-offset = <0x110>;
632*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
633*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
634*4882a593Smuzhiyun					anatop-min-bit-val = <4>;
635*4882a593Smuzhiyun					anatop-min-voltage = <800000>;
636*4882a593Smuzhiyun					anatop-max-voltage = <1375000>;
637*4882a593Smuzhiyun				};
638*4882a593Smuzhiyun
639*4882a593Smuzhiyun				regulator-3p0 {
640*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
641*4882a593Smuzhiyun					regulator-name = "vdd3p0";
642*4882a593Smuzhiyun					regulator-min-microvolt = <2800000>;
643*4882a593Smuzhiyun					regulator-max-microvolt = <3150000>;
644*4882a593Smuzhiyun					regulator-always-on;
645*4882a593Smuzhiyun					anatop-reg-offset = <0x120>;
646*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
647*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
648*4882a593Smuzhiyun					anatop-min-bit-val = <0>;
649*4882a593Smuzhiyun					anatop-min-voltage = <2625000>;
650*4882a593Smuzhiyun					anatop-max-voltage = <3400000>;
651*4882a593Smuzhiyun				};
652*4882a593Smuzhiyun
653*4882a593Smuzhiyun				regulator-2p5 {
654*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
655*4882a593Smuzhiyun					regulator-name = "vdd2p5";
656*4882a593Smuzhiyun					regulator-min-microvolt = <2000000>;
657*4882a593Smuzhiyun					regulator-max-microvolt = <2750000>;
658*4882a593Smuzhiyun					regulator-always-on;
659*4882a593Smuzhiyun					anatop-reg-offset = <0x130>;
660*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
661*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
662*4882a593Smuzhiyun					anatop-min-bit-val = <0>;
663*4882a593Smuzhiyun					anatop-min-voltage = <2000000>;
664*4882a593Smuzhiyun					anatop-max-voltage = <2750000>;
665*4882a593Smuzhiyun				};
666*4882a593Smuzhiyun
667*4882a593Smuzhiyun				reg_arm: regulator-vddcore {
668*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
669*4882a593Smuzhiyun					regulator-name = "vddarm";
670*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
671*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
672*4882a593Smuzhiyun					regulator-always-on;
673*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
674*4882a593Smuzhiyun					anatop-vol-bit-shift = <0>;
675*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
676*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
677*4882a593Smuzhiyun					anatop-delay-bit-shift = <24>;
678*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
679*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
680*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
681*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
682*4882a593Smuzhiyun				};
683*4882a593Smuzhiyun
684*4882a593Smuzhiyun				reg_pu: regulator-vddpu {
685*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
686*4882a593Smuzhiyun					regulator-name = "vddpu";
687*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
688*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
689*4882a593Smuzhiyun					regulator-enable-ramp-delay = <150>;
690*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
691*4882a593Smuzhiyun					anatop-vol-bit-shift = <9>;
692*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
693*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
694*4882a593Smuzhiyun					anatop-delay-bit-shift = <26>;
695*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
696*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
697*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
698*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
699*4882a593Smuzhiyun				};
700*4882a593Smuzhiyun
701*4882a593Smuzhiyun				reg_soc: regulator-vddsoc {
702*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
703*4882a593Smuzhiyun					regulator-name = "vddsoc";
704*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
705*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
706*4882a593Smuzhiyun					regulator-always-on;
707*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
708*4882a593Smuzhiyun					anatop-vol-bit-shift = <18>;
709*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
710*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
711*4882a593Smuzhiyun					anatop-delay-bit-shift = <28>;
712*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
713*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
714*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
715*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
716*4882a593Smuzhiyun				};
717*4882a593Smuzhiyun			};
718*4882a593Smuzhiyun
719*4882a593Smuzhiyun			tempmon: tempmon {
720*4882a593Smuzhiyun				compatible = "fsl,imx6q-tempmon";
721*4882a593Smuzhiyun				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
722*4882a593Smuzhiyun				fsl,tempmon = <&anatop>;
723*4882a593Smuzhiyun				fsl,tempmon-data = <&ocotp>;
724*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
725*4882a593Smuzhiyun			};
726*4882a593Smuzhiyun
727*4882a593Smuzhiyun			usbphy1: usbphy@020c9000 {
728*4882a593Smuzhiyun				compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
729*4882a593Smuzhiyun				reg = <0x020c9000 0x1000>;
730*4882a593Smuzhiyun				interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
731*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBPHY1>;
732*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
733*4882a593Smuzhiyun			};
734*4882a593Smuzhiyun
735*4882a593Smuzhiyun			usbphy2: usbphy@020ca000 {
736*4882a593Smuzhiyun				compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
737*4882a593Smuzhiyun				reg = <0x020ca000 0x1000>;
738*4882a593Smuzhiyun				interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
739*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBPHY2>;
740*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
741*4882a593Smuzhiyun			};
742*4882a593Smuzhiyun
743*4882a593Smuzhiyun			snvs: snvs@020cc000 {
744*4882a593Smuzhiyun				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
745*4882a593Smuzhiyun				reg = <0x020cc000 0x4000>;
746*4882a593Smuzhiyun
747*4882a593Smuzhiyun				snvs_rtc: snvs-rtc-lp {
748*4882a593Smuzhiyun					compatible = "fsl,sec-v4.0-mon-rtc-lp";
749*4882a593Smuzhiyun					regmap = <&snvs>;
750*4882a593Smuzhiyun					offset = <0x34>;
751*4882a593Smuzhiyun					interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
752*4882a593Smuzhiyun						     <0 20 IRQ_TYPE_LEVEL_HIGH>;
753*4882a593Smuzhiyun				};
754*4882a593Smuzhiyun
755*4882a593Smuzhiyun				snvs_poweroff: snvs-poweroff {
756*4882a593Smuzhiyun					compatible = "syscon-poweroff";
757*4882a593Smuzhiyun					regmap = <&snvs>;
758*4882a593Smuzhiyun					offset = <0x38>;
759*4882a593Smuzhiyun					mask = <0x60>;
760*4882a593Smuzhiyun					status = "disabled";
761*4882a593Smuzhiyun				};
762*4882a593Smuzhiyun			};
763*4882a593Smuzhiyun
764*4882a593Smuzhiyun			epit1: epit@020d0000 { /* EPIT1 */
765*4882a593Smuzhiyun				reg = <0x020d0000 0x4000>;
766*4882a593Smuzhiyun				interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
767*4882a593Smuzhiyun			};
768*4882a593Smuzhiyun
769*4882a593Smuzhiyun			epit2: epit@020d4000 { /* EPIT2 */
770*4882a593Smuzhiyun				reg = <0x020d4000 0x4000>;
771*4882a593Smuzhiyun				interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
772*4882a593Smuzhiyun			};
773*4882a593Smuzhiyun
774*4882a593Smuzhiyun			src: src@020d8000 {
775*4882a593Smuzhiyun				compatible = "fsl,imx6q-src", "fsl,imx51-src";
776*4882a593Smuzhiyun				reg = <0x020d8000 0x4000>;
777*4882a593Smuzhiyun				interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
778*4882a593Smuzhiyun					     <0 96 IRQ_TYPE_LEVEL_HIGH>;
779*4882a593Smuzhiyun				#reset-cells = <1>;
780*4882a593Smuzhiyun			};
781*4882a593Smuzhiyun
782*4882a593Smuzhiyun			gpc: gpc@020dc000 {
783*4882a593Smuzhiyun				compatible = "fsl,imx6q-gpc";
784*4882a593Smuzhiyun				reg = <0x020dc000 0x4000>;
785*4882a593Smuzhiyun				interrupt-controller;
786*4882a593Smuzhiyun				#interrupt-cells = <3>;
787*4882a593Smuzhiyun				interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>,
788*4882a593Smuzhiyun					     <0 90 IRQ_TYPE_LEVEL_HIGH>;
789*4882a593Smuzhiyun				interrupt-parent = <&intc>;
790*4882a593Smuzhiyun				pu-supply = <&reg_pu>;
791*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_GPU3D_CORE>,
792*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_GPU3D_SHADER>,
793*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_GPU2D_CORE>,
794*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_GPU2D_AXI>,
795*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_OPENVG_AXI>,
796*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_VPU_AXI>;
797*4882a593Smuzhiyun				#power-domain-cells = <1>;
798*4882a593Smuzhiyun			};
799*4882a593Smuzhiyun
800*4882a593Smuzhiyun			gpr: iomuxc-gpr@020e0000 {
801*4882a593Smuzhiyun				compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
802*4882a593Smuzhiyun				reg = <0x020e0000 0x38>;
803*4882a593Smuzhiyun			};
804*4882a593Smuzhiyun
805*4882a593Smuzhiyun			iomuxc: iomuxc@020e0000 {
806*4882a593Smuzhiyun				compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
807*4882a593Smuzhiyun				reg = <0x020e0000 0x4000>;
808*4882a593Smuzhiyun			};
809*4882a593Smuzhiyun
810*4882a593Smuzhiyun			ldb: ldb@020e0008 {
811*4882a593Smuzhiyun				#address-cells = <1>;
812*4882a593Smuzhiyun				#size-cells = <0>;
813*4882a593Smuzhiyun				compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
814*4882a593Smuzhiyun				gpr = <&gpr>;
815*4882a593Smuzhiyun				status = "disabled";
816*4882a593Smuzhiyun
817*4882a593Smuzhiyun				lvds-channel@0 {
818*4882a593Smuzhiyun					#address-cells = <1>;
819*4882a593Smuzhiyun					#size-cells = <0>;
820*4882a593Smuzhiyun					reg = <0>;
821*4882a593Smuzhiyun					status = "disabled";
822*4882a593Smuzhiyun
823*4882a593Smuzhiyun					port@0 {
824*4882a593Smuzhiyun						reg = <0>;
825*4882a593Smuzhiyun
826*4882a593Smuzhiyun						lvds0_mux_0: endpoint {
827*4882a593Smuzhiyun							remote-endpoint = <&ipu1_di0_lvds0>;
828*4882a593Smuzhiyun						};
829*4882a593Smuzhiyun					};
830*4882a593Smuzhiyun
831*4882a593Smuzhiyun					port@1 {
832*4882a593Smuzhiyun						reg = <1>;
833*4882a593Smuzhiyun
834*4882a593Smuzhiyun						lvds0_mux_1: endpoint {
835*4882a593Smuzhiyun							remote-endpoint = <&ipu1_di1_lvds0>;
836*4882a593Smuzhiyun						};
837*4882a593Smuzhiyun					};
838*4882a593Smuzhiyun				};
839*4882a593Smuzhiyun
840*4882a593Smuzhiyun				lvds-channel@1 {
841*4882a593Smuzhiyun					#address-cells = <1>;
842*4882a593Smuzhiyun					#size-cells = <0>;
843*4882a593Smuzhiyun					reg = <1>;
844*4882a593Smuzhiyun					status = "disabled";
845*4882a593Smuzhiyun
846*4882a593Smuzhiyun					port@0 {
847*4882a593Smuzhiyun						reg = <0>;
848*4882a593Smuzhiyun
849*4882a593Smuzhiyun						lvds1_mux_0: endpoint {
850*4882a593Smuzhiyun							remote-endpoint = <&ipu1_di0_lvds1>;
851*4882a593Smuzhiyun						};
852*4882a593Smuzhiyun					};
853*4882a593Smuzhiyun
854*4882a593Smuzhiyun					port@1 {
855*4882a593Smuzhiyun						reg = <1>;
856*4882a593Smuzhiyun
857*4882a593Smuzhiyun						lvds1_mux_1: endpoint {
858*4882a593Smuzhiyun							remote-endpoint = <&ipu1_di1_lvds1>;
859*4882a593Smuzhiyun						};
860*4882a593Smuzhiyun					};
861*4882a593Smuzhiyun				};
862*4882a593Smuzhiyun			};
863*4882a593Smuzhiyun
864*4882a593Smuzhiyun			dcic1: dcic@020e4000 {
865*4882a593Smuzhiyun				reg = <0x020e4000 0x4000>;
866*4882a593Smuzhiyun				interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
867*4882a593Smuzhiyun			};
868*4882a593Smuzhiyun
869*4882a593Smuzhiyun			dcic2: dcic@020e8000 {
870*4882a593Smuzhiyun				reg = <0x020e8000 0x4000>;
871*4882a593Smuzhiyun				interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
872*4882a593Smuzhiyun			};
873*4882a593Smuzhiyun
874*4882a593Smuzhiyun			sdma: sdma@020ec000 {
875*4882a593Smuzhiyun				compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
876*4882a593Smuzhiyun				reg = <0x020ec000 0x4000>;
877*4882a593Smuzhiyun				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
878*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_SDMA>,
879*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_SDMA>;
880*4882a593Smuzhiyun				clock-names = "ipg", "ahb";
881*4882a593Smuzhiyun				#dma-cells = <3>;
882*4882a593Smuzhiyun				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
883*4882a593Smuzhiyun			};
884*4882a593Smuzhiyun		};
885*4882a593Smuzhiyun
886*4882a593Smuzhiyun		aips-bus@02100000 { /* AIPS2 */
887*4882a593Smuzhiyun			compatible = "fsl,aips-bus", "simple-bus";
888*4882a593Smuzhiyun			#address-cells = <1>;
889*4882a593Smuzhiyun			#size-cells = <1>;
890*4882a593Smuzhiyun			reg = <0x02100000 0x100000>;
891*4882a593Smuzhiyun			ranges;
892*4882a593Smuzhiyun
893*4882a593Smuzhiyun			crypto: caam@2100000 {
894*4882a593Smuzhiyun				compatible = "fsl,sec-v4.0";
895*4882a593Smuzhiyun				fsl,sec-era = <4>;
896*4882a593Smuzhiyun				#address-cells = <1>;
897*4882a593Smuzhiyun				#size-cells = <1>;
898*4882a593Smuzhiyun				reg = <0x2100000 0x10000>;
899*4882a593Smuzhiyun				ranges = <0 0x2100000 0x10000>;
900*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_CAAM_MEM>,
901*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_CAAM_ACLK>,
902*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_CAAM_IPG>,
903*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_EIM_SLOW>;
904*4882a593Smuzhiyun				clock-names = "mem", "aclk", "ipg", "emi_slow";
905*4882a593Smuzhiyun
906*4882a593Smuzhiyun				sec_jr0: jr0@1000 {
907*4882a593Smuzhiyun					compatible = "fsl,sec-v4.0-job-ring";
908*4882a593Smuzhiyun					reg = <0x1000 0x1000>;
909*4882a593Smuzhiyun					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
910*4882a593Smuzhiyun				};
911*4882a593Smuzhiyun
912*4882a593Smuzhiyun				sec_jr1: jr1@2000 {
913*4882a593Smuzhiyun					compatible = "fsl,sec-v4.0-job-ring";
914*4882a593Smuzhiyun					reg = <0x2000 0x1000>;
915*4882a593Smuzhiyun					interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
916*4882a593Smuzhiyun				};
917*4882a593Smuzhiyun			};
918*4882a593Smuzhiyun
919*4882a593Smuzhiyun			aipstz@0217c000 { /* AIPSTZ2 */
920*4882a593Smuzhiyun				reg = <0x0217c000 0x4000>;
921*4882a593Smuzhiyun			};
922*4882a593Smuzhiyun
923*4882a593Smuzhiyun			usbotg: usb@02184000 {
924*4882a593Smuzhiyun				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
925*4882a593Smuzhiyun				reg = <0x02184000 0x200>;
926*4882a593Smuzhiyun				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
927*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBOH3>;
928*4882a593Smuzhiyun				fsl,usbphy = <&usbphy1>;
929*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 0>;
930*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
931*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
932*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
933*4882a593Smuzhiyun				status = "disabled";
934*4882a593Smuzhiyun			};
935*4882a593Smuzhiyun
936*4882a593Smuzhiyun			usbh1: usb@02184200 {
937*4882a593Smuzhiyun				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
938*4882a593Smuzhiyun				reg = <0x02184200 0x200>;
939*4882a593Smuzhiyun				interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
940*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBOH3>;
941*4882a593Smuzhiyun				fsl,usbphy = <&usbphy2>;
942*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 1>;
943*4882a593Smuzhiyun				dr_mode = "host";
944*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
945*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
946*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
947*4882a593Smuzhiyun				status = "disabled";
948*4882a593Smuzhiyun			};
949*4882a593Smuzhiyun
950*4882a593Smuzhiyun			usbh2: usb@02184400 {
951*4882a593Smuzhiyun				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
952*4882a593Smuzhiyun				reg = <0x02184400 0x200>;
953*4882a593Smuzhiyun				interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
954*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBOH3>;
955*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 2>;
956*4882a593Smuzhiyun				dr_mode = "host";
957*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
958*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
959*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
960*4882a593Smuzhiyun				status = "disabled";
961*4882a593Smuzhiyun			};
962*4882a593Smuzhiyun
963*4882a593Smuzhiyun			usbh3: usb@02184600 {
964*4882a593Smuzhiyun				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
965*4882a593Smuzhiyun				reg = <0x02184600 0x200>;
966*4882a593Smuzhiyun				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
967*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBOH3>;
968*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 3>;
969*4882a593Smuzhiyun				dr_mode = "host";
970*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
971*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
972*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
973*4882a593Smuzhiyun				status = "disabled";
974*4882a593Smuzhiyun			};
975*4882a593Smuzhiyun
976*4882a593Smuzhiyun			usbmisc: usbmisc@02184800 {
977*4882a593Smuzhiyun				#index-cells = <1>;
978*4882a593Smuzhiyun				compatible = "fsl,imx6q-usbmisc";
979*4882a593Smuzhiyun				reg = <0x02184800 0x200>;
980*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USBOH3>;
981*4882a593Smuzhiyun			};
982*4882a593Smuzhiyun
983*4882a593Smuzhiyun			fec: ethernet@02188000 {
984*4882a593Smuzhiyun				compatible = "fsl,imx6q-fec";
985*4882a593Smuzhiyun				reg = <0x02188000 0x4000>;
986*4882a593Smuzhiyun				interrupts-extended =
987*4882a593Smuzhiyun					<&intc 0 118 IRQ_TYPE_LEVEL_HIGH>,
988*4882a593Smuzhiyun					<&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
989*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_ENET>,
990*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_ENET>,
991*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_ENET_REF>;
992*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "ptp";
993*4882a593Smuzhiyun				status = "disabled";
994*4882a593Smuzhiyun			};
995*4882a593Smuzhiyun
996*4882a593Smuzhiyun			mlb@0218c000 {
997*4882a593Smuzhiyun				reg = <0x0218c000 0x4000>;
998*4882a593Smuzhiyun				interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>,
999*4882a593Smuzhiyun					     <0 117 IRQ_TYPE_LEVEL_HIGH>,
1000*4882a593Smuzhiyun					     <0 126 IRQ_TYPE_LEVEL_HIGH>;
1001*4882a593Smuzhiyun			};
1002*4882a593Smuzhiyun
1003*4882a593Smuzhiyun			usdhc1: usdhc@02190000 {
1004*4882a593Smuzhiyun				compatible = "fsl,imx6q-usdhc";
1005*4882a593Smuzhiyun				reg = <0x02190000 0x4000>;
1006*4882a593Smuzhiyun				interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
1007*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USDHC1>,
1008*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC1>,
1009*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC1>;
1010*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
1011*4882a593Smuzhiyun				bus-width = <4>;
1012*4882a593Smuzhiyun				status = "disabled";
1013*4882a593Smuzhiyun			};
1014*4882a593Smuzhiyun
1015*4882a593Smuzhiyun			usdhc2: usdhc@02194000 {
1016*4882a593Smuzhiyun				compatible = "fsl,imx6q-usdhc";
1017*4882a593Smuzhiyun				reg = <0x02194000 0x4000>;
1018*4882a593Smuzhiyun				interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
1019*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USDHC2>,
1020*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC2>,
1021*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC2>;
1022*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
1023*4882a593Smuzhiyun				bus-width = <4>;
1024*4882a593Smuzhiyun				status = "disabled";
1025*4882a593Smuzhiyun			};
1026*4882a593Smuzhiyun
1027*4882a593Smuzhiyun			usdhc3: usdhc@02198000 {
1028*4882a593Smuzhiyun				compatible = "fsl,imx6q-usdhc";
1029*4882a593Smuzhiyun				reg = <0x02198000 0x4000>;
1030*4882a593Smuzhiyun				interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
1031*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USDHC3>,
1032*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC3>,
1033*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC3>;
1034*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
1035*4882a593Smuzhiyun				bus-width = <4>;
1036*4882a593Smuzhiyun				status = "disabled";
1037*4882a593Smuzhiyun			};
1038*4882a593Smuzhiyun
1039*4882a593Smuzhiyun			usdhc4: usdhc@0219c000 {
1040*4882a593Smuzhiyun				compatible = "fsl,imx6q-usdhc";
1041*4882a593Smuzhiyun				reg = <0x0219c000 0x4000>;
1042*4882a593Smuzhiyun				interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
1043*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_USDHC4>,
1044*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC4>,
1045*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_USDHC4>;
1046*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
1047*4882a593Smuzhiyun				bus-width = <4>;
1048*4882a593Smuzhiyun				status = "disabled";
1049*4882a593Smuzhiyun			};
1050*4882a593Smuzhiyun
1051*4882a593Smuzhiyun			i2c1: i2c@021a0000 {
1052*4882a593Smuzhiyun				#address-cells = <1>;
1053*4882a593Smuzhiyun				#size-cells = <0>;
1054*4882a593Smuzhiyun				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
1055*4882a593Smuzhiyun				reg = <0x021a0000 0x4000>;
1056*4882a593Smuzhiyun				interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
1057*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_I2C1>;
1058*4882a593Smuzhiyun				status = "disabled";
1059*4882a593Smuzhiyun			};
1060*4882a593Smuzhiyun
1061*4882a593Smuzhiyun			i2c2: i2c@021a4000 {
1062*4882a593Smuzhiyun				#address-cells = <1>;
1063*4882a593Smuzhiyun				#size-cells = <0>;
1064*4882a593Smuzhiyun				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
1065*4882a593Smuzhiyun				reg = <0x021a4000 0x4000>;
1066*4882a593Smuzhiyun				interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
1067*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_I2C2>;
1068*4882a593Smuzhiyun				status = "disabled";
1069*4882a593Smuzhiyun			};
1070*4882a593Smuzhiyun
1071*4882a593Smuzhiyun			i2c3: i2c@021a8000 {
1072*4882a593Smuzhiyun				#address-cells = <1>;
1073*4882a593Smuzhiyun				#size-cells = <0>;
1074*4882a593Smuzhiyun				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
1075*4882a593Smuzhiyun				reg = <0x021a8000 0x4000>;
1076*4882a593Smuzhiyun				interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
1077*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_I2C3>;
1078*4882a593Smuzhiyun				status = "disabled";
1079*4882a593Smuzhiyun			};
1080*4882a593Smuzhiyun
1081*4882a593Smuzhiyun			romcp@021ac000 {
1082*4882a593Smuzhiyun				reg = <0x021ac000 0x4000>;
1083*4882a593Smuzhiyun			};
1084*4882a593Smuzhiyun
1085*4882a593Smuzhiyun			mmdc0: mmdc@021b0000 { /* MMDC0 */
1086*4882a593Smuzhiyun				compatible = "fsl,imx6q-mmdc";
1087*4882a593Smuzhiyun				reg = <0x021b0000 0x4000>;
1088*4882a593Smuzhiyun			};
1089*4882a593Smuzhiyun
1090*4882a593Smuzhiyun			mmdc1: mmdc@021b4000 { /* MMDC1 */
1091*4882a593Smuzhiyun				reg = <0x021b4000 0x4000>;
1092*4882a593Smuzhiyun			};
1093*4882a593Smuzhiyun
1094*4882a593Smuzhiyun			weim: weim@021b8000 {
1095*4882a593Smuzhiyun				compatible = "fsl,imx6q-weim";
1096*4882a593Smuzhiyun				reg = <0x021b8000 0x4000>;
1097*4882a593Smuzhiyun				interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
1098*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_EIM_SLOW>;
1099*4882a593Smuzhiyun			};
1100*4882a593Smuzhiyun
1101*4882a593Smuzhiyun			ocotp: ocotp@021bc000 {
1102*4882a593Smuzhiyun				compatible = "fsl,imx6q-ocotp", "syscon";
1103*4882a593Smuzhiyun				reg = <0x021bc000 0x4000>;
1104*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_IIM>;
1105*4882a593Smuzhiyun			};
1106*4882a593Smuzhiyun
1107*4882a593Smuzhiyun			tzasc@021d0000 { /* TZASC1 */
1108*4882a593Smuzhiyun				reg = <0x021d0000 0x4000>;
1109*4882a593Smuzhiyun				interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
1110*4882a593Smuzhiyun			};
1111*4882a593Smuzhiyun
1112*4882a593Smuzhiyun			tzasc@021d4000 { /* TZASC2 */
1113*4882a593Smuzhiyun				reg = <0x021d4000 0x4000>;
1114*4882a593Smuzhiyun				interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
1115*4882a593Smuzhiyun			};
1116*4882a593Smuzhiyun
1117*4882a593Smuzhiyun			audmux: audmux@021d8000 {
1118*4882a593Smuzhiyun				compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
1119*4882a593Smuzhiyun				reg = <0x021d8000 0x4000>;
1120*4882a593Smuzhiyun				status = "disabled";
1121*4882a593Smuzhiyun			};
1122*4882a593Smuzhiyun
1123*4882a593Smuzhiyun			mipi_csi: mipi@021dc000 {
1124*4882a593Smuzhiyun				reg = <0x021dc000 0x4000>;
1125*4882a593Smuzhiyun			};
1126*4882a593Smuzhiyun
1127*4882a593Smuzhiyun			mipi_dsi: mipi@021e0000 {
1128*4882a593Smuzhiyun				#address-cells = <1>;
1129*4882a593Smuzhiyun				#size-cells = <0>;
1130*4882a593Smuzhiyun				reg = <0x021e0000 0x4000>;
1131*4882a593Smuzhiyun				status = "disabled";
1132*4882a593Smuzhiyun
1133*4882a593Smuzhiyun				ports {
1134*4882a593Smuzhiyun					#address-cells = <1>;
1135*4882a593Smuzhiyun					#size-cells = <0>;
1136*4882a593Smuzhiyun
1137*4882a593Smuzhiyun					port@0 {
1138*4882a593Smuzhiyun						reg = <0>;
1139*4882a593Smuzhiyun
1140*4882a593Smuzhiyun						mipi_mux_0: endpoint {
1141*4882a593Smuzhiyun							remote-endpoint = <&ipu1_di0_mipi>;
1142*4882a593Smuzhiyun						};
1143*4882a593Smuzhiyun					};
1144*4882a593Smuzhiyun
1145*4882a593Smuzhiyun					port@1 {
1146*4882a593Smuzhiyun						reg = <1>;
1147*4882a593Smuzhiyun
1148*4882a593Smuzhiyun						mipi_mux_1: endpoint {
1149*4882a593Smuzhiyun							remote-endpoint = <&ipu1_di1_mipi>;
1150*4882a593Smuzhiyun						};
1151*4882a593Smuzhiyun					};
1152*4882a593Smuzhiyun				};
1153*4882a593Smuzhiyun			};
1154*4882a593Smuzhiyun
1155*4882a593Smuzhiyun			vdoa@021e4000 {
1156*4882a593Smuzhiyun				reg = <0x021e4000 0x4000>;
1157*4882a593Smuzhiyun				interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
1158*4882a593Smuzhiyun			};
1159*4882a593Smuzhiyun
1160*4882a593Smuzhiyun			uart2: serial@021e8000 {
1161*4882a593Smuzhiyun				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1162*4882a593Smuzhiyun				reg = <0x021e8000 0x4000>;
1163*4882a593Smuzhiyun				interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
1164*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1165*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_UART_SERIAL>;
1166*4882a593Smuzhiyun				clock-names = "ipg", "per";
1167*4882a593Smuzhiyun				dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
1168*4882a593Smuzhiyun				dma-names = "rx", "tx";
1169*4882a593Smuzhiyun				status = "disabled";
1170*4882a593Smuzhiyun			};
1171*4882a593Smuzhiyun
1172*4882a593Smuzhiyun			uart3: serial@021ec000 {
1173*4882a593Smuzhiyun				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1174*4882a593Smuzhiyun				reg = <0x021ec000 0x4000>;
1175*4882a593Smuzhiyun				interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
1176*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1177*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_UART_SERIAL>;
1178*4882a593Smuzhiyun				clock-names = "ipg", "per";
1179*4882a593Smuzhiyun				dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
1180*4882a593Smuzhiyun				dma-names = "rx", "tx";
1181*4882a593Smuzhiyun				status = "disabled";
1182*4882a593Smuzhiyun			};
1183*4882a593Smuzhiyun
1184*4882a593Smuzhiyun			uart4: serial@021f0000 {
1185*4882a593Smuzhiyun				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1186*4882a593Smuzhiyun				reg = <0x021f0000 0x4000>;
1187*4882a593Smuzhiyun				interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
1188*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1189*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_UART_SERIAL>;
1190*4882a593Smuzhiyun				clock-names = "ipg", "per";
1191*4882a593Smuzhiyun				dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
1192*4882a593Smuzhiyun				dma-names = "rx", "tx";
1193*4882a593Smuzhiyun				status = "disabled";
1194*4882a593Smuzhiyun			};
1195*4882a593Smuzhiyun
1196*4882a593Smuzhiyun			uart5: serial@021f4000 {
1197*4882a593Smuzhiyun				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1198*4882a593Smuzhiyun				reg = <0x021f4000 0x4000>;
1199*4882a593Smuzhiyun				interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
1200*4882a593Smuzhiyun				clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1201*4882a593Smuzhiyun					 <&clks IMX6QDL_CLK_UART_SERIAL>;
1202*4882a593Smuzhiyun				clock-names = "ipg", "per";
1203*4882a593Smuzhiyun				dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
1204*4882a593Smuzhiyun				dma-names = "rx", "tx";
1205*4882a593Smuzhiyun				status = "disabled";
1206*4882a593Smuzhiyun			};
1207*4882a593Smuzhiyun		};
1208*4882a593Smuzhiyun
1209*4882a593Smuzhiyun		ipu1: ipu@02400000 {
1210*4882a593Smuzhiyun			#address-cells = <1>;
1211*4882a593Smuzhiyun			#size-cells = <0>;
1212*4882a593Smuzhiyun			compatible = "fsl,imx6q-ipu";
1213*4882a593Smuzhiyun			reg = <0x02400000 0x400000>;
1214*4882a593Smuzhiyun			interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>,
1215*4882a593Smuzhiyun				     <0 5 IRQ_TYPE_LEVEL_HIGH>;
1216*4882a593Smuzhiyun			clocks = <&clks IMX6QDL_CLK_IPU1>,
1217*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_IPU1_DI0>,
1218*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_IPU1_DI1>;
1219*4882a593Smuzhiyun			clock-names = "bus", "di0", "di1";
1220*4882a593Smuzhiyun			resets = <&src 2>;
1221*4882a593Smuzhiyun
1222*4882a593Smuzhiyun			ipu1_csi0: port@0 {
1223*4882a593Smuzhiyun				reg = <0>;
1224*4882a593Smuzhiyun			};
1225*4882a593Smuzhiyun
1226*4882a593Smuzhiyun			ipu1_csi1: port@1 {
1227*4882a593Smuzhiyun				reg = <1>;
1228*4882a593Smuzhiyun			};
1229*4882a593Smuzhiyun
1230*4882a593Smuzhiyun			ipu1_di0: port@2 {
1231*4882a593Smuzhiyun				#address-cells = <1>;
1232*4882a593Smuzhiyun				#size-cells = <0>;
1233*4882a593Smuzhiyun				reg = <2>;
1234*4882a593Smuzhiyun
1235*4882a593Smuzhiyun				ipu1_di0_disp0: disp0-endpoint {
1236*4882a593Smuzhiyun				};
1237*4882a593Smuzhiyun
1238*4882a593Smuzhiyun				ipu1_di0_hdmi: hdmi-endpoint {
1239*4882a593Smuzhiyun					remote-endpoint = <&hdmi_mux_0>;
1240*4882a593Smuzhiyun				};
1241*4882a593Smuzhiyun
1242*4882a593Smuzhiyun				ipu1_di0_mipi: mipi-endpoint {
1243*4882a593Smuzhiyun					remote-endpoint = <&mipi_mux_0>;
1244*4882a593Smuzhiyun				};
1245*4882a593Smuzhiyun
1246*4882a593Smuzhiyun				ipu1_di0_lvds0: lvds0-endpoint {
1247*4882a593Smuzhiyun					remote-endpoint = <&lvds0_mux_0>;
1248*4882a593Smuzhiyun				};
1249*4882a593Smuzhiyun
1250*4882a593Smuzhiyun				ipu1_di0_lvds1: lvds1-endpoint {
1251*4882a593Smuzhiyun					remote-endpoint = <&lvds1_mux_0>;
1252*4882a593Smuzhiyun				};
1253*4882a593Smuzhiyun			};
1254*4882a593Smuzhiyun
1255*4882a593Smuzhiyun			ipu1_di1: port@3 {
1256*4882a593Smuzhiyun				#address-cells = <1>;
1257*4882a593Smuzhiyun				#size-cells = <0>;
1258*4882a593Smuzhiyun				reg = <3>;
1259*4882a593Smuzhiyun
1260*4882a593Smuzhiyun				ipu1_di1_disp1: disp1-endpoint {
1261*4882a593Smuzhiyun				};
1262*4882a593Smuzhiyun
1263*4882a593Smuzhiyun				ipu1_di1_hdmi: hdmi-endpoint {
1264*4882a593Smuzhiyun					remote-endpoint = <&hdmi_mux_1>;
1265*4882a593Smuzhiyun				};
1266*4882a593Smuzhiyun
1267*4882a593Smuzhiyun				ipu1_di1_mipi: mipi-endpoint {
1268*4882a593Smuzhiyun					remote-endpoint = <&mipi_mux_1>;
1269*4882a593Smuzhiyun				};
1270*4882a593Smuzhiyun
1271*4882a593Smuzhiyun				ipu1_di1_lvds0: lvds0-endpoint {
1272*4882a593Smuzhiyun					remote-endpoint = <&lvds0_mux_1>;
1273*4882a593Smuzhiyun				};
1274*4882a593Smuzhiyun
1275*4882a593Smuzhiyun				ipu1_di1_lvds1: lvds1-endpoint {
1276*4882a593Smuzhiyun					remote-endpoint = <&lvds1_mux_1>;
1277*4882a593Smuzhiyun				};
1278*4882a593Smuzhiyun			};
1279*4882a593Smuzhiyun		};
1280*4882a593Smuzhiyun	};
1281*4882a593Smuzhiyun};
1282