xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/imx6ul.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright 2015 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#include <dt-bindings/clock/imx6ul-clock.h>
10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
11*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
13*4882a593Smuzhiyun#include "imx6ul-pinfunc.h"
14*4882a593Smuzhiyun#include "skeleton.dtsi"
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	aliases {
18*4882a593Smuzhiyun		ethernet0 = &fec1;
19*4882a593Smuzhiyun		ethernet1 = &fec2;
20*4882a593Smuzhiyun		gpio0 = &gpio1;
21*4882a593Smuzhiyun		gpio1 = &gpio2;
22*4882a593Smuzhiyun		gpio2 = &gpio3;
23*4882a593Smuzhiyun		gpio3 = &gpio4;
24*4882a593Smuzhiyun		gpio4 = &gpio5;
25*4882a593Smuzhiyun		i2c0 = &i2c1;
26*4882a593Smuzhiyun		i2c1 = &i2c2;
27*4882a593Smuzhiyun		i2c2 = &i2c3;
28*4882a593Smuzhiyun		i2c3 = &i2c4;
29*4882a593Smuzhiyun		mmc0 = &usdhc1;
30*4882a593Smuzhiyun		mmc1 = &usdhc2;
31*4882a593Smuzhiyun		serial0 = &uart1;
32*4882a593Smuzhiyun		serial1 = &uart2;
33*4882a593Smuzhiyun		serial2 = &uart3;
34*4882a593Smuzhiyun		serial3 = &uart4;
35*4882a593Smuzhiyun		serial4 = &uart5;
36*4882a593Smuzhiyun		serial5 = &uart6;
37*4882a593Smuzhiyun		serial6 = &uart7;
38*4882a593Smuzhiyun		serial7 = &uart8;
39*4882a593Smuzhiyun		sai1 = &sai1;
40*4882a593Smuzhiyun		sai2 = &sai2;
41*4882a593Smuzhiyun		sai3 = &sai3;
42*4882a593Smuzhiyun		spi0 = &ecspi1;
43*4882a593Smuzhiyun		spi1 = &ecspi2;
44*4882a593Smuzhiyun		spi2 = &ecspi3;
45*4882a593Smuzhiyun		spi3 = &ecspi4;
46*4882a593Smuzhiyun		usbotg0 = &usbotg1;
47*4882a593Smuzhiyun		usbotg1 = &usbotg2;
48*4882a593Smuzhiyun		usbphy0 = &usbphy1;
49*4882a593Smuzhiyun		usbphy1 = &usbphy2;
50*4882a593Smuzhiyun	};
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	cpus {
53*4882a593Smuzhiyun		#address-cells = <1>;
54*4882a593Smuzhiyun		#size-cells = <0>;
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun		cpu0: cpu@0 {
57*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
58*4882a593Smuzhiyun			device_type = "cpu";
59*4882a593Smuzhiyun			reg = <0>;
60*4882a593Smuzhiyun			clock-latency = <61036>; /* two CLK32 periods */
61*4882a593Smuzhiyun			operating-points = <
62*4882a593Smuzhiyun				/* kHz	uV */
63*4882a593Smuzhiyun				528000	1175000
64*4882a593Smuzhiyun				396000	1025000
65*4882a593Smuzhiyun				198000	950000
66*4882a593Smuzhiyun			>;
67*4882a593Smuzhiyun			fsl,soc-operating-points = <
68*4882a593Smuzhiyun				/* KHz	uV */
69*4882a593Smuzhiyun				528000	1175000
70*4882a593Smuzhiyun				396000	1175000
71*4882a593Smuzhiyun				198000	1175000
72*4882a593Smuzhiyun			>;
73*4882a593Smuzhiyun			clocks = <&clks IMX6UL_CLK_ARM>,
74*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_PLL2_BUS>,
75*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_PLL2_PFD2>,
76*4882a593Smuzhiyun				 <&clks IMX6UL_CA7_SECONDARY_SEL>,
77*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_STEP>,
78*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_PLL1_SW>,
79*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_PLL1_SYS>,
80*4882a593Smuzhiyun				 <&clks IMX6UL_PLL1_BYPASS>,
81*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_PLL1>,
82*4882a593Smuzhiyun				 <&clks IMX6UL_PLL1_BYPASS_SRC>,
83*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_OSC>;
84*4882a593Smuzhiyun			clock-names = "arm", "pll2_bus",  "pll2_pfd2_396m",
85*4882a593Smuzhiyun				      "secondary_sel", "step", "pll1_sw",
86*4882a593Smuzhiyun				      "pll1_sys", "pll1_bypass", "pll1",
87*4882a593Smuzhiyun				      "pll1_bypass_src", "osc";
88*4882a593Smuzhiyun			arm-supply = <&reg_arm>;
89*4882a593Smuzhiyun			soc-supply = <&reg_soc>;
90*4882a593Smuzhiyun		};
91*4882a593Smuzhiyun	};
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun	intc: interrupt-controller@00a01000 {
94*4882a593Smuzhiyun		compatible = "arm,cortex-a7-gic";
95*4882a593Smuzhiyun		#interrupt-cells = <3>;
96*4882a593Smuzhiyun		interrupt-controller;
97*4882a593Smuzhiyun		reg = <0x00a01000 0x1000>,
98*4882a593Smuzhiyun		      <0x00a02000 0x1000>,
99*4882a593Smuzhiyun		      <0x00a04000 0x2000>,
100*4882a593Smuzhiyun		      <0x00a06000 0x2000>;
101*4882a593Smuzhiyun	};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun	ckil: clock-cli {
104*4882a593Smuzhiyun		compatible = "fixed-clock";
105*4882a593Smuzhiyun		#clock-cells = <0>;
106*4882a593Smuzhiyun		clock-frequency = <32768>;
107*4882a593Smuzhiyun		clock-output-names = "ckil";
108*4882a593Smuzhiyun	};
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun	osc: clock-osc {
111*4882a593Smuzhiyun		compatible = "fixed-clock";
112*4882a593Smuzhiyun		#clock-cells = <0>;
113*4882a593Smuzhiyun		clock-frequency = <24000000>;
114*4882a593Smuzhiyun		clock-output-names = "osc";
115*4882a593Smuzhiyun	};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun	ipp_di0: clock-di0 {
118*4882a593Smuzhiyun		compatible = "fixed-clock";
119*4882a593Smuzhiyun		#clock-cells = <0>;
120*4882a593Smuzhiyun		clock-frequency = <0>;
121*4882a593Smuzhiyun		clock-output-names = "ipp_di0";
122*4882a593Smuzhiyun	};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun	ipp_di1: clock-di1 {
125*4882a593Smuzhiyun		compatible = "fixed-clock";
126*4882a593Smuzhiyun		#clock-cells = <0>;
127*4882a593Smuzhiyun		clock-frequency = <0>;
128*4882a593Smuzhiyun		clock-output-names = "ipp_di1";
129*4882a593Smuzhiyun	};
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun	soc {
132*4882a593Smuzhiyun		#address-cells = <1>;
133*4882a593Smuzhiyun		#size-cells = <1>;
134*4882a593Smuzhiyun		compatible = "simple-bus";
135*4882a593Smuzhiyun		interrupt-parent = <&gpc>;
136*4882a593Smuzhiyun		ranges;
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		pmu {
139*4882a593Smuzhiyun			compatible = "arm,cortex-a7-pmu";
140*4882a593Smuzhiyun			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
141*4882a593Smuzhiyun			status = "disabled";
142*4882a593Smuzhiyun		};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun		ocram: sram@00900000 {
145*4882a593Smuzhiyun			compatible = "mmio-sram";
146*4882a593Smuzhiyun			reg = <0x00900000 0x20000>;
147*4882a593Smuzhiyun		};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun		dma_apbh: dma-apbh@01804000 {
150*4882a593Smuzhiyun			compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
151*4882a593Smuzhiyun			reg = <0x01804000 0x2000>;
152*4882a593Smuzhiyun			interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
153*4882a593Smuzhiyun				     <0 13 IRQ_TYPE_LEVEL_HIGH>,
154*4882a593Smuzhiyun				     <0 13 IRQ_TYPE_LEVEL_HIGH>,
155*4882a593Smuzhiyun				     <0 13 IRQ_TYPE_LEVEL_HIGH>;
156*4882a593Smuzhiyun			interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
157*4882a593Smuzhiyun			#dma-cells = <1>;
158*4882a593Smuzhiyun			dma-channels = <4>;
159*4882a593Smuzhiyun			clocks = <&clks IMX6UL_CLK_APBHDMA>;
160*4882a593Smuzhiyun		};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun		gpmi: gpmi-nand@01806000         {
163*4882a593Smuzhiyun			compatible = "fsl,imx6q-gpmi-nand";
164*4882a593Smuzhiyun			#address-cells = <1>;
165*4882a593Smuzhiyun			#size-cells = <1>;
166*4882a593Smuzhiyun			reg = <0x01806000 0x2000>, <0x01808000 0x2000>;
167*4882a593Smuzhiyun			reg-names = "gpmi-nand", "bch";
168*4882a593Smuzhiyun			interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
169*4882a593Smuzhiyun			interrupt-names = "bch";
170*4882a593Smuzhiyun			clocks = <&clks IMX6UL_CLK_GPMI_IO>,
171*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_GPMI_APB>,
172*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_GPMI_BCH>,
173*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_GPMI_BCH_APB>,
174*4882a593Smuzhiyun				 <&clks IMX6UL_CLK_PER_BCH>;
175*4882a593Smuzhiyun			clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
176*4882a593Smuzhiyun				      "gpmi_bch_apb", "per1_bch";
177*4882a593Smuzhiyun			dmas = <&dma_apbh 0>;
178*4882a593Smuzhiyun			dma-names = "rx-tx";
179*4882a593Smuzhiyun			status = "disabled";
180*4882a593Smuzhiyun		};
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun		aips1: aips-bus@02000000 {
183*4882a593Smuzhiyun			compatible = "fsl,aips-bus", "simple-bus";
184*4882a593Smuzhiyun			#address-cells = <1>;
185*4882a593Smuzhiyun			#size-cells = <1>;
186*4882a593Smuzhiyun			reg = <0x02000000 0x100000>;
187*4882a593Smuzhiyun			ranges;
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun			spba-bus@02000000 {
190*4882a593Smuzhiyun				compatible = "fsl,spba-bus", "simple-bus";
191*4882a593Smuzhiyun				#address-cells = <1>;
192*4882a593Smuzhiyun				#size-cells = <1>;
193*4882a593Smuzhiyun				reg = <0x02000000 0x40000>;
194*4882a593Smuzhiyun				ranges;
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun				ecspi1: ecspi@02008000 {
197*4882a593Smuzhiyun					#address-cells = <1>;
198*4882a593Smuzhiyun					#size-cells = <0>;
199*4882a593Smuzhiyun					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
200*4882a593Smuzhiyun					reg = <0x02008000 0x4000>;
201*4882a593Smuzhiyun					interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
202*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_ECSPI1>,
203*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_ECSPI1>;
204*4882a593Smuzhiyun					clock-names = "ipg", "per";
205*4882a593Smuzhiyun					status = "disabled";
206*4882a593Smuzhiyun				};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun				ecspi2: ecspi@0200c000 {
209*4882a593Smuzhiyun					#address-cells = <1>;
210*4882a593Smuzhiyun					#size-cells = <0>;
211*4882a593Smuzhiyun					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
212*4882a593Smuzhiyun					reg = <0x0200c000 0x4000>;
213*4882a593Smuzhiyun					interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
214*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_ECSPI2>,
215*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_ECSPI2>;
216*4882a593Smuzhiyun					clock-names = "ipg", "per";
217*4882a593Smuzhiyun					status = "disabled";
218*4882a593Smuzhiyun				};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun				ecspi3: ecspi@02010000 {
221*4882a593Smuzhiyun					#address-cells = <1>;
222*4882a593Smuzhiyun					#size-cells = <0>;
223*4882a593Smuzhiyun					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
224*4882a593Smuzhiyun					reg = <0x02010000 0x4000>;
225*4882a593Smuzhiyun					interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
226*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_ECSPI3>,
227*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_ECSPI3>;
228*4882a593Smuzhiyun					clock-names = "ipg", "per";
229*4882a593Smuzhiyun					status = "disabled";
230*4882a593Smuzhiyun				};
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun				ecspi4: ecspi@02014000 {
233*4882a593Smuzhiyun					#address-cells = <1>;
234*4882a593Smuzhiyun					#size-cells = <0>;
235*4882a593Smuzhiyun					compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
236*4882a593Smuzhiyun					reg = <0x02014000 0x4000>;
237*4882a593Smuzhiyun					interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
238*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_ECSPI4>,
239*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_ECSPI4>;
240*4882a593Smuzhiyun					clock-names = "ipg", "per";
241*4882a593Smuzhiyun					status = "disabled";
242*4882a593Smuzhiyun				};
243*4882a593Smuzhiyun
244*4882a593Smuzhiyun				uart7: serial@02018000 {
245*4882a593Smuzhiyun					compatible = "fsl,imx6ul-uart",
246*4882a593Smuzhiyun						     "fsl,imx6q-uart";
247*4882a593Smuzhiyun					reg = <0x02018000 0x4000>;
248*4882a593Smuzhiyun					interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
249*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_UART7_IPG>,
250*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_UART7_SERIAL>;
251*4882a593Smuzhiyun					clock-names = "ipg", "per";
252*4882a593Smuzhiyun					status = "disabled";
253*4882a593Smuzhiyun				};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun				uart1: serial@02020000 {
256*4882a593Smuzhiyun					compatible = "fsl,imx6ul-uart",
257*4882a593Smuzhiyun						     "fsl,imx6q-uart";
258*4882a593Smuzhiyun					reg = <0x02020000 0x4000>;
259*4882a593Smuzhiyun					interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
260*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_UART1_IPG>,
261*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_UART1_SERIAL>;
262*4882a593Smuzhiyun					clock-names = "ipg", "per";
263*4882a593Smuzhiyun					status = "disabled";
264*4882a593Smuzhiyun				};
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun				uart8: serial@02024000 {
267*4882a593Smuzhiyun					compatible = "fsl,imx6ul-uart",
268*4882a593Smuzhiyun						     "fsl,imx6q-uart";
269*4882a593Smuzhiyun					reg = <0x02024000 0x4000>;
270*4882a593Smuzhiyun					interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
271*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_UART8_IPG>,
272*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_UART8_SERIAL>;
273*4882a593Smuzhiyun					clock-names = "ipg", "per";
274*4882a593Smuzhiyun					status = "disabled";
275*4882a593Smuzhiyun				};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun				sai1: sai@02028000 {
278*4882a593Smuzhiyun					#sound-dai-cells = <0>;
279*4882a593Smuzhiyun					compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
280*4882a593Smuzhiyun					reg = <0x02028000 0x4000>;
281*4882a593Smuzhiyun					interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
282*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_SAI1_IPG>,
283*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_SAI1>,
284*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>;
285*4882a593Smuzhiyun					clock-names = "bus", "mclk1", "mclk2", "mclk3";
286*4882a593Smuzhiyun					dmas = <&sdma 35 24 0>,
287*4882a593Smuzhiyun					       <&sdma 36 24 0>;
288*4882a593Smuzhiyun					dma-names = "rx", "tx";
289*4882a593Smuzhiyun					status = "disabled";
290*4882a593Smuzhiyun				};
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun				sai2: sai@0202c000 {
293*4882a593Smuzhiyun					#sound-dai-cells = <0>;
294*4882a593Smuzhiyun					compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
295*4882a593Smuzhiyun					reg = <0x0202c000 0x4000>;
296*4882a593Smuzhiyun					interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
297*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_SAI2_IPG>,
298*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_SAI2>,
299*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>;
300*4882a593Smuzhiyun					clock-names = "bus", "mclk1", "mclk2", "mclk3";
301*4882a593Smuzhiyun					dmas = <&sdma 37 24 0>,
302*4882a593Smuzhiyun					       <&sdma 38 24 0>;
303*4882a593Smuzhiyun					dma-names = "rx", "tx";
304*4882a593Smuzhiyun					status = "disabled";
305*4882a593Smuzhiyun				};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun				sai3: sai@02030000 {
308*4882a593Smuzhiyun					#sound-dai-cells = <0>;
309*4882a593Smuzhiyun					compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
310*4882a593Smuzhiyun					reg = <0x02030000 0x4000>;
311*4882a593Smuzhiyun					interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
312*4882a593Smuzhiyun					clocks = <&clks IMX6UL_CLK_SAI3_IPG>,
313*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_SAI3>,
314*4882a593Smuzhiyun						 <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>;
315*4882a593Smuzhiyun					clock-names = "bus", "mclk1", "mclk2", "mclk3";
316*4882a593Smuzhiyun					dmas = <&sdma 39 24 0>,
317*4882a593Smuzhiyun					       <&sdma 40 24 0>;
318*4882a593Smuzhiyun					dma-names = "rx", "tx";
319*4882a593Smuzhiyun					status = "disabled";
320*4882a593Smuzhiyun				};
321*4882a593Smuzhiyun			};
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun			tsc: tsc@02040000 {
324*4882a593Smuzhiyun				compatible = "fsl,imx6ul-tsc";
325*4882a593Smuzhiyun				reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
326*4882a593Smuzhiyun				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
327*4882a593Smuzhiyun					     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
328*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_IPG>,
329*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ADC2>;
330*4882a593Smuzhiyun				clock-names = "tsc", "adc";
331*4882a593Smuzhiyun				status = "disabled";
332*4882a593Smuzhiyun			};
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun			pwm1: pwm@02080000 {
335*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
336*4882a593Smuzhiyun				reg = <0x02080000 0x4000>;
337*4882a593Smuzhiyun				interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
338*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM1>,
339*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM1>;
340*4882a593Smuzhiyun				clock-names = "ipg", "per";
341*4882a593Smuzhiyun				#pwm-cells = <2>;
342*4882a593Smuzhiyun				status = "disabled";
343*4882a593Smuzhiyun			};
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun			pwm2: pwm@02084000 {
346*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
347*4882a593Smuzhiyun				reg = <0x02084000 0x4000>;
348*4882a593Smuzhiyun				interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
349*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM2>,
350*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM2>;
351*4882a593Smuzhiyun				clock-names = "ipg", "per";
352*4882a593Smuzhiyun				#pwm-cells = <2>;
353*4882a593Smuzhiyun				status = "disabled";
354*4882a593Smuzhiyun			};
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun			pwm3: pwm@02088000 {
357*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
358*4882a593Smuzhiyun				reg = <0x02088000 0x4000>;
359*4882a593Smuzhiyun				interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
360*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM3>,
361*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM3>;
362*4882a593Smuzhiyun				clock-names = "ipg", "per";
363*4882a593Smuzhiyun				#pwm-cells = <2>;
364*4882a593Smuzhiyun				status = "disabled";
365*4882a593Smuzhiyun			};
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun			pwm4: pwm@0208c000 {
368*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
369*4882a593Smuzhiyun				reg = <0x0208c000 0x4000>;
370*4882a593Smuzhiyun				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
371*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM4>,
372*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM4>;
373*4882a593Smuzhiyun				clock-names = "ipg", "per";
374*4882a593Smuzhiyun				#pwm-cells = <2>;
375*4882a593Smuzhiyun				status = "disabled";
376*4882a593Smuzhiyun			};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun			can1: flexcan@02090000 {
379*4882a593Smuzhiyun				compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
380*4882a593Smuzhiyun				reg = <0x02090000 0x4000>;
381*4882a593Smuzhiyun				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
382*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_CAN1_IPG>,
383*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_CAN1_SERIAL>;
384*4882a593Smuzhiyun				clock-names = "ipg", "per";
385*4882a593Smuzhiyun				status = "disabled";
386*4882a593Smuzhiyun			};
387*4882a593Smuzhiyun
388*4882a593Smuzhiyun			can2: flexcan@02094000 {
389*4882a593Smuzhiyun				compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
390*4882a593Smuzhiyun				reg = <0x02094000 0x4000>;
391*4882a593Smuzhiyun				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
392*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_CAN2_IPG>,
393*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_CAN2_SERIAL>;
394*4882a593Smuzhiyun				clock-names = "ipg", "per";
395*4882a593Smuzhiyun				status = "disabled";
396*4882a593Smuzhiyun			};
397*4882a593Smuzhiyun
398*4882a593Smuzhiyun			gpt1: gpt@02098000 {
399*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
400*4882a593Smuzhiyun				reg = <0x02098000 0x4000>;
401*4882a593Smuzhiyun				interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
402*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_GPT1_BUS>,
403*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_GPT1_SERIAL>;
404*4882a593Smuzhiyun				clock-names = "ipg", "per";
405*4882a593Smuzhiyun			};
406*4882a593Smuzhiyun
407*4882a593Smuzhiyun			gpio1: gpio@0209c000 {
408*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
409*4882a593Smuzhiyun				reg = <0x0209c000 0x4000>;
410*4882a593Smuzhiyun				interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
411*4882a593Smuzhiyun					     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
412*4882a593Smuzhiyun				gpio-controller;
413*4882a593Smuzhiyun				#gpio-cells = <2>;
414*4882a593Smuzhiyun				interrupt-controller;
415*4882a593Smuzhiyun				#interrupt-cells = <2>;
416*4882a593Smuzhiyun				gpio-ranges = <&iomuxc  0 23 10>, <&iomuxc 10 17 6>,
417*4882a593Smuzhiyun					      <&iomuxc 16 33 16>;
418*4882a593Smuzhiyun			};
419*4882a593Smuzhiyun
420*4882a593Smuzhiyun			gpio2: gpio@020a0000 {
421*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
422*4882a593Smuzhiyun				reg = <0x020a0000 0x4000>;
423*4882a593Smuzhiyun				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
424*4882a593Smuzhiyun					     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
425*4882a593Smuzhiyun				gpio-controller;
426*4882a593Smuzhiyun				#gpio-cells = <2>;
427*4882a593Smuzhiyun				interrupt-controller;
428*4882a593Smuzhiyun				#interrupt-cells = <2>;
429*4882a593Smuzhiyun				gpio-ranges = <&iomuxc 0 49 16>, <&iomuxc 16 111 6>;
430*4882a593Smuzhiyun			};
431*4882a593Smuzhiyun
432*4882a593Smuzhiyun			gpio3: gpio@020a4000 {
433*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
434*4882a593Smuzhiyun				reg = <0x020a4000 0x4000>;
435*4882a593Smuzhiyun				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
436*4882a593Smuzhiyun					     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
437*4882a593Smuzhiyun				gpio-controller;
438*4882a593Smuzhiyun				#gpio-cells = <2>;
439*4882a593Smuzhiyun				interrupt-controller;
440*4882a593Smuzhiyun				#interrupt-cells = <2>;
441*4882a593Smuzhiyun				gpio-ranges = <&iomuxc 0 65 29>;
442*4882a593Smuzhiyun			};
443*4882a593Smuzhiyun
444*4882a593Smuzhiyun			gpio4: gpio@020a8000 {
445*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
446*4882a593Smuzhiyun				reg = <0x020a8000 0x4000>;
447*4882a593Smuzhiyun				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
448*4882a593Smuzhiyun					     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
449*4882a593Smuzhiyun				gpio-controller;
450*4882a593Smuzhiyun				#gpio-cells = <2>;
451*4882a593Smuzhiyun				interrupt-controller;
452*4882a593Smuzhiyun				#interrupt-cells = <2>;
453*4882a593Smuzhiyun				gpio-ranges = <&iomuxc 0 94 17>, <&iomuxc 17 117 12>;
454*4882a593Smuzhiyun			};
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun			gpio5: gpio@020ac000 {
457*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
458*4882a593Smuzhiyun				reg = <0x020ac000 0x4000>;
459*4882a593Smuzhiyun				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
460*4882a593Smuzhiyun					     <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
461*4882a593Smuzhiyun				gpio-controller;
462*4882a593Smuzhiyun				#gpio-cells = <2>;
463*4882a593Smuzhiyun				interrupt-controller;
464*4882a593Smuzhiyun				#interrupt-cells = <2>;
465*4882a593Smuzhiyun				gpio-ranges = <&iomuxc 0 7 10>, <&iomuxc 10 5 2>;
466*4882a593Smuzhiyun			};
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun			fec2: ethernet@020b4000 {
469*4882a593Smuzhiyun				compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
470*4882a593Smuzhiyun				reg = <0x020b4000 0x4000>;
471*4882a593Smuzhiyun				interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
472*4882a593Smuzhiyun					     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
473*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_ENET>,
474*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET_AHB>,
475*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET_PTP>,
476*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET2_REF_125M>,
477*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET2_REF_125M>;
478*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "ptp",
479*4882a593Smuzhiyun					      "enet_clk_ref", "enet_out";
480*4882a593Smuzhiyun				fsl,num-tx-queues=<1>;
481*4882a593Smuzhiyun				fsl,num-rx-queues=<1>;
482*4882a593Smuzhiyun				status = "disabled";
483*4882a593Smuzhiyun			};
484*4882a593Smuzhiyun
485*4882a593Smuzhiyun			kpp: kpp@020b8000 {
486*4882a593Smuzhiyun				compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp";
487*4882a593Smuzhiyun				reg = <0x020b8000 0x4000>;
488*4882a593Smuzhiyun				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
489*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_KPP>;
490*4882a593Smuzhiyun				status = "disabled";
491*4882a593Smuzhiyun			};
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun			wdog1: wdog@020bc000 {
494*4882a593Smuzhiyun				compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
495*4882a593Smuzhiyun				reg = <0x020bc000 0x4000>;
496*4882a593Smuzhiyun				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
497*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_WDOG1>;
498*4882a593Smuzhiyun			};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun			wdog2: wdog@020c0000 {
501*4882a593Smuzhiyun				compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
502*4882a593Smuzhiyun				reg = <0x020c0000 0x4000>;
503*4882a593Smuzhiyun				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
504*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_WDOG2>;
505*4882a593Smuzhiyun				status = "disabled";
506*4882a593Smuzhiyun			};
507*4882a593Smuzhiyun
508*4882a593Smuzhiyun			clks: ccm@020c4000 {
509*4882a593Smuzhiyun				compatible = "fsl,imx6ul-ccm";
510*4882a593Smuzhiyun				reg = <0x020c4000 0x4000>;
511*4882a593Smuzhiyun				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
512*4882a593Smuzhiyun					     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
513*4882a593Smuzhiyun				#clock-cells = <1>;
514*4882a593Smuzhiyun				clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>;
515*4882a593Smuzhiyun				clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
516*4882a593Smuzhiyun			};
517*4882a593Smuzhiyun
518*4882a593Smuzhiyun			anatop: anatop@020c8000 {
519*4882a593Smuzhiyun				compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop",
520*4882a593Smuzhiyun					     "syscon", "simple-bus";
521*4882a593Smuzhiyun				reg = <0x020c8000 0x1000>;
522*4882a593Smuzhiyun				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
523*4882a593Smuzhiyun					     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
524*4882a593Smuzhiyun					     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
525*4882a593Smuzhiyun
526*4882a593Smuzhiyun				reg_3p0: regulator-3p0 {
527*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
528*4882a593Smuzhiyun					regulator-name = "vdd3p0";
529*4882a593Smuzhiyun					regulator-min-microvolt = <2625000>;
530*4882a593Smuzhiyun					regulator-max-microvolt = <3400000>;
531*4882a593Smuzhiyun					anatop-reg-offset = <0x120>;
532*4882a593Smuzhiyun					anatop-vol-bit-shift = <8>;
533*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
534*4882a593Smuzhiyun					anatop-min-bit-val = <0>;
535*4882a593Smuzhiyun					anatop-min-voltage = <2625000>;
536*4882a593Smuzhiyun					anatop-max-voltage = <3400000>;
537*4882a593Smuzhiyun					anatop-enable-bit = <0>;
538*4882a593Smuzhiyun				};
539*4882a593Smuzhiyun
540*4882a593Smuzhiyun				reg_arm: regulator-vddcore {
541*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
542*4882a593Smuzhiyun					regulator-name = "cpu";
543*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
544*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
545*4882a593Smuzhiyun					regulator-always-on;
546*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
547*4882a593Smuzhiyun					anatop-vol-bit-shift = <0>;
548*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
549*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
550*4882a593Smuzhiyun					anatop-delay-bit-shift = <24>;
551*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
552*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
553*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
554*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
555*4882a593Smuzhiyun				};
556*4882a593Smuzhiyun
557*4882a593Smuzhiyun				reg_soc: regulator-vddsoc {
558*4882a593Smuzhiyun					compatible = "fsl,anatop-regulator";
559*4882a593Smuzhiyun					regulator-name = "vddsoc";
560*4882a593Smuzhiyun					regulator-min-microvolt = <725000>;
561*4882a593Smuzhiyun					regulator-max-microvolt = <1450000>;
562*4882a593Smuzhiyun					regulator-always-on;
563*4882a593Smuzhiyun					anatop-reg-offset = <0x140>;
564*4882a593Smuzhiyun					anatop-vol-bit-shift = <18>;
565*4882a593Smuzhiyun					anatop-vol-bit-width = <5>;
566*4882a593Smuzhiyun					anatop-delay-reg-offset = <0x170>;
567*4882a593Smuzhiyun					anatop-delay-bit-shift = <28>;
568*4882a593Smuzhiyun					anatop-delay-bit-width = <2>;
569*4882a593Smuzhiyun					anatop-min-bit-val = <1>;
570*4882a593Smuzhiyun					anatop-min-voltage = <725000>;
571*4882a593Smuzhiyun					anatop-max-voltage = <1450000>;
572*4882a593Smuzhiyun				};
573*4882a593Smuzhiyun			};
574*4882a593Smuzhiyun
575*4882a593Smuzhiyun			usbphy1: usbphy@020c9000 {
576*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
577*4882a593Smuzhiyun				reg = <0x020c9000 0x1000>;
578*4882a593Smuzhiyun				interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
579*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_USBPHY1>;
580*4882a593Smuzhiyun				phy-3p0-supply = <&reg_3p0>;
581*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
582*4882a593Smuzhiyun			};
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun			usbphy2: usbphy@020ca000 {
585*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
586*4882a593Smuzhiyun				reg = <0x020ca000 0x1000>;
587*4882a593Smuzhiyun				interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
588*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_USBPHY2>;
589*4882a593Smuzhiyun				phy-3p0-supply = <&reg_3p0>;
590*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
591*4882a593Smuzhiyun			};
592*4882a593Smuzhiyun
593*4882a593Smuzhiyun			snvs: snvs@020cc000 {
594*4882a593Smuzhiyun				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
595*4882a593Smuzhiyun				reg = <0x020cc000 0x4000>;
596*4882a593Smuzhiyun
597*4882a593Smuzhiyun				snvs_rtc: snvs-rtc-lp {
598*4882a593Smuzhiyun					compatible = "fsl,sec-v4.0-mon-rtc-lp";
599*4882a593Smuzhiyun					regmap = <&snvs>;
600*4882a593Smuzhiyun					offset = <0x34>;
601*4882a593Smuzhiyun					interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
602*4882a593Smuzhiyun						     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
603*4882a593Smuzhiyun				};
604*4882a593Smuzhiyun
605*4882a593Smuzhiyun				snvs_poweroff: snvs-poweroff {
606*4882a593Smuzhiyun					compatible = "syscon-poweroff";
607*4882a593Smuzhiyun					regmap = <&snvs>;
608*4882a593Smuzhiyun					offset = <0x38>;
609*4882a593Smuzhiyun					mask = <0x60>;
610*4882a593Smuzhiyun					status = "disabled";
611*4882a593Smuzhiyun				};
612*4882a593Smuzhiyun
613*4882a593Smuzhiyun				snvs_pwrkey: snvs-powerkey {
614*4882a593Smuzhiyun					compatible = "fsl,sec-v4.0-pwrkey";
615*4882a593Smuzhiyun					regmap = <&snvs>;
616*4882a593Smuzhiyun					interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
617*4882a593Smuzhiyun					linux,keycode = <KEY_POWER>;
618*4882a593Smuzhiyun					wakeup-source;
619*4882a593Smuzhiyun				};
620*4882a593Smuzhiyun			};
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun			epit1: epit@020d0000 {
623*4882a593Smuzhiyun				reg = <0x020d0000 0x4000>;
624*4882a593Smuzhiyun				interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
625*4882a593Smuzhiyun			};
626*4882a593Smuzhiyun
627*4882a593Smuzhiyun			epit2: epit@020d4000 {
628*4882a593Smuzhiyun				reg = <0x020d4000 0x4000>;
629*4882a593Smuzhiyun				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
630*4882a593Smuzhiyun			};
631*4882a593Smuzhiyun
632*4882a593Smuzhiyun			src: src@020d8000 {
633*4882a593Smuzhiyun				compatible = "fsl,imx6ul-src", "fsl,imx51-src";
634*4882a593Smuzhiyun				reg = <0x020d8000 0x4000>;
635*4882a593Smuzhiyun				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
636*4882a593Smuzhiyun					     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
637*4882a593Smuzhiyun				#reset-cells = <1>;
638*4882a593Smuzhiyun			};
639*4882a593Smuzhiyun
640*4882a593Smuzhiyun			gpc: gpc@020dc000 {
641*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpc", "fsl,imx6q-gpc";
642*4882a593Smuzhiyun				reg = <0x020dc000 0x4000>;
643*4882a593Smuzhiyun				interrupt-controller;
644*4882a593Smuzhiyun				#interrupt-cells = <3>;
645*4882a593Smuzhiyun				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
646*4882a593Smuzhiyun				interrupt-parent = <&intc>;
647*4882a593Smuzhiyun			};
648*4882a593Smuzhiyun
649*4882a593Smuzhiyun			iomuxc: iomuxc@020e0000 {
650*4882a593Smuzhiyun				compatible = "fsl,imx6ul-iomuxc";
651*4882a593Smuzhiyun				reg = <0x020e0000 0x4000>;
652*4882a593Smuzhiyun			};
653*4882a593Smuzhiyun
654*4882a593Smuzhiyun			gpr: iomuxc-gpr@020e4000 {
655*4882a593Smuzhiyun				compatible = "fsl,imx6ul-iomuxc-gpr",
656*4882a593Smuzhiyun					     "fsl,imx6q-iomuxc-gpr", "syscon";
657*4882a593Smuzhiyun				reg = <0x020e4000 0x4000>;
658*4882a593Smuzhiyun			};
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun			gpt2: gpt@020e8000 {
661*4882a593Smuzhiyun				compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
662*4882a593Smuzhiyun				reg = <0x020e8000 0x4000>;
663*4882a593Smuzhiyun				interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
664*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_GPT2_BUS>,
665*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_GPT2_SERIAL>;
666*4882a593Smuzhiyun				clock-names = "ipg", "per";
667*4882a593Smuzhiyun			};
668*4882a593Smuzhiyun
669*4882a593Smuzhiyun			sdma: sdma@020ec000 {
670*4882a593Smuzhiyun				compatible = "fsl,imx6ul-sdma", "fsl,imx6q-sdma",
671*4882a593Smuzhiyun					     "fsl,imx35-sdma";
672*4882a593Smuzhiyun				reg = <0x020ec000 0x4000>;
673*4882a593Smuzhiyun				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
674*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_SDMA>,
675*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_SDMA>;
676*4882a593Smuzhiyun				clock-names = "ipg", "ahb";
677*4882a593Smuzhiyun				#dma-cells = <3>;
678*4882a593Smuzhiyun				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
679*4882a593Smuzhiyun			};
680*4882a593Smuzhiyun
681*4882a593Smuzhiyun			pwm5: pwm@020f0000 {
682*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
683*4882a593Smuzhiyun				reg = <0x020f0000 0x4000>;
684*4882a593Smuzhiyun				interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
685*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM5>,
686*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM5>;
687*4882a593Smuzhiyun				clock-names = "ipg", "per";
688*4882a593Smuzhiyun				#pwm-cells = <2>;
689*4882a593Smuzhiyun				status = "disabled";
690*4882a593Smuzhiyun			};
691*4882a593Smuzhiyun
692*4882a593Smuzhiyun			pwm6: pwm@020f4000 {
693*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
694*4882a593Smuzhiyun				reg = <0x020f4000 0x4000>;
695*4882a593Smuzhiyun				interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
696*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM6>,
697*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM6>;
698*4882a593Smuzhiyun				clock-names = "ipg", "per";
699*4882a593Smuzhiyun				#pwm-cells = <2>;
700*4882a593Smuzhiyun				status = "disabled";
701*4882a593Smuzhiyun			};
702*4882a593Smuzhiyun
703*4882a593Smuzhiyun			pwm7: pwm@020f8000 {
704*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
705*4882a593Smuzhiyun				reg = <0x020f8000 0x4000>;
706*4882a593Smuzhiyun				interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
707*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM7>,
708*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM7>;
709*4882a593Smuzhiyun				clock-names = "ipg", "per";
710*4882a593Smuzhiyun				#pwm-cells = <2>;
711*4882a593Smuzhiyun				status = "disabled";
712*4882a593Smuzhiyun			};
713*4882a593Smuzhiyun
714*4882a593Smuzhiyun			pwm8: pwm@020fc000 {
715*4882a593Smuzhiyun				compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
716*4882a593Smuzhiyun				reg = <0x020fc000 0x4000>;
717*4882a593Smuzhiyun				interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
718*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_PWM8>,
719*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_PWM8>;
720*4882a593Smuzhiyun				clock-names = "ipg", "per";
721*4882a593Smuzhiyun				#pwm-cells = <2>;
722*4882a593Smuzhiyun				status = "disabled";
723*4882a593Smuzhiyun			};
724*4882a593Smuzhiyun		};
725*4882a593Smuzhiyun
726*4882a593Smuzhiyun		aips2: aips-bus@02100000 {
727*4882a593Smuzhiyun			compatible = "fsl,aips-bus", "simple-bus";
728*4882a593Smuzhiyun			#address-cells = <1>;
729*4882a593Smuzhiyun			#size-cells = <1>;
730*4882a593Smuzhiyun			reg = <0x02100000 0x100000>;
731*4882a593Smuzhiyun			ranges;
732*4882a593Smuzhiyun
733*4882a593Smuzhiyun			usbotg1: usb@02184000 {
734*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
735*4882a593Smuzhiyun				reg = <0x02184000 0x200>;
736*4882a593Smuzhiyun				interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
737*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_USBOH3>;
738*4882a593Smuzhiyun				fsl,usbphy = <&usbphy1>;
739*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 0>;
740*4882a593Smuzhiyun				fsl,anatop = <&anatop>;
741*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
742*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
743*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
744*4882a593Smuzhiyun				status = "disabled";
745*4882a593Smuzhiyun			};
746*4882a593Smuzhiyun
747*4882a593Smuzhiyun			usbotg2: usb@02184200 {
748*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
749*4882a593Smuzhiyun				reg = <0x02184200 0x200>;
750*4882a593Smuzhiyun				interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
751*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_USBOH3>;
752*4882a593Smuzhiyun				fsl,usbphy = <&usbphy2>;
753*4882a593Smuzhiyun				fsl,usbmisc = <&usbmisc 1>;
754*4882a593Smuzhiyun				ahb-burst-config = <0x0>;
755*4882a593Smuzhiyun				tx-burst-size-dword = <0x10>;
756*4882a593Smuzhiyun				rx-burst-size-dword = <0x10>;
757*4882a593Smuzhiyun				status = "disabled";
758*4882a593Smuzhiyun			};
759*4882a593Smuzhiyun
760*4882a593Smuzhiyun			usbmisc: usbmisc@02184800 {
761*4882a593Smuzhiyun				#index-cells = <1>;
762*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usbmisc", "fsl,imx6q-usbmisc";
763*4882a593Smuzhiyun				reg = <0x02184800 0x200>;
764*4882a593Smuzhiyun			};
765*4882a593Smuzhiyun
766*4882a593Smuzhiyun			fec1: ethernet@02188000 {
767*4882a593Smuzhiyun				compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
768*4882a593Smuzhiyun				reg = <0x02188000 0x4000>;
769*4882a593Smuzhiyun				interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
770*4882a593Smuzhiyun					     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
771*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_ENET>,
772*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET_AHB>,
773*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET_PTP>,
774*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET_REF>,
775*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_ENET_REF>;
776*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "ptp",
777*4882a593Smuzhiyun					      "enet_clk_ref", "enet_out";
778*4882a593Smuzhiyun				fsl,num-tx-queues=<1>;
779*4882a593Smuzhiyun				fsl,num-rx-queues=<1>;
780*4882a593Smuzhiyun				status = "disabled";
781*4882a593Smuzhiyun			};
782*4882a593Smuzhiyun
783*4882a593Smuzhiyun			usdhc1: usdhc@02190000 {
784*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
785*4882a593Smuzhiyun				reg = <0x02190000 0x4000>;
786*4882a593Smuzhiyun				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
787*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_USDHC1>,
788*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_USDHC1>,
789*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_USDHC1>;
790*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
791*4882a593Smuzhiyun				bus-width = <4>;
792*4882a593Smuzhiyun				status = "disabled";
793*4882a593Smuzhiyun			};
794*4882a593Smuzhiyun
795*4882a593Smuzhiyun			usdhc2: usdhc@02194000 {
796*4882a593Smuzhiyun				compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
797*4882a593Smuzhiyun				reg = <0x02194000 0x4000>;
798*4882a593Smuzhiyun				interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
799*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_USDHC2>,
800*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_USDHC2>,
801*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_USDHC2>;
802*4882a593Smuzhiyun				clock-names = "ipg", "ahb", "per";
803*4882a593Smuzhiyun				bus-width = <4>;
804*4882a593Smuzhiyun				status = "disabled";
805*4882a593Smuzhiyun			};
806*4882a593Smuzhiyun
807*4882a593Smuzhiyun			adc1: adc@02198000 {
808*4882a593Smuzhiyun				compatible = "fsl,imx6ul-adc", "fsl,vf610-adc";
809*4882a593Smuzhiyun				reg = <0x02198000 0x4000>;
810*4882a593Smuzhiyun				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
811*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_ADC1>;
812*4882a593Smuzhiyun				num-channels = <2>;
813*4882a593Smuzhiyun				clock-names = "adc";
814*4882a593Smuzhiyun				fsl,adck-max-frequency = <30000000>, <40000000>,
815*4882a593Smuzhiyun							 <20000000>;
816*4882a593Smuzhiyun				status = "disabled";
817*4882a593Smuzhiyun			};
818*4882a593Smuzhiyun
819*4882a593Smuzhiyun			i2c1: i2c@021a0000 {
820*4882a593Smuzhiyun				#address-cells = <1>;
821*4882a593Smuzhiyun				#size-cells = <0>;
822*4882a593Smuzhiyun				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
823*4882a593Smuzhiyun				reg = <0x021a0000 0x4000>;
824*4882a593Smuzhiyun				interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
825*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_I2C1>;
826*4882a593Smuzhiyun				status = "disabled";
827*4882a593Smuzhiyun			};
828*4882a593Smuzhiyun
829*4882a593Smuzhiyun			i2c2: i2c@021a4000 {
830*4882a593Smuzhiyun				#address-cells = <1>;
831*4882a593Smuzhiyun				#size-cells = <0>;
832*4882a593Smuzhiyun				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
833*4882a593Smuzhiyun				reg = <0x021a4000 0x4000>;
834*4882a593Smuzhiyun				interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
835*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_I2C2>;
836*4882a593Smuzhiyun				status = "disabled";
837*4882a593Smuzhiyun			};
838*4882a593Smuzhiyun
839*4882a593Smuzhiyun			i2c3: i2c@021a8000 {
840*4882a593Smuzhiyun				#address-cells = <1>;
841*4882a593Smuzhiyun				#size-cells = <0>;
842*4882a593Smuzhiyun				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
843*4882a593Smuzhiyun				reg = <0x021a8000 0x4000>;
844*4882a593Smuzhiyun				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
845*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_I2C3>;
846*4882a593Smuzhiyun				status = "disabled";
847*4882a593Smuzhiyun			};
848*4882a593Smuzhiyun
849*4882a593Smuzhiyun			mmdc: mmdc@021b0000 {
850*4882a593Smuzhiyun				compatible = "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc";
851*4882a593Smuzhiyun				reg = <0x021b0000 0x4000>;
852*4882a593Smuzhiyun			};
853*4882a593Smuzhiyun
854*4882a593Smuzhiyun			lcdif: lcdif@021c8000 {
855*4882a593Smuzhiyun				compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
856*4882a593Smuzhiyun				reg = <0x021c8000 0x4000>;
857*4882a593Smuzhiyun				interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
858*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
859*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_LCDIF_APB>,
860*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_DUMMY>;
861*4882a593Smuzhiyun				clock-names = "pix", "axi", "disp_axi";
862*4882a593Smuzhiyun				status = "disabled";
863*4882a593Smuzhiyun			};
864*4882a593Smuzhiyun
865*4882a593Smuzhiyun			qspi: qspi@021e0000 {
866*4882a593Smuzhiyun				#address-cells = <1>;
867*4882a593Smuzhiyun				#size-cells = <0>;
868*4882a593Smuzhiyun				compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi";
869*4882a593Smuzhiyun				reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
870*4882a593Smuzhiyun				reg-names = "QuadSPI", "QuadSPI-memory";
871*4882a593Smuzhiyun				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
872*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_QSPI>,
873*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_QSPI>;
874*4882a593Smuzhiyun				clock-names = "qspi_en", "qspi";
875*4882a593Smuzhiyun				status = "disabled";
876*4882a593Smuzhiyun			};
877*4882a593Smuzhiyun
878*4882a593Smuzhiyun			uart2: serial@021e8000 {
879*4882a593Smuzhiyun				compatible = "fsl,imx6ul-uart",
880*4882a593Smuzhiyun					     "fsl,imx6q-uart";
881*4882a593Smuzhiyun				reg = <0x021e8000 0x4000>;
882*4882a593Smuzhiyun				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
883*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_UART2_IPG>,
884*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_UART2_SERIAL>;
885*4882a593Smuzhiyun				clock-names = "ipg", "per";
886*4882a593Smuzhiyun				status = "disabled";
887*4882a593Smuzhiyun			};
888*4882a593Smuzhiyun
889*4882a593Smuzhiyun			uart3: serial@021ec000 {
890*4882a593Smuzhiyun				compatible = "fsl,imx6ul-uart",
891*4882a593Smuzhiyun					     "fsl,imx6q-uart";
892*4882a593Smuzhiyun				reg = <0x021ec000 0x4000>;
893*4882a593Smuzhiyun				interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
894*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_UART3_IPG>,
895*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_UART3_SERIAL>;
896*4882a593Smuzhiyun				clock-names = "ipg", "per";
897*4882a593Smuzhiyun				status = "disabled";
898*4882a593Smuzhiyun			};
899*4882a593Smuzhiyun
900*4882a593Smuzhiyun			uart4: serial@021f0000 {
901*4882a593Smuzhiyun				compatible = "fsl,imx6ul-uart",
902*4882a593Smuzhiyun					     "fsl,imx6q-uart";
903*4882a593Smuzhiyun				reg = <0x021f0000 0x4000>;
904*4882a593Smuzhiyun				interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
905*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_UART4_IPG>,
906*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_UART4_SERIAL>;
907*4882a593Smuzhiyun				clock-names = "ipg", "per";
908*4882a593Smuzhiyun				status = "disabled";
909*4882a593Smuzhiyun			};
910*4882a593Smuzhiyun
911*4882a593Smuzhiyun			uart5: serial@021f4000 {
912*4882a593Smuzhiyun				compatible = "fsl,imx6ul-uart",
913*4882a593Smuzhiyun					     "fsl,imx6q-uart";
914*4882a593Smuzhiyun				reg = <0x021f4000 0x4000>;
915*4882a593Smuzhiyun				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
916*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_UART5_IPG>,
917*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_UART5_SERIAL>;
918*4882a593Smuzhiyun				clock-names = "ipg", "per";
919*4882a593Smuzhiyun				status = "disabled";
920*4882a593Smuzhiyun			};
921*4882a593Smuzhiyun
922*4882a593Smuzhiyun			i2c4: i2c@021f8000 {
923*4882a593Smuzhiyun				#address-cells = <1>;
924*4882a593Smuzhiyun				#size-cells = <0>;
925*4882a593Smuzhiyun				compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
926*4882a593Smuzhiyun				reg = <0x021f8000 0x4000>;
927*4882a593Smuzhiyun				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
928*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_I2C4>;
929*4882a593Smuzhiyun				status = "disabled";
930*4882a593Smuzhiyun			};
931*4882a593Smuzhiyun
932*4882a593Smuzhiyun			uart6: serial@021fc000 {
933*4882a593Smuzhiyun				compatible = "fsl,imx6ul-uart",
934*4882a593Smuzhiyun					     "fsl,imx6q-uart";
935*4882a593Smuzhiyun				reg = <0x021fc000 0x4000>;
936*4882a593Smuzhiyun				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
937*4882a593Smuzhiyun				clocks = <&clks IMX6UL_CLK_UART6_IPG>,
938*4882a593Smuzhiyun					 <&clks IMX6UL_CLK_UART6_SERIAL>;
939*4882a593Smuzhiyun				clock-names = "ipg", "per";
940*4882a593Smuzhiyun				status = "disabled";
941*4882a593Smuzhiyun			};
942*4882a593Smuzhiyun		};
943*4882a593Smuzhiyun	};
944*4882a593Smuzhiyun};
945