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