xref: /openbmc/linux/arch/arm/boot/dts/nxp/imx/imx51.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+
2*724ba675SRob Herring//
3*724ba675SRob Herring// Copyright 2011 Freescale Semiconductor, Inc.
4*724ba675SRob Herring// Copyright 2011 Linaro Ltd.
5*724ba675SRob Herring
6*724ba675SRob Herring#include "imx51-pinfunc.h"
7*724ba675SRob Herring#include <dt-bindings/clock/imx5-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		i2c0 = &i2c1;
29*724ba675SRob Herring		i2c1 = &i2c2;
30*724ba675SRob Herring		mmc0 = &esdhc1;
31*724ba675SRob Herring		mmc1 = &esdhc2;
32*724ba675SRob Herring		mmc2 = &esdhc3;
33*724ba675SRob Herring		mmc3 = &esdhc4;
34*724ba675SRob Herring		serial0 = &uart1;
35*724ba675SRob Herring		serial1 = &uart2;
36*724ba675SRob Herring		serial2 = &uart3;
37*724ba675SRob Herring		spi0 = &ecspi1;
38*724ba675SRob Herring		spi1 = &ecspi2;
39*724ba675SRob Herring		spi2 = &cspi;
40*724ba675SRob Herring	};
41*724ba675SRob Herring
42*724ba675SRob Herring	tzic: tz-interrupt-controller@e0000000 {
43*724ba675SRob Herring		compatible = "fsl,imx51-tzic", "fsl,tzic";
44*724ba675SRob Herring		interrupt-controller;
45*724ba675SRob Herring		#interrupt-cells = <1>;
46*724ba675SRob Herring		reg = <0xe0000000 0x4000>;
47*724ba675SRob Herring	};
48*724ba675SRob Herring
49*724ba675SRob Herring	clocks {
50*724ba675SRob Herring		ckil {
51*724ba675SRob Herring			compatible = "fixed-clock";
52*724ba675SRob Herring			#clock-cells = <0>;
53*724ba675SRob Herring			clock-frequency = <32768>;
54*724ba675SRob Herring		};
55*724ba675SRob Herring
56*724ba675SRob Herring		ckih1 {
57*724ba675SRob Herring			compatible = "fixed-clock";
58*724ba675SRob Herring			#clock-cells = <0>;
59*724ba675SRob Herring			clock-frequency = <0>;
60*724ba675SRob Herring		};
61*724ba675SRob Herring
62*724ba675SRob Herring		ckih2 {
63*724ba675SRob Herring			compatible = "fixed-clock";
64*724ba675SRob Herring			#clock-cells = <0>;
65*724ba675SRob Herring			clock-frequency = <0>;
66*724ba675SRob Herring		};
67*724ba675SRob Herring
68*724ba675SRob Herring		osc {
69*724ba675SRob Herring			compatible = "fixed-clock";
70*724ba675SRob Herring			#clock-cells = <0>;
71*724ba675SRob Herring			clock-frequency = <24000000>;
72*724ba675SRob Herring		};
73*724ba675SRob Herring	};
74*724ba675SRob Herring
75*724ba675SRob Herring	cpus {
76*724ba675SRob Herring		#address-cells = <1>;
77*724ba675SRob Herring		#size-cells = <0>;
78*724ba675SRob Herring		cpu: cpu@0 {
79*724ba675SRob Herring			device_type = "cpu";
80*724ba675SRob Herring			compatible = "arm,cortex-a8";
81*724ba675SRob Herring			reg = <0>;
82*724ba675SRob Herring			clock-latency = <62500>;
83*724ba675SRob Herring			clocks = <&clks IMX5_CLK_CPU_PODF>;
84*724ba675SRob Herring			clock-names = "cpu";
85*724ba675SRob Herring			operating-points = <
86*724ba675SRob Herring				166000	1000000
87*724ba675SRob Herring				600000	1050000
88*724ba675SRob Herring				800000	1100000
89*724ba675SRob Herring			>;
90*724ba675SRob Herring			voltage-tolerance = <5>;
91*724ba675SRob Herring		};
92*724ba675SRob Herring	};
93*724ba675SRob Herring
94*724ba675SRob Herring	pmu: pmu {
95*724ba675SRob Herring		compatible = "arm,cortex-a8-pmu";
96*724ba675SRob Herring		interrupt-parent = <&tzic>;
97*724ba675SRob Herring		interrupts = <77>;
98*724ba675SRob Herring	};
99*724ba675SRob Herring
100*724ba675SRob Herring	usbphy0: usbphy0 {
101*724ba675SRob Herring		compatible = "usb-nop-xceiv";
102*724ba675SRob Herring		clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
103*724ba675SRob Herring		clock-names = "main_clk";
104*724ba675SRob Herring		#phy-cells = <0>;
105*724ba675SRob Herring	};
106*724ba675SRob Herring
107*724ba675SRob Herring	capture-subsystem {
108*724ba675SRob Herring		compatible = "fsl,imx-capture-subsystem";
109*724ba675SRob Herring		ports = <&ipu_csi0>, <&ipu_csi1>;
110*724ba675SRob Herring	};
111*724ba675SRob Herring
112*724ba675SRob Herring	display-subsystem {
113*724ba675SRob Herring		compatible = "fsl,imx-display-subsystem";
114*724ba675SRob Herring		ports = <&ipu_di0>, <&ipu_di1>;
115*724ba675SRob Herring	};
116*724ba675SRob Herring
117*724ba675SRob Herring	soc: soc {
118*724ba675SRob Herring		#address-cells = <1>;
119*724ba675SRob Herring		#size-cells = <1>;
120*724ba675SRob Herring		compatible = "simple-bus";
121*724ba675SRob Herring		interrupt-parent = <&tzic>;
122*724ba675SRob Herring		ranges;
123*724ba675SRob Herring
124*724ba675SRob Herring		iram: sram@1ffe0000 {
125*724ba675SRob Herring			compatible = "mmio-sram";
126*724ba675SRob Herring			reg = <0x1ffe0000 0x20000>;
127*724ba675SRob Herring			ranges = <0 0x1ffe0000 0x20000>;
128*724ba675SRob Herring			#address-cells = <1>;
129*724ba675SRob Herring			#size-cells = <1>;
130*724ba675SRob Herring		};
131*724ba675SRob Herring
132*724ba675SRob Herring		gpu: gpu@30000000 {
133*724ba675SRob Herring			compatible = "amd,imageon-200.1", "amd,imageon";
134*724ba675SRob Herring			reg = <0x30000000 0x20000>;
135*724ba675SRob Herring			reg-names = "kgsl_3d0_reg_memory";
136*724ba675SRob Herring			interrupts = <12>;
137*724ba675SRob Herring			interrupt-names = "kgsl_3d0_irq";
138*724ba675SRob Herring			clocks = <&clks IMX5_CLK_GPU3D_GATE>, <&clks IMX5_CLK_GARB_GATE>;
139*724ba675SRob Herring			clock-names = "core_clk", "mem_iface_clk";
140*724ba675SRob Herring		};
141*724ba675SRob Herring
142*724ba675SRob Herring		ipu: ipu@40000000 {
143*724ba675SRob Herring			#address-cells = <1>;
144*724ba675SRob Herring			#size-cells = <0>;
145*724ba675SRob Herring			compatible = "fsl,imx51-ipu";
146*724ba675SRob Herring			reg = <0x40000000 0x20000000>;
147*724ba675SRob Herring			interrupts = <11 10>;
148*724ba675SRob Herring			clocks = <&clks IMX5_CLK_IPU_GATE>,
149*724ba675SRob Herring				 <&clks IMX5_CLK_IPU_DI0_GATE>,
150*724ba675SRob Herring				 <&clks IMX5_CLK_IPU_DI1_GATE>;
151*724ba675SRob Herring			clock-names = "bus", "di0", "di1";
152*724ba675SRob Herring			resets = <&src 2>;
153*724ba675SRob Herring
154*724ba675SRob Herring			ipu_csi0: port@0 {
155*724ba675SRob Herring				reg = <0>;
156*724ba675SRob Herring			};
157*724ba675SRob Herring
158*724ba675SRob Herring			ipu_csi1: port@1 {
159*724ba675SRob Herring				reg = <1>;
160*724ba675SRob Herring			};
161*724ba675SRob Herring
162*724ba675SRob Herring			ipu_di0: port@2 {
163*724ba675SRob Herring				reg = <2>;
164*724ba675SRob Herring
165*724ba675SRob Herring				ipu_di0_disp1: endpoint {
166*724ba675SRob Herring				};
167*724ba675SRob Herring			};
168*724ba675SRob Herring
169*724ba675SRob Herring			ipu_di1: port@3 {
170*724ba675SRob Herring				reg = <3>;
171*724ba675SRob Herring
172*724ba675SRob Herring				ipu_di1_disp2: endpoint {
173*724ba675SRob Herring				};
174*724ba675SRob Herring			};
175*724ba675SRob Herring		};
176*724ba675SRob Herring
177*724ba675SRob Herring		aips1: bus@70000000 { /* AIPS1 */
178*724ba675SRob Herring			compatible = "fsl,aips-bus", "simple-bus";
179*724ba675SRob Herring			#address-cells = <1>;
180*724ba675SRob Herring			#size-cells = <1>;
181*724ba675SRob Herring			reg = <0x70000000 0x10000000>;
182*724ba675SRob Herring			ranges;
183*724ba675SRob Herring
184*724ba675SRob Herring			spba-bus@70000000 {
185*724ba675SRob Herring				compatible = "fsl,spba-bus", "simple-bus";
186*724ba675SRob Herring				#address-cells = <1>;
187*724ba675SRob Herring				#size-cells = <1>;
188*724ba675SRob Herring				reg = <0x70000000 0x40000>;
189*724ba675SRob Herring				ranges;
190*724ba675SRob Herring
191*724ba675SRob Herring				esdhc1: mmc@70004000 {
192*724ba675SRob Herring					compatible = "fsl,imx51-esdhc";
193*724ba675SRob Herring					reg = <0x70004000 0x4000>;
194*724ba675SRob Herring					interrupts = <1>;
195*724ba675SRob Herring					clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
196*724ba675SRob Herring						 <&clks IMX5_CLK_DUMMY>,
197*724ba675SRob Herring						 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
198*724ba675SRob Herring					clock-names = "ipg", "ahb", "per";
199*724ba675SRob Herring					status = "disabled";
200*724ba675SRob Herring				};
201*724ba675SRob Herring
202*724ba675SRob Herring				esdhc2: mmc@70008000 {
203*724ba675SRob Herring					compatible = "fsl,imx51-esdhc";
204*724ba675SRob Herring					reg = <0x70008000 0x4000>;
205*724ba675SRob Herring					interrupts = <2>;
206*724ba675SRob Herring					clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
207*724ba675SRob Herring						 <&clks IMX5_CLK_DUMMY>,
208*724ba675SRob Herring						 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
209*724ba675SRob Herring					clock-names = "ipg", "ahb", "per";
210*724ba675SRob Herring					bus-width = <4>;
211*724ba675SRob Herring					status = "disabled";
212*724ba675SRob Herring				};
213*724ba675SRob Herring
214*724ba675SRob Herring				uart3: serial@7000c000 {
215*724ba675SRob Herring					compatible = "fsl,imx51-uart", "fsl,imx21-uart";
216*724ba675SRob Herring					reg = <0x7000c000 0x4000>;
217*724ba675SRob Herring					interrupts = <33>;
218*724ba675SRob Herring					clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
219*724ba675SRob Herring						 <&clks IMX5_CLK_UART3_PER_GATE>;
220*724ba675SRob Herring					clock-names = "ipg", "per";
221*724ba675SRob Herring					dmas = <&sdma 43 5 1>, <&sdma 44 5 2>;
222*724ba675SRob Herring					dma-names = "rx", "tx";
223*724ba675SRob Herring					status = "disabled";
224*724ba675SRob Herring				};
225*724ba675SRob Herring
226*724ba675SRob Herring				ecspi1: spi@70010000 {
227*724ba675SRob Herring					#address-cells = <1>;
228*724ba675SRob Herring					#size-cells = <0>;
229*724ba675SRob Herring					compatible = "fsl,imx51-ecspi";
230*724ba675SRob Herring					reg = <0x70010000 0x4000>;
231*724ba675SRob Herring					interrupts = <36>;
232*724ba675SRob Herring					clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
233*724ba675SRob Herring						 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
234*724ba675SRob Herring					clock-names = "ipg", "per";
235*724ba675SRob Herring					status = "disabled";
236*724ba675SRob Herring				};
237*724ba675SRob Herring
238*724ba675SRob Herring				ssi2: ssi@70014000 {
239*724ba675SRob Herring					#sound-dai-cells = <0>;
240*724ba675SRob Herring					compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
241*724ba675SRob Herring					reg = <0x70014000 0x4000>;
242*724ba675SRob Herring					interrupts = <30>;
243*724ba675SRob Herring					clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
244*724ba675SRob Herring						 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
245*724ba675SRob Herring					clock-names = "ipg", "baud";
246*724ba675SRob Herring					dmas = <&sdma 24 1 0>,
247*724ba675SRob Herring					       <&sdma 25 1 0>;
248*724ba675SRob Herring					dma-names = "rx", "tx";
249*724ba675SRob Herring					fsl,fifo-depth = <15>;
250*724ba675SRob Herring					status = "disabled";
251*724ba675SRob Herring				};
252*724ba675SRob Herring
253*724ba675SRob Herring				esdhc3: mmc@70020000 {
254*724ba675SRob Herring					compatible = "fsl,imx51-esdhc";
255*724ba675SRob Herring					reg = <0x70020000 0x4000>;
256*724ba675SRob Herring					interrupts = <3>;
257*724ba675SRob Herring					clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
258*724ba675SRob Herring						 <&clks IMX5_CLK_DUMMY>,
259*724ba675SRob Herring						 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
260*724ba675SRob Herring					clock-names = "ipg", "ahb", "per";
261*724ba675SRob Herring					bus-width = <4>;
262*724ba675SRob Herring					status = "disabled";
263*724ba675SRob Herring				};
264*724ba675SRob Herring
265*724ba675SRob Herring				esdhc4: mmc@70024000 {
266*724ba675SRob Herring					compatible = "fsl,imx51-esdhc";
267*724ba675SRob Herring					reg = <0x70024000 0x4000>;
268*724ba675SRob Herring					interrupts = <4>;
269*724ba675SRob Herring					clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
270*724ba675SRob Herring						 <&clks IMX5_CLK_DUMMY>,
271*724ba675SRob Herring						 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
272*724ba675SRob Herring					clock-names = "ipg", "ahb", "per";
273*724ba675SRob Herring					bus-width = <4>;
274*724ba675SRob Herring					status = "disabled";
275*724ba675SRob Herring				};
276*724ba675SRob Herring			};
277*724ba675SRob Herring
278*724ba675SRob Herring			aipstz1: bridge@73f00000 {
279*724ba675SRob Herring				compatible = "fsl,imx51-aipstz";
280*724ba675SRob Herring				reg = <0x73f00000 0x60>;
281*724ba675SRob Herring			};
282*724ba675SRob Herring
283*724ba675SRob Herring			usbotg: usb@73f80000 {
284*724ba675SRob Herring				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
285*724ba675SRob Herring				reg = <0x73f80000 0x0200>;
286*724ba675SRob Herring				interrupts = <18>;
287*724ba675SRob Herring				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
288*724ba675SRob Herring				fsl,usbmisc = <&usbmisc 0>;
289*724ba675SRob Herring				fsl,usbphy = <&usbphy0>;
290*724ba675SRob Herring				status = "disabled";
291*724ba675SRob Herring			};
292*724ba675SRob Herring
293*724ba675SRob Herring			usbh1: usb@73f80200 {
294*724ba675SRob Herring				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
295*724ba675SRob Herring				reg = <0x73f80200 0x0200>;
296*724ba675SRob Herring				interrupts = <14>;
297*724ba675SRob Herring				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
298*724ba675SRob Herring				fsl,usbmisc = <&usbmisc 1>;
299*724ba675SRob Herring				dr_mode = "host";
300*724ba675SRob Herring				status = "disabled";
301*724ba675SRob Herring			};
302*724ba675SRob Herring
303*724ba675SRob Herring			usbh2: usb@73f80400 {
304*724ba675SRob Herring				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
305*724ba675SRob Herring				reg = <0x73f80400 0x0200>;
306*724ba675SRob Herring				interrupts = <16>;
307*724ba675SRob Herring				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
308*724ba675SRob Herring				fsl,usbmisc = <&usbmisc 2>;
309*724ba675SRob Herring				dr_mode = "host";
310*724ba675SRob Herring				status = "disabled";
311*724ba675SRob Herring			};
312*724ba675SRob Herring
313*724ba675SRob Herring			usbh3: usb@73f80600 {
314*724ba675SRob Herring				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
315*724ba675SRob Herring				reg = <0x73f80600 0x0200>;
316*724ba675SRob Herring				interrupts = <17>;
317*724ba675SRob Herring				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
318*724ba675SRob Herring				fsl,usbmisc = <&usbmisc 3>;
319*724ba675SRob Herring				dr_mode = "host";
320*724ba675SRob Herring				status = "disabled";
321*724ba675SRob Herring			};
322*724ba675SRob Herring
323*724ba675SRob Herring			usbmisc: usbmisc@73f80800 {
324*724ba675SRob Herring				#index-cells = <1>;
325*724ba675SRob Herring				compatible = "fsl,imx51-usbmisc";
326*724ba675SRob Herring				reg = <0x73f80800 0x200>;
327*724ba675SRob Herring				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
328*724ba675SRob Herring			};
329*724ba675SRob Herring
330*724ba675SRob Herring			gpio1: gpio@73f84000 {
331*724ba675SRob Herring				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
332*724ba675SRob Herring				reg = <0x73f84000 0x4000>;
333*724ba675SRob Herring				interrupts = <50 51>;
334*724ba675SRob Herring				gpio-controller;
335*724ba675SRob Herring				#gpio-cells = <2>;
336*724ba675SRob Herring				interrupt-controller;
337*724ba675SRob Herring				#interrupt-cells = <2>;
338*724ba675SRob Herring			};
339*724ba675SRob Herring
340*724ba675SRob Herring			gpio2: gpio@73f88000 {
341*724ba675SRob Herring				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
342*724ba675SRob Herring				reg = <0x73f88000 0x4000>;
343*724ba675SRob Herring				interrupts = <52 53>;
344*724ba675SRob Herring				gpio-controller;
345*724ba675SRob Herring				#gpio-cells = <2>;
346*724ba675SRob Herring				interrupt-controller;
347*724ba675SRob Herring				#interrupt-cells = <2>;
348*724ba675SRob Herring			};
349*724ba675SRob Herring
350*724ba675SRob Herring			gpio3: gpio@73f8c000 {
351*724ba675SRob Herring				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
352*724ba675SRob Herring				reg = <0x73f8c000 0x4000>;
353*724ba675SRob Herring				interrupts = <54 55>;
354*724ba675SRob Herring				gpio-controller;
355*724ba675SRob Herring				#gpio-cells = <2>;
356*724ba675SRob Herring				interrupt-controller;
357*724ba675SRob Herring				#interrupt-cells = <2>;
358*724ba675SRob Herring			};
359*724ba675SRob Herring
360*724ba675SRob Herring			gpio4: gpio@73f90000 {
361*724ba675SRob Herring				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
362*724ba675SRob Herring				reg = <0x73f90000 0x4000>;
363*724ba675SRob Herring				interrupts = <56 57>;
364*724ba675SRob Herring				gpio-controller;
365*724ba675SRob Herring				#gpio-cells = <2>;
366*724ba675SRob Herring				interrupt-controller;
367*724ba675SRob Herring				#interrupt-cells = <2>;
368*724ba675SRob Herring			};
369*724ba675SRob Herring
370*724ba675SRob Herring			kpp: kpp@73f94000 {
371*724ba675SRob Herring				compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
372*724ba675SRob Herring				reg = <0x73f94000 0x4000>;
373*724ba675SRob Herring				interrupts = <60>;
374*724ba675SRob Herring				clocks = <&clks IMX5_CLK_DUMMY>;
375*724ba675SRob Herring				status = "disabled";
376*724ba675SRob Herring			};
377*724ba675SRob Herring
378*724ba675SRob Herring			wdog1: watchdog@73f98000 {
379*724ba675SRob Herring				compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
380*724ba675SRob Herring				reg = <0x73f98000 0x4000>;
381*724ba675SRob Herring				interrupts = <58>;
382*724ba675SRob Herring				clocks = <&clks IMX5_CLK_DUMMY>;
383*724ba675SRob Herring			};
384*724ba675SRob Herring
385*724ba675SRob Herring			wdog2: watchdog@73f9c000 {
386*724ba675SRob Herring				compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
387*724ba675SRob Herring				reg = <0x73f9c000 0x4000>;
388*724ba675SRob Herring				interrupts = <59>;
389*724ba675SRob Herring				clocks = <&clks IMX5_CLK_DUMMY>;
390*724ba675SRob Herring				status = "disabled";
391*724ba675SRob Herring			};
392*724ba675SRob Herring
393*724ba675SRob Herring			gpt: timer@73fa0000 {
394*724ba675SRob Herring				compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
395*724ba675SRob Herring				reg = <0x73fa0000 0x4000>;
396*724ba675SRob Herring				interrupts = <39>;
397*724ba675SRob Herring				clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
398*724ba675SRob Herring					 <&clks IMX5_CLK_GPT_HF_GATE>;
399*724ba675SRob Herring				clock-names = "ipg", "per";
400*724ba675SRob Herring			};
401*724ba675SRob Herring
402*724ba675SRob Herring			iomuxc: iomuxc@73fa8000 {
403*724ba675SRob Herring				compatible = "fsl,imx51-iomuxc";
404*724ba675SRob Herring				reg = <0x73fa8000 0x4000>;
405*724ba675SRob Herring			};
406*724ba675SRob Herring
407*724ba675SRob Herring			pwm1: pwm@73fb4000 {
408*724ba675SRob Herring				#pwm-cells = <3>;
409*724ba675SRob Herring				compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
410*724ba675SRob Herring				reg = <0x73fb4000 0x4000>;
411*724ba675SRob Herring				clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
412*724ba675SRob Herring					 <&clks IMX5_CLK_PWM1_HF_GATE>;
413*724ba675SRob Herring				clock-names = "ipg", "per";
414*724ba675SRob Herring				interrupts = <61>;
415*724ba675SRob Herring			};
416*724ba675SRob Herring
417*724ba675SRob Herring			pwm2: pwm@73fb8000 {
418*724ba675SRob Herring				#pwm-cells = <3>;
419*724ba675SRob Herring				compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
420*724ba675SRob Herring				reg = <0x73fb8000 0x4000>;
421*724ba675SRob Herring				clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
422*724ba675SRob Herring					 <&clks IMX5_CLK_PWM2_HF_GATE>;
423*724ba675SRob Herring				clock-names = "ipg", "per";
424*724ba675SRob Herring				interrupts = <94>;
425*724ba675SRob Herring			};
426*724ba675SRob Herring
427*724ba675SRob Herring			uart1: serial@73fbc000 {
428*724ba675SRob Herring				compatible = "fsl,imx51-uart", "fsl,imx21-uart";
429*724ba675SRob Herring				reg = <0x73fbc000 0x4000>;
430*724ba675SRob Herring				interrupts = <31>;
431*724ba675SRob Herring				clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
432*724ba675SRob Herring					 <&clks IMX5_CLK_UART1_PER_GATE>;
433*724ba675SRob Herring				clock-names = "ipg", "per";
434*724ba675SRob Herring				dmas = <&sdma 18 4 1>, <&sdma 19 4 2>;
435*724ba675SRob Herring				dma-names = "rx", "tx";
436*724ba675SRob Herring				status = "disabled";
437*724ba675SRob Herring			};
438*724ba675SRob Herring
439*724ba675SRob Herring			uart2: serial@73fc0000 {
440*724ba675SRob Herring				compatible = "fsl,imx51-uart", "fsl,imx21-uart";
441*724ba675SRob Herring				reg = <0x73fc0000 0x4000>;
442*724ba675SRob Herring				interrupts = <32>;
443*724ba675SRob Herring				clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
444*724ba675SRob Herring					 <&clks IMX5_CLK_UART2_PER_GATE>;
445*724ba675SRob Herring				clock-names = "ipg", "per";
446*724ba675SRob Herring				dmas = <&sdma 16 4 1>, <&sdma 17 4 2>;
447*724ba675SRob Herring				dma-names = "rx", "tx";
448*724ba675SRob Herring				status = "disabled";
449*724ba675SRob Herring			};
450*724ba675SRob Herring
451*724ba675SRob Herring			src: reset-controller@73fd0000 {
452*724ba675SRob Herring				compatible = "fsl,imx51-src";
453*724ba675SRob Herring				reg = <0x73fd0000 0x4000>;
454*724ba675SRob Herring				interrupts = <75>;
455*724ba675SRob Herring				#reset-cells = <1>;
456*724ba675SRob Herring			};
457*724ba675SRob Herring
458*724ba675SRob Herring			clks: ccm@73fd4000 {
459*724ba675SRob Herring				compatible = "fsl,imx51-ccm";
460*724ba675SRob Herring				reg = <0x73fd4000 0x4000>;
461*724ba675SRob Herring				interrupts = <0 71 0x04 0 72 0x04>;
462*724ba675SRob Herring				#clock-cells = <1>;
463*724ba675SRob Herring			};
464*724ba675SRob Herring		};
465*724ba675SRob Herring
466*724ba675SRob Herring		aips2: bus@80000000 {	/* AIPS2 */
467*724ba675SRob Herring			compatible = "fsl,aips-bus", "simple-bus";
468*724ba675SRob Herring			#address-cells = <1>;
469*724ba675SRob Herring			#size-cells = <1>;
470*724ba675SRob Herring			reg = <0x80000000 0x10000000>;
471*724ba675SRob Herring			ranges;
472*724ba675SRob Herring
473*724ba675SRob Herring			aipstz2: bridge@83f00000 {
474*724ba675SRob Herring				compatible = "fsl,imx51-aipstz";
475*724ba675SRob Herring				reg = <0x83f00000 0x60>;
476*724ba675SRob Herring			};
477*724ba675SRob Herring
478*724ba675SRob Herring			iim: efuse@83f98000 {
479*724ba675SRob Herring				compatible = "fsl,imx51-iim", "fsl,imx27-iim", "syscon";
480*724ba675SRob Herring				reg = <0x83f98000 0x4000>;
481*724ba675SRob Herring				interrupts = <69>;
482*724ba675SRob Herring				clocks = <&clks IMX5_CLK_IIM_GATE>;
483*724ba675SRob Herring			};
484*724ba675SRob Herring
485*724ba675SRob Herring			tigerp: tigerp@83fa0000 {
486*724ba675SRob Herring				compatible = "fsl,imx51-tigerp";
487*724ba675SRob Herring				reg = <0x83fa0000 0x28>;
488*724ba675SRob Herring			};
489*724ba675SRob Herring
490*724ba675SRob Herring			owire: owire@83fa4000 {
491*724ba675SRob Herring				compatible = "fsl,imx51-owire", "fsl,imx21-owire";
492*724ba675SRob Herring				reg = <0x83fa4000 0x4000>;
493*724ba675SRob Herring				interrupts = <88>;
494*724ba675SRob Herring				clocks = <&clks IMX5_CLK_OWIRE_GATE>;
495*724ba675SRob Herring				status = "disabled";
496*724ba675SRob Herring			};
497*724ba675SRob Herring
498*724ba675SRob Herring			ecspi2: spi@83fac000 {
499*724ba675SRob Herring				#address-cells = <1>;
500*724ba675SRob Herring				#size-cells = <0>;
501*724ba675SRob Herring				compatible = "fsl,imx51-ecspi";
502*724ba675SRob Herring				reg = <0x83fac000 0x4000>;
503*724ba675SRob Herring				interrupts = <37>;
504*724ba675SRob Herring				clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
505*724ba675SRob Herring					 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
506*724ba675SRob Herring				clock-names = "ipg", "per";
507*724ba675SRob Herring				status = "disabled";
508*724ba675SRob Herring			};
509*724ba675SRob Herring
510*724ba675SRob Herring			sdma: dma-controller@83fb0000 {
511*724ba675SRob Herring				compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
512*724ba675SRob Herring				reg = <0x83fb0000 0x4000>;
513*724ba675SRob Herring				interrupts = <6>;
514*724ba675SRob Herring				clocks = <&clks IMX5_CLK_SDMA_GATE>,
515*724ba675SRob Herring					 <&clks IMX5_CLK_AHB>;
516*724ba675SRob Herring				clock-names = "ipg", "ahb";
517*724ba675SRob Herring				#dma-cells = <3>;
518*724ba675SRob Herring				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
519*724ba675SRob Herring			};
520*724ba675SRob Herring
521*724ba675SRob Herring			cspi: spi@83fc0000 {
522*724ba675SRob Herring				#address-cells = <1>;
523*724ba675SRob Herring				#size-cells = <0>;
524*724ba675SRob Herring				compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
525*724ba675SRob Herring				reg = <0x83fc0000 0x4000>;
526*724ba675SRob Herring				interrupts = <38>;
527*724ba675SRob Herring				clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
528*724ba675SRob Herring					 <&clks IMX5_CLK_CSPI_IPG_GATE>;
529*724ba675SRob Herring				clock-names = "ipg", "per";
530*724ba675SRob Herring				status = "disabled";
531*724ba675SRob Herring			};
532*724ba675SRob Herring
533*724ba675SRob Herring			i2c2: i2c@83fc4000 {
534*724ba675SRob Herring				#address-cells = <1>;
535*724ba675SRob Herring				#size-cells = <0>;
536*724ba675SRob Herring				compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
537*724ba675SRob Herring				reg = <0x83fc4000 0x4000>;
538*724ba675SRob Herring				interrupts = <63>;
539*724ba675SRob Herring				clocks = <&clks IMX5_CLK_I2C2_GATE>;
540*724ba675SRob Herring				status = "disabled";
541*724ba675SRob Herring			};
542*724ba675SRob Herring
543*724ba675SRob Herring			i2c1: i2c@83fc8000 {
544*724ba675SRob Herring				#address-cells = <1>;
545*724ba675SRob Herring				#size-cells = <0>;
546*724ba675SRob Herring				compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
547*724ba675SRob Herring				reg = <0x83fc8000 0x4000>;
548*724ba675SRob Herring				interrupts = <62>;
549*724ba675SRob Herring				clocks = <&clks IMX5_CLK_I2C1_GATE>;
550*724ba675SRob Herring				status = "disabled";
551*724ba675SRob Herring			};
552*724ba675SRob Herring
553*724ba675SRob Herring			ssi1: ssi@83fcc000 {
554*724ba675SRob Herring				#sound-dai-cells = <0>;
555*724ba675SRob Herring				compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
556*724ba675SRob Herring				reg = <0x83fcc000 0x4000>;
557*724ba675SRob Herring				interrupts = <29>;
558*724ba675SRob Herring				clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
559*724ba675SRob Herring					 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
560*724ba675SRob Herring				clock-names = "ipg", "baud";
561*724ba675SRob Herring				dmas = <&sdma 28 0 0>,
562*724ba675SRob Herring				       <&sdma 29 0 0>;
563*724ba675SRob Herring				dma-names = "rx", "tx";
564*724ba675SRob Herring				fsl,fifo-depth = <15>;
565*724ba675SRob Herring				status = "disabled";
566*724ba675SRob Herring			};
567*724ba675SRob Herring
568*724ba675SRob Herring			audmux: audmux@83fd0000 {
569*724ba675SRob Herring				compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
570*724ba675SRob Herring				reg = <0x83fd0000 0x4000>;
571*724ba675SRob Herring				clocks = <&clks IMX5_CLK_DUMMY>;
572*724ba675SRob Herring				clock-names = "audmux";
573*724ba675SRob Herring				status = "disabled";
574*724ba675SRob Herring			};
575*724ba675SRob Herring
576*724ba675SRob Herring			m4if: m4if@83fd8000 {
577*724ba675SRob Herring				compatible = "fsl,imx51-m4if";
578*724ba675SRob Herring				reg = <0x83fd8000 0x1000>;
579*724ba675SRob Herring			};
580*724ba675SRob Herring
581*724ba675SRob Herring			weim: weim@83fda000 {
582*724ba675SRob Herring				#address-cells = <2>;
583*724ba675SRob Herring				#size-cells = <1>;
584*724ba675SRob Herring				compatible = "fsl,imx51-weim";
585*724ba675SRob Herring				reg = <0x83fda000 0x1000>;
586*724ba675SRob Herring				clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>;
587*724ba675SRob Herring				ranges = <
588*724ba675SRob Herring					0 0 0xb0000000 0x08000000
589*724ba675SRob Herring					1 0 0xb8000000 0x08000000
590*724ba675SRob Herring					2 0 0xc0000000 0x08000000
591*724ba675SRob Herring					3 0 0xc8000000 0x04000000
592*724ba675SRob Herring					4 0 0xcc000000 0x02000000
593*724ba675SRob Herring					5 0 0xce000000 0x02000000
594*724ba675SRob Herring				>;
595*724ba675SRob Herring				status = "disabled";
596*724ba675SRob Herring			};
597*724ba675SRob Herring
598*724ba675SRob Herring			nfc: nand@83fdb000 {
599*724ba675SRob Herring				#address-cells = <1>;
600*724ba675SRob Herring				#size-cells = <1>;
601*724ba675SRob Herring				compatible = "fsl,imx51-nand";
602*724ba675SRob Herring				reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
603*724ba675SRob Herring				interrupts = <8>;
604*724ba675SRob Herring				clocks = <&clks IMX5_CLK_NFC_GATE>;
605*724ba675SRob Herring				status = "disabled";
606*724ba675SRob Herring			};
607*724ba675SRob Herring
608*724ba675SRob Herring			pata: pata@83fe0000 {
609*724ba675SRob Herring				compatible = "fsl,imx51-pata", "fsl,imx27-pata";
610*724ba675SRob Herring				reg = <0x83fe0000 0x4000>;
611*724ba675SRob Herring				interrupts = <70>;
612*724ba675SRob Herring				clocks = <&clks IMX5_CLK_PATA_GATE>;
613*724ba675SRob Herring				status = "disabled";
614*724ba675SRob Herring			};
615*724ba675SRob Herring
616*724ba675SRob Herring			ssi3: ssi@83fe8000 {
617*724ba675SRob Herring				#sound-dai-cells = <0>;
618*724ba675SRob Herring				compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
619*724ba675SRob Herring				reg = <0x83fe8000 0x4000>;
620*724ba675SRob Herring				interrupts = <96>;
621*724ba675SRob Herring				clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
622*724ba675SRob Herring					 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
623*724ba675SRob Herring				clock-names = "ipg", "baud";
624*724ba675SRob Herring				dmas = <&sdma 46 0 0>,
625*724ba675SRob Herring				       <&sdma 47 0 0>;
626*724ba675SRob Herring				dma-names = "rx", "tx";
627*724ba675SRob Herring				fsl,fifo-depth = <15>;
628*724ba675SRob Herring				status = "disabled";
629*724ba675SRob Herring			};
630*724ba675SRob Herring
631*724ba675SRob Herring			fec: ethernet@83fec000 {
632*724ba675SRob Herring				compatible = "fsl,imx51-fec", "fsl,imx27-fec";
633*724ba675SRob Herring				reg = <0x83fec000 0x4000>;
634*724ba675SRob Herring				interrupts = <87>;
635*724ba675SRob Herring				clocks = <&clks IMX5_CLK_FEC_GATE>,
636*724ba675SRob Herring					 <&clks IMX5_CLK_FEC_GATE>,
637*724ba675SRob Herring					 <&clks IMX5_CLK_FEC_GATE>;
638*724ba675SRob Herring				clock-names = "ipg", "ahb", "ptp";
639*724ba675SRob Herring				status = "disabled";
640*724ba675SRob Herring			};
641*724ba675SRob Herring
642*724ba675SRob Herring			vpu: vpu@83ff4000 {
643*724ba675SRob Herring				compatible = "fsl,imx51-vpu", "cnm,codahx4";
644*724ba675SRob Herring				reg = <0x83ff4000 0x1000>;
645*724ba675SRob Herring				interrupts = <9>;
646*724ba675SRob Herring				clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
647*724ba675SRob Herring					 <&clks IMX5_CLK_VPU_GATE>;
648*724ba675SRob Herring				clock-names = "per", "ahb";
649*724ba675SRob Herring				resets = <&src 1>;
650*724ba675SRob Herring				iram = <&iram>;
651*724ba675SRob Herring			};
652*724ba675SRob Herring
653*724ba675SRob Herring			sahara: crypto@83ff8000 {
654*724ba675SRob Herring				compatible = "fsl,imx53-sahara", "fsl,imx51-sahara";
655*724ba675SRob Herring				reg = <0x83ff8000 0x4000>;
656*724ba675SRob Herring				interrupts = <19 20>;
657*724ba675SRob Herring				clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
658*724ba675SRob Herring					 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
659*724ba675SRob Herring				clock-names = "ipg", "ahb";
660*724ba675SRob Herring			};
661*724ba675SRob Herring		};
662*724ba675SRob Herring	};
663*724ba675SRob Herring};
664