xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx27.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*f126890aSEmmanuel Vadot//
3*f126890aSEmmanuel Vadot// Copyright 2012 Sascha Hauer, Pengutronix
4*f126890aSEmmanuel Vadot
5*f126890aSEmmanuel Vadot#include "imx27-pinfunc.h"
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot#include <dt-bindings/clock/imx27-clock.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
10*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot/ {
13*f126890aSEmmanuel Vadot	#address-cells = <1>;
14*f126890aSEmmanuel Vadot	#size-cells = <1>;
15*f126890aSEmmanuel Vadot	/*
16*f126890aSEmmanuel Vadot	 * The decompressor and also some bootloaders rely on a
17*f126890aSEmmanuel Vadot	 * pre-existing /chosen node to be available to insert the
18*f126890aSEmmanuel Vadot	 * command line and merge other ATAGS info.
19*f126890aSEmmanuel Vadot	 */
20*f126890aSEmmanuel Vadot	chosen {};
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	aliases {
23*f126890aSEmmanuel Vadot		ethernet0 = &fec;
24*f126890aSEmmanuel Vadot		gpio0 = &gpio1;
25*f126890aSEmmanuel Vadot		gpio1 = &gpio2;
26*f126890aSEmmanuel Vadot		gpio2 = &gpio3;
27*f126890aSEmmanuel Vadot		gpio3 = &gpio4;
28*f126890aSEmmanuel Vadot		gpio4 = &gpio5;
29*f126890aSEmmanuel Vadot		gpio5 = &gpio6;
30*f126890aSEmmanuel Vadot		i2c0 = &i2c1;
31*f126890aSEmmanuel Vadot		i2c1 = &i2c2;
32*f126890aSEmmanuel Vadot		serial0 = &uart1;
33*f126890aSEmmanuel Vadot		serial1 = &uart2;
34*f126890aSEmmanuel Vadot		serial2 = &uart3;
35*f126890aSEmmanuel Vadot		serial3 = &uart4;
36*f126890aSEmmanuel Vadot		serial4 = &uart5;
37*f126890aSEmmanuel Vadot		serial5 = &uart6;
38*f126890aSEmmanuel Vadot		spi0 = &cspi1;
39*f126890aSEmmanuel Vadot		spi1 = &cspi2;
40*f126890aSEmmanuel Vadot		spi2 = &cspi3;
41*f126890aSEmmanuel Vadot	};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot	aitc: aitc-interrupt-controller@10040000 {
44*f126890aSEmmanuel Vadot		compatible = "fsl,imx27-aitc", "fsl,avic";
45*f126890aSEmmanuel Vadot		interrupt-controller;
46*f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
47*f126890aSEmmanuel Vadot		reg = <0x10040000 0x1000>;
48*f126890aSEmmanuel Vadot	};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot	clocks {
51*f126890aSEmmanuel Vadot		clk_osc26m: osc26m {
52*f126890aSEmmanuel Vadot			compatible = "fsl,imx-osc26m", "fixed-clock";
53*f126890aSEmmanuel Vadot			#clock-cells = <0>;
54*f126890aSEmmanuel Vadot			clock-frequency = <26000000>;
55*f126890aSEmmanuel Vadot		};
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	cpus {
59*f126890aSEmmanuel Vadot		#size-cells = <0>;
60*f126890aSEmmanuel Vadot		#address-cells = <1>;
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot		cpu: cpu@0 {
63*f126890aSEmmanuel Vadot			device_type = "cpu";
64*f126890aSEmmanuel Vadot			reg = <0>;
65*f126890aSEmmanuel Vadot			compatible = "arm,arm926ej-s";
66*f126890aSEmmanuel Vadot			operating-points = <
67*f126890aSEmmanuel Vadot				/* kHz uV */
68*f126890aSEmmanuel Vadot				266000 1300000
69*f126890aSEmmanuel Vadot				399000 1450000
70*f126890aSEmmanuel Vadot			>;
71*f126890aSEmmanuel Vadot			clock-latency = <62500>;
72*f126890aSEmmanuel Vadot			clocks = <&clks IMX27_CLK_CPU_DIV>;
73*f126890aSEmmanuel Vadot			voltage-tolerance = <5>;
74*f126890aSEmmanuel Vadot		};
75*f126890aSEmmanuel Vadot	};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot	soc: soc {
78*f126890aSEmmanuel Vadot		#address-cells = <1>;
79*f126890aSEmmanuel Vadot		#size-cells = <1>;
80*f126890aSEmmanuel Vadot		compatible = "simple-bus";
81*f126890aSEmmanuel Vadot		interrupt-parent = <&aitc>;
82*f126890aSEmmanuel Vadot		ranges;
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot		aipi1: aipi@10000000 { /* AIPI1 */
85*f126890aSEmmanuel Vadot			compatible = "fsl,aipi-bus", "simple-bus";
86*f126890aSEmmanuel Vadot			#address-cells = <1>;
87*f126890aSEmmanuel Vadot			#size-cells = <1>;
88*f126890aSEmmanuel Vadot			reg = <0x10000000 0x20000>;
89*f126890aSEmmanuel Vadot			ranges;
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot			dma: dma@10001000 {
92*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-dma";
93*f126890aSEmmanuel Vadot				reg = <0x10001000 0x1000>;
94*f126890aSEmmanuel Vadot				interrupts = <32>;
95*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_DMA_IPG_GATE>,
96*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_DMA_AHB_GATE>;
97*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb";
98*f126890aSEmmanuel Vadot				#dma-cells = <1>;
99*f126890aSEmmanuel Vadot				dma-channels = <16>;
100*f126890aSEmmanuel Vadot			};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot			wdog: watchdog@10002000 {
103*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
104*f126890aSEmmanuel Vadot				reg = <0x10002000 0x1000>;
105*f126890aSEmmanuel Vadot				interrupts = <27>;
106*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>;
107*f126890aSEmmanuel Vadot			};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot			gpt1: timer@10003000 {
110*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
111*f126890aSEmmanuel Vadot				reg = <0x10003000 0x1000>;
112*f126890aSEmmanuel Vadot				interrupts = <26>;
113*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
114*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
115*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
116*f126890aSEmmanuel Vadot			};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot			gpt2: timer@10004000 {
119*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
120*f126890aSEmmanuel Vadot				reg = <0x10004000 0x1000>;
121*f126890aSEmmanuel Vadot				interrupts = <25>;
122*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
123*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
124*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
125*f126890aSEmmanuel Vadot			};
126*f126890aSEmmanuel Vadot
127*f126890aSEmmanuel Vadot			gpt3: timer@10005000 {
128*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
129*f126890aSEmmanuel Vadot				reg = <0x10005000 0x1000>;
130*f126890aSEmmanuel Vadot				interrupts = <24>;
131*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
132*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
133*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
134*f126890aSEmmanuel Vadot			};
135*f126890aSEmmanuel Vadot
136*f126890aSEmmanuel Vadot			pwm: pwm@10006000 {
137*f126890aSEmmanuel Vadot				#pwm-cells = <3>;
138*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-pwm";
139*f126890aSEmmanuel Vadot				reg = <0x10006000 0x1000>;
140*f126890aSEmmanuel Vadot				interrupts = <23>;
141*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_PWM_IPG_GATE>,
142*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
143*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
144*f126890aSEmmanuel Vadot			};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot			rtc: rtc@10007000 {
147*f126890aSEmmanuel Vadot				compatible = "fsl,imx21-rtc";
148*f126890aSEmmanuel Vadot				reg = <0x10007000 0x1000>;
149*f126890aSEmmanuel Vadot				interrupts = <22>;
150*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_CKIL>,
151*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_RTC_IPG_GATE>;
152*f126890aSEmmanuel Vadot				clock-names = "ref", "ipg";
153*f126890aSEmmanuel Vadot			};
154*f126890aSEmmanuel Vadot
155*f126890aSEmmanuel Vadot			kpp: kpp@10008000 {
156*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
157*f126890aSEmmanuel Vadot				reg = <0x10008000 0x1000>;
158*f126890aSEmmanuel Vadot				interrupts = <21>;
159*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_KPP_IPG_GATE>;
160*f126890aSEmmanuel Vadot				status = "disabled";
161*f126890aSEmmanuel Vadot			};
162*f126890aSEmmanuel Vadot
163*f126890aSEmmanuel Vadot			owire: owire@10009000 {
164*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-owire", "fsl,imx21-owire";
165*f126890aSEmmanuel Vadot				reg = <0x10009000 0x1000>;
166*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>;
167*f126890aSEmmanuel Vadot				status = "disabled";
168*f126890aSEmmanuel Vadot			};
169*f126890aSEmmanuel Vadot
170*f126890aSEmmanuel Vadot			uart1: serial@1000a000 {
171*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
172*f126890aSEmmanuel Vadot				reg = <0x1000a000 0x1000>;
173*f126890aSEmmanuel Vadot				interrupts = <20>;
174*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,
175*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
176*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
177*f126890aSEmmanuel Vadot				status = "disabled";
178*f126890aSEmmanuel Vadot			};
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot			uart2: serial@1000b000 {
181*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
182*f126890aSEmmanuel Vadot				reg = <0x1000b000 0x1000>;
183*f126890aSEmmanuel Vadot				interrupts = <19>;
184*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_UART2_IPG_GATE>,
185*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
186*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
187*f126890aSEmmanuel Vadot				status = "disabled";
188*f126890aSEmmanuel Vadot			};
189*f126890aSEmmanuel Vadot
190*f126890aSEmmanuel Vadot			uart3: serial@1000c000 {
191*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
192*f126890aSEmmanuel Vadot				reg = <0x1000c000 0x1000>;
193*f126890aSEmmanuel Vadot				interrupts = <18>;
194*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_UART3_IPG_GATE>,
195*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
196*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
197*f126890aSEmmanuel Vadot				status = "disabled";
198*f126890aSEmmanuel Vadot			};
199*f126890aSEmmanuel Vadot
200*f126890aSEmmanuel Vadot			uart4: serial@1000d000 {
201*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
202*f126890aSEmmanuel Vadot				reg = <0x1000d000 0x1000>;
203*f126890aSEmmanuel Vadot				interrupts = <17>;
204*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_UART4_IPG_GATE>,
205*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
206*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
207*f126890aSEmmanuel Vadot				status = "disabled";
208*f126890aSEmmanuel Vadot			};
209*f126890aSEmmanuel Vadot
210*f126890aSEmmanuel Vadot			cspi1: spi@1000e000 {
211*f126890aSEmmanuel Vadot				#address-cells = <1>;
212*f126890aSEmmanuel Vadot				#size-cells = <0>;
213*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-cspi";
214*f126890aSEmmanuel Vadot				reg = <0x1000e000 0x1000>;
215*f126890aSEmmanuel Vadot				interrupts = <16>;
216*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>,
217*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER2_GATE>;
218*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
219*f126890aSEmmanuel Vadot				status = "disabled";
220*f126890aSEmmanuel Vadot			};
221*f126890aSEmmanuel Vadot
222*f126890aSEmmanuel Vadot			cspi2: spi@1000f000 {
223*f126890aSEmmanuel Vadot				#address-cells = <1>;
224*f126890aSEmmanuel Vadot				#size-cells = <0>;
225*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-cspi";
226*f126890aSEmmanuel Vadot				reg = <0x1000f000 0x1000>;
227*f126890aSEmmanuel Vadot				interrupts = <15>;
228*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>,
229*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER2_GATE>;
230*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
231*f126890aSEmmanuel Vadot				status = "disabled";
232*f126890aSEmmanuel Vadot			};
233*f126890aSEmmanuel Vadot
234*f126890aSEmmanuel Vadot			ssi1: ssi@10010000 {
235*f126890aSEmmanuel Vadot				#sound-dai-cells = <0>;
236*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
237*f126890aSEmmanuel Vadot				reg = <0x10010000 0x1000>;
238*f126890aSEmmanuel Vadot				interrupts = <14>;
239*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>;
240*f126890aSEmmanuel Vadot				dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>;
241*f126890aSEmmanuel Vadot				dma-names = "rx0", "tx0", "rx1", "tx1";
242*f126890aSEmmanuel Vadot				fsl,fifo-depth = <8>;
243*f126890aSEmmanuel Vadot				status = "disabled";
244*f126890aSEmmanuel Vadot			};
245*f126890aSEmmanuel Vadot
246*f126890aSEmmanuel Vadot			ssi2: ssi@10011000 {
247*f126890aSEmmanuel Vadot				#sound-dai-cells = <0>;
248*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
249*f126890aSEmmanuel Vadot				reg = <0x10011000 0x1000>;
250*f126890aSEmmanuel Vadot				interrupts = <13>;
251*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>;
252*f126890aSEmmanuel Vadot				dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>;
253*f126890aSEmmanuel Vadot				dma-names = "rx0", "tx0", "rx1", "tx1";
254*f126890aSEmmanuel Vadot				fsl,fifo-depth = <8>;
255*f126890aSEmmanuel Vadot				status = "disabled";
256*f126890aSEmmanuel Vadot			};
257*f126890aSEmmanuel Vadot
258*f126890aSEmmanuel Vadot			i2c1: i2c@10012000 {
259*f126890aSEmmanuel Vadot				#address-cells = <1>;
260*f126890aSEmmanuel Vadot				#size-cells = <0>;
261*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
262*f126890aSEmmanuel Vadot				reg = <0x10012000 0x1000>;
263*f126890aSEmmanuel Vadot				interrupts = <12>;
264*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>;
265*f126890aSEmmanuel Vadot				status = "disabled";
266*f126890aSEmmanuel Vadot			};
267*f126890aSEmmanuel Vadot
268*f126890aSEmmanuel Vadot			sdhci1: mmc@10013000 {
269*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
270*f126890aSEmmanuel Vadot				reg = <0x10013000 0x1000>;
271*f126890aSEmmanuel Vadot				interrupts = <11>;
272*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>,
273*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER2_GATE>;
274*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
275*f126890aSEmmanuel Vadot				dmas = <&dma 7>;
276*f126890aSEmmanuel Vadot				dma-names = "rx-tx";
277*f126890aSEmmanuel Vadot				status = "disabled";
278*f126890aSEmmanuel Vadot			};
279*f126890aSEmmanuel Vadot
280*f126890aSEmmanuel Vadot			sdhci2: mmc@10014000 {
281*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
282*f126890aSEmmanuel Vadot				reg = <0x10014000 0x1000>;
283*f126890aSEmmanuel Vadot				interrupts = <10>;
284*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>,
285*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER2_GATE>;
286*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
287*f126890aSEmmanuel Vadot				dmas = <&dma 6>;
288*f126890aSEmmanuel Vadot				dma-names = "rx-tx";
289*f126890aSEmmanuel Vadot				status = "disabled";
290*f126890aSEmmanuel Vadot			};
291*f126890aSEmmanuel Vadot
292*f126890aSEmmanuel Vadot			iomuxc: iomuxc@10015000 {
293*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-iomuxc";
294*f126890aSEmmanuel Vadot				reg = <0x10015000 0x600>;
295*f126890aSEmmanuel Vadot				#address-cells = <1>;
296*f126890aSEmmanuel Vadot				#size-cells = <1>;
297*f126890aSEmmanuel Vadot				ranges;
298*f126890aSEmmanuel Vadot
299*f126890aSEmmanuel Vadot				gpio1: gpio@10015000 {
300*f126890aSEmmanuel Vadot					compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
301*f126890aSEmmanuel Vadot					reg = <0x10015000 0x100>;
302*f126890aSEmmanuel Vadot					clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
303*f126890aSEmmanuel Vadot					interrupts = <8>;
304*f126890aSEmmanuel Vadot					gpio-controller;
305*f126890aSEmmanuel Vadot					#gpio-cells = <2>;
306*f126890aSEmmanuel Vadot					interrupt-controller;
307*f126890aSEmmanuel Vadot					#interrupt-cells = <2>;
308*f126890aSEmmanuel Vadot				};
309*f126890aSEmmanuel Vadot
310*f126890aSEmmanuel Vadot				gpio2: gpio@10015100 {
311*f126890aSEmmanuel Vadot					compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
312*f126890aSEmmanuel Vadot					reg = <0x10015100 0x100>;
313*f126890aSEmmanuel Vadot					clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
314*f126890aSEmmanuel Vadot					interrupts = <8>;
315*f126890aSEmmanuel Vadot					gpio-controller;
316*f126890aSEmmanuel Vadot					#gpio-cells = <2>;
317*f126890aSEmmanuel Vadot					interrupt-controller;
318*f126890aSEmmanuel Vadot					#interrupt-cells = <2>;
319*f126890aSEmmanuel Vadot				};
320*f126890aSEmmanuel Vadot
321*f126890aSEmmanuel Vadot				gpio3: gpio@10015200 {
322*f126890aSEmmanuel Vadot					compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
323*f126890aSEmmanuel Vadot					reg = <0x10015200 0x100>;
324*f126890aSEmmanuel Vadot					clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
325*f126890aSEmmanuel Vadot					interrupts = <8>;
326*f126890aSEmmanuel Vadot					gpio-controller;
327*f126890aSEmmanuel Vadot					#gpio-cells = <2>;
328*f126890aSEmmanuel Vadot					interrupt-controller;
329*f126890aSEmmanuel Vadot					#interrupt-cells = <2>;
330*f126890aSEmmanuel Vadot				};
331*f126890aSEmmanuel Vadot
332*f126890aSEmmanuel Vadot				gpio4: gpio@10015300 {
333*f126890aSEmmanuel Vadot					compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
334*f126890aSEmmanuel Vadot					reg = <0x10015300 0x100>;
335*f126890aSEmmanuel Vadot					clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
336*f126890aSEmmanuel Vadot					interrupts = <8>;
337*f126890aSEmmanuel Vadot					gpio-controller;
338*f126890aSEmmanuel Vadot					#gpio-cells = <2>;
339*f126890aSEmmanuel Vadot					interrupt-controller;
340*f126890aSEmmanuel Vadot					#interrupt-cells = <2>;
341*f126890aSEmmanuel Vadot				};
342*f126890aSEmmanuel Vadot
343*f126890aSEmmanuel Vadot				gpio5: gpio@10015400 {
344*f126890aSEmmanuel Vadot					compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
345*f126890aSEmmanuel Vadot					reg = <0x10015400 0x100>;
346*f126890aSEmmanuel Vadot					clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
347*f126890aSEmmanuel Vadot					interrupts = <8>;
348*f126890aSEmmanuel Vadot					gpio-controller;
349*f126890aSEmmanuel Vadot					#gpio-cells = <2>;
350*f126890aSEmmanuel Vadot					interrupt-controller;
351*f126890aSEmmanuel Vadot					#interrupt-cells = <2>;
352*f126890aSEmmanuel Vadot				};
353*f126890aSEmmanuel Vadot
354*f126890aSEmmanuel Vadot				gpio6: gpio@10015500 {
355*f126890aSEmmanuel Vadot					compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
356*f126890aSEmmanuel Vadot					reg = <0x10015500 0x100>;
357*f126890aSEmmanuel Vadot					clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>;
358*f126890aSEmmanuel Vadot					interrupts = <8>;
359*f126890aSEmmanuel Vadot					gpio-controller;
360*f126890aSEmmanuel Vadot					#gpio-cells = <2>;
361*f126890aSEmmanuel Vadot					interrupt-controller;
362*f126890aSEmmanuel Vadot					#interrupt-cells = <2>;
363*f126890aSEmmanuel Vadot				};
364*f126890aSEmmanuel Vadot			};
365*f126890aSEmmanuel Vadot
366*f126890aSEmmanuel Vadot			audmux: audmux@10016000 {
367*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
368*f126890aSEmmanuel Vadot				reg = <0x10016000 0x1000>;
369*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_DUMMY>;
370*f126890aSEmmanuel Vadot				clock-names = "audmux";
371*f126890aSEmmanuel Vadot				status = "disabled";
372*f126890aSEmmanuel Vadot			};
373*f126890aSEmmanuel Vadot
374*f126890aSEmmanuel Vadot			cspi3: spi@10017000 {
375*f126890aSEmmanuel Vadot				#address-cells = <1>;
376*f126890aSEmmanuel Vadot				#size-cells = <0>;
377*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-cspi";
378*f126890aSEmmanuel Vadot				reg = <0x10017000 0x1000>;
379*f126890aSEmmanuel Vadot				interrupts = <6>;
380*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>,
381*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER2_GATE>;
382*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
383*f126890aSEmmanuel Vadot				status = "disabled";
384*f126890aSEmmanuel Vadot			};
385*f126890aSEmmanuel Vadot
386*f126890aSEmmanuel Vadot			gpt4: timer@10019000 {
387*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
388*f126890aSEmmanuel Vadot				reg = <0x10019000 0x1000>;
389*f126890aSEmmanuel Vadot				interrupts = <4>;
390*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
391*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
392*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
393*f126890aSEmmanuel Vadot			};
394*f126890aSEmmanuel Vadot
395*f126890aSEmmanuel Vadot			gpt5: timer@1001a000 {
396*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
397*f126890aSEmmanuel Vadot				reg = <0x1001a000 0x1000>;
398*f126890aSEmmanuel Vadot				interrupts = <3>;
399*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
400*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
401*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
402*f126890aSEmmanuel Vadot			};
403*f126890aSEmmanuel Vadot
404*f126890aSEmmanuel Vadot			uart5: serial@1001b000 {
405*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
406*f126890aSEmmanuel Vadot				reg = <0x1001b000 0x1000>;
407*f126890aSEmmanuel Vadot				interrupts = <49>;
408*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_UART5_IPG_GATE>,
409*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
410*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
411*f126890aSEmmanuel Vadot				status = "disabled";
412*f126890aSEmmanuel Vadot			};
413*f126890aSEmmanuel Vadot
414*f126890aSEmmanuel Vadot			uart6: serial@1001c000 {
415*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
416*f126890aSEmmanuel Vadot				reg = <0x1001c000 0x1000>;
417*f126890aSEmmanuel Vadot				interrupts = <48>;
418*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_UART6_IPG_GATE>,
419*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
420*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
421*f126890aSEmmanuel Vadot				status = "disabled";
422*f126890aSEmmanuel Vadot			};
423*f126890aSEmmanuel Vadot
424*f126890aSEmmanuel Vadot			i2c2: i2c@1001d000 {
425*f126890aSEmmanuel Vadot				#address-cells = <1>;
426*f126890aSEmmanuel Vadot				#size-cells = <0>;
427*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
428*f126890aSEmmanuel Vadot				reg = <0x1001d000 0x1000>;
429*f126890aSEmmanuel Vadot				interrupts = <1>;
430*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>;
431*f126890aSEmmanuel Vadot				status = "disabled";
432*f126890aSEmmanuel Vadot			};
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot			sdhci3: mmc@1001e000 {
435*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
436*f126890aSEmmanuel Vadot				reg = <0x1001e000 0x1000>;
437*f126890aSEmmanuel Vadot				interrupts = <9>;
438*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>,
439*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER2_GATE>;
440*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
441*f126890aSEmmanuel Vadot				dmas = <&dma 36>;
442*f126890aSEmmanuel Vadot				dma-names = "rx-tx";
443*f126890aSEmmanuel Vadot				status = "disabled";
444*f126890aSEmmanuel Vadot			};
445*f126890aSEmmanuel Vadot
446*f126890aSEmmanuel Vadot			gpt6: timer@1001f000 {
447*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
448*f126890aSEmmanuel Vadot				reg = <0x1001f000 0x1000>;
449*f126890aSEmmanuel Vadot				interrupts = <2>;
450*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
451*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER1_GATE>;
452*f126890aSEmmanuel Vadot				clock-names = "ipg", "per";
453*f126890aSEmmanuel Vadot			};
454*f126890aSEmmanuel Vadot		};
455*f126890aSEmmanuel Vadot
456*f126890aSEmmanuel Vadot		aipi2: aipi@10020000 { /* AIPI2 */
457*f126890aSEmmanuel Vadot			compatible = "fsl,aipi-bus", "simple-bus";
458*f126890aSEmmanuel Vadot			#address-cells = <1>;
459*f126890aSEmmanuel Vadot			#size-cells = <1>;
460*f126890aSEmmanuel Vadot			reg = <0x10020000 0x20000>;
461*f126890aSEmmanuel Vadot			ranges;
462*f126890aSEmmanuel Vadot
463*f126890aSEmmanuel Vadot			fb: fb@10021000 {
464*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-fb", "fsl,imx21-fb";
465*f126890aSEmmanuel Vadot				interrupts = <61>;
466*f126890aSEmmanuel Vadot				reg = <0x10021000 0x1000>;
467*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>,
468*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_LCDC_AHB_GATE>,
469*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_PER3_GATE>;
470*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
471*f126890aSEmmanuel Vadot				status = "disabled";
472*f126890aSEmmanuel Vadot			};
473*f126890aSEmmanuel Vadot
474*f126890aSEmmanuel Vadot			coda: coda@10023000 {
475*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-vpu", "cnm,codadx6";
476*f126890aSEmmanuel Vadot				reg = <0x10023000 0x0200>;
477*f126890aSEmmanuel Vadot				interrupts = <53>;
478*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>,
479*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_VPU_AHB_GATE>;
480*f126890aSEmmanuel Vadot				clock-names = "per", "ahb";
481*f126890aSEmmanuel Vadot				iram = <&iram>;
482*f126890aSEmmanuel Vadot			};
483*f126890aSEmmanuel Vadot
484*f126890aSEmmanuel Vadot			usbotg: usb@10024000 {
485*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-usb";
486*f126890aSEmmanuel Vadot				reg = <0x10024000 0x200>;
487*f126890aSEmmanuel Vadot				interrupts = <56>;
488*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
489*f126890aSEmmanuel Vadot					<&clks IMX27_CLK_USB_AHB_GATE>,
490*f126890aSEmmanuel Vadot					<&clks IMX27_CLK_USB_DIV>;
491*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
492*f126890aSEmmanuel Vadot				fsl,usbmisc = <&usbmisc 0>;
493*f126890aSEmmanuel Vadot				status = "disabled";
494*f126890aSEmmanuel Vadot			};
495*f126890aSEmmanuel Vadot
496*f126890aSEmmanuel Vadot			usbh1: usb@10024200 {
497*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-usb";
498*f126890aSEmmanuel Vadot				reg = <0x10024200 0x200>;
499*f126890aSEmmanuel Vadot				interrupts = <54>;
500*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
501*f126890aSEmmanuel Vadot					<&clks IMX27_CLK_USB_AHB_GATE>,
502*f126890aSEmmanuel Vadot					<&clks IMX27_CLK_USB_DIV>;
503*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
504*f126890aSEmmanuel Vadot				fsl,usbmisc = <&usbmisc 1>;
505*f126890aSEmmanuel Vadot				dr_mode = "host";
506*f126890aSEmmanuel Vadot				status = "disabled";
507*f126890aSEmmanuel Vadot			};
508*f126890aSEmmanuel Vadot
509*f126890aSEmmanuel Vadot			usbh2: usb@10024400 {
510*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-usb";
511*f126890aSEmmanuel Vadot				reg = <0x10024400 0x200>;
512*f126890aSEmmanuel Vadot				interrupts = <55>;
513*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
514*f126890aSEmmanuel Vadot					<&clks IMX27_CLK_USB_AHB_GATE>,
515*f126890aSEmmanuel Vadot					<&clks IMX27_CLK_USB_DIV>;
516*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb", "per";
517*f126890aSEmmanuel Vadot				fsl,usbmisc = <&usbmisc 2>;
518*f126890aSEmmanuel Vadot				dr_mode = "host";
519*f126890aSEmmanuel Vadot				status = "disabled";
520*f126890aSEmmanuel Vadot			};
521*f126890aSEmmanuel Vadot
522*f126890aSEmmanuel Vadot			usbmisc: usbmisc@10024600 {
523*f126890aSEmmanuel Vadot				#index-cells = <1>;
524*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-usbmisc";
525*f126890aSEmmanuel Vadot				reg = <0x10024600 0x200>;
526*f126890aSEmmanuel Vadot			};
527*f126890aSEmmanuel Vadot
528*f126890aSEmmanuel Vadot			sahara2: crypto@10025000 {
529*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-sahara";
530*f126890aSEmmanuel Vadot				reg = <0x10025000 0x1000>;
531*f126890aSEmmanuel Vadot				interrupts = <59>;
532*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>,
533*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_SAHARA_AHB_GATE>;
534*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb";
535*f126890aSEmmanuel Vadot			};
536*f126890aSEmmanuel Vadot
537*f126890aSEmmanuel Vadot			clks: ccm@10027000{
538*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-ccm";
539*f126890aSEmmanuel Vadot				reg = <0x10027000 0x1000>;
540*f126890aSEmmanuel Vadot				#clock-cells = <1>;
541*f126890aSEmmanuel Vadot			};
542*f126890aSEmmanuel Vadot
543*f126890aSEmmanuel Vadot			iim: efuse@10028000 {
544*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-iim";
545*f126890aSEmmanuel Vadot				reg = <0x10028000 0x1000>;
546*f126890aSEmmanuel Vadot				interrupts = <62>;
547*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_IIM_IPG_GATE>;
548*f126890aSEmmanuel Vadot			};
549*f126890aSEmmanuel Vadot
550*f126890aSEmmanuel Vadot			fec: ethernet@1002b000 {
551*f126890aSEmmanuel Vadot				compatible = "fsl,imx27-fec";
552*f126890aSEmmanuel Vadot				reg = <0x1002b000 0x1000>;
553*f126890aSEmmanuel Vadot				interrupts = <50>;
554*f126890aSEmmanuel Vadot				clocks = <&clks IMX27_CLK_FEC_IPG_GATE>,
555*f126890aSEmmanuel Vadot					 <&clks IMX27_CLK_FEC_AHB_GATE>;
556*f126890aSEmmanuel Vadot				clock-names = "ipg", "ahb";
557*f126890aSEmmanuel Vadot				status = "disabled";
558*f126890aSEmmanuel Vadot			};
559*f126890aSEmmanuel Vadot		};
560*f126890aSEmmanuel Vadot
561*f126890aSEmmanuel Vadot		nfc: nand-controller@d8000000 {
562*f126890aSEmmanuel Vadot			#address-cells = <1>;
563*f126890aSEmmanuel Vadot			#size-cells = <1>;
564*f126890aSEmmanuel Vadot			compatible = "fsl,imx27-nand";
565*f126890aSEmmanuel Vadot			reg = <0xd8000000 0x1000>;
566*f126890aSEmmanuel Vadot			interrupts = <29>;
567*f126890aSEmmanuel Vadot			clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>;
568*f126890aSEmmanuel Vadot			status = "disabled";
569*f126890aSEmmanuel Vadot		};
570*f126890aSEmmanuel Vadot
571*f126890aSEmmanuel Vadot		weim: weim@d8002000 {
572*f126890aSEmmanuel Vadot			#address-cells = <2>;
573*f126890aSEmmanuel Vadot			#size-cells = <1>;
574*f126890aSEmmanuel Vadot			compatible = "fsl,imx27-weim";
575*f126890aSEmmanuel Vadot			reg = <0xd8002000 0x1000>;
576*f126890aSEmmanuel Vadot			clocks = <&clks IMX27_CLK_EMI_AHB_GATE>;
577*f126890aSEmmanuel Vadot			ranges = <
578*f126890aSEmmanuel Vadot				0 0 0xc0000000 0x08000000
579*f126890aSEmmanuel Vadot				1 0 0xc8000000 0x08000000
580*f126890aSEmmanuel Vadot				2 0 0xd0000000 0x02000000
581*f126890aSEmmanuel Vadot				3 0 0xd2000000 0x02000000
582*f126890aSEmmanuel Vadot				4 0 0xd4000000 0x02000000
583*f126890aSEmmanuel Vadot				5 0 0xd6000000 0x02000000
584*f126890aSEmmanuel Vadot			>;
585*f126890aSEmmanuel Vadot			status = "disabled";
586*f126890aSEmmanuel Vadot		};
587*f126890aSEmmanuel Vadot
588*f126890aSEmmanuel Vadot		iram: sram@ffff4c00 {
589*f126890aSEmmanuel Vadot			compatible = "mmio-sram";
590*f126890aSEmmanuel Vadot			reg = <0xffff4c00 0xb400>;
591*f126890aSEmmanuel Vadot		};
592*f126890aSEmmanuel Vadot	};
593*f126890aSEmmanuel Vadot};
594