xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx35.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring//
3724ba675SRob Herring// Copyright 2012 Steffen Trumtrar, Pengutronix
4724ba675SRob Herring//
5724ba675SRob Herring// based on imx27.dtsi
6724ba675SRob Herring
7724ba675SRob Herring#include "imx35-pinfunc.h"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	#address-cells = <1>;
11724ba675SRob Herring	#size-cells = <1>;
12724ba675SRob Herring	/*
13724ba675SRob Herring	 * The decompressor and also some bootloaders rely on a
14724ba675SRob Herring	 * pre-existing /chosen node to be available to insert the
15724ba675SRob Herring	 * command line and merge other ATAGS info.
16724ba675SRob Herring	 */
17724ba675SRob Herring	chosen {};
18724ba675SRob Herring
19724ba675SRob Herring	aliases {
20724ba675SRob Herring		ethernet0 = &fec;
21724ba675SRob Herring		gpio0 = &gpio1;
22724ba675SRob Herring		gpio1 = &gpio2;
23724ba675SRob Herring		gpio2 = &gpio3;
24724ba675SRob Herring		i2c0 = &i2c1;
25724ba675SRob Herring		i2c1 = &i2c2;
26724ba675SRob Herring		i2c2 = &i2c3;
27724ba675SRob Herring		mmc0 = &esdhc1;
28724ba675SRob Herring		mmc1 = &esdhc2;
29724ba675SRob Herring		mmc2 = &esdhc3;
30724ba675SRob Herring		serial0 = &uart1;
31724ba675SRob Herring		serial1 = &uart2;
32724ba675SRob Herring		serial2 = &uart3;
33724ba675SRob Herring		spi0 = &spi1;
34724ba675SRob Herring		spi1 = &spi2;
35724ba675SRob Herring	};
36724ba675SRob Herring
37724ba675SRob Herring	cpus {
38724ba675SRob Herring		#address-cells = <1>;
39724ba675SRob Herring		#size-cells = <0>;
40724ba675SRob Herring
41724ba675SRob Herring		cpu@0 {
42724ba675SRob Herring			compatible = "arm,arm1136jf-s";
43724ba675SRob Herring			device_type = "cpu";
44724ba675SRob Herring			reg = <0>;
45724ba675SRob Herring		};
46724ba675SRob Herring	};
47724ba675SRob Herring
48724ba675SRob Herring	avic: avic-interrupt-controller@68000000 {
49724ba675SRob Herring		compatible = "fsl,imx35-avic", "fsl,avic";
50724ba675SRob Herring		interrupt-controller;
51724ba675SRob Herring		#interrupt-cells = <1>;
52724ba675SRob Herring		reg = <0x68000000 0x10000000>;
53724ba675SRob Herring	};
54724ba675SRob Herring
55724ba675SRob Herring	soc {
56724ba675SRob Herring		#address-cells = <1>;
57724ba675SRob Herring		#size-cells = <1>;
58724ba675SRob Herring		compatible = "simple-bus";
59724ba675SRob Herring		interrupt-parent = <&avic>;
60724ba675SRob Herring		ranges;
61724ba675SRob Herring
62724ba675SRob Herring		L2: cache-controller@30000000 {
63724ba675SRob Herring			compatible = "arm,l210-cache";
64724ba675SRob Herring			reg = <0x30000000 0x1000>;
65724ba675SRob Herring			cache-unified;
66724ba675SRob Herring			cache-level = <2>;
67724ba675SRob Herring		};
68724ba675SRob Herring
69724ba675SRob Herring		aips1: bus@43f00000 {
70724ba675SRob Herring			compatible = "fsl,aips", "simple-bus";
71724ba675SRob Herring			#address-cells = <1>;
72724ba675SRob Herring			#size-cells = <1>;
73724ba675SRob Herring			reg = <0x43f00000 0x100000>;
74724ba675SRob Herring			ranges;
75724ba675SRob Herring
76724ba675SRob Herring			i2c1: i2c@43f80000 {
77724ba675SRob Herring				#address-cells = <1>;
78724ba675SRob Herring				#size-cells = <0>;
79724ba675SRob Herring				compatible = "fsl,imx35-i2c", "fsl,imx1-i2c";
80724ba675SRob Herring				reg = <0x43f80000 0x4000>;
81724ba675SRob Herring				clocks = <&clks 51>;
82724ba675SRob Herring				clock-names = "ipg_per";
83724ba675SRob Herring				interrupts = <10>;
84724ba675SRob Herring				status = "disabled";
85724ba675SRob Herring			};
86724ba675SRob Herring
87724ba675SRob Herring			i2c3: i2c@43f84000 {
88724ba675SRob Herring				#address-cells = <1>;
89724ba675SRob Herring				#size-cells = <0>;
90724ba675SRob Herring				compatible = "fsl,imx35-i2c", "fsl,imx1-i2c";
91724ba675SRob Herring				reg = <0x43f84000 0x4000>;
92724ba675SRob Herring				clocks = <&clks 53>;
93724ba675SRob Herring				clock-names = "ipg_per";
94724ba675SRob Herring				interrupts = <3>;
95724ba675SRob Herring				status = "disabled";
96724ba675SRob Herring			};
97724ba675SRob Herring
98724ba675SRob Herring			uart1: serial@43f90000 {
99724ba675SRob Herring				compatible = "fsl,imx35-uart", "fsl,imx21-uart";
100724ba675SRob Herring				reg = <0x43f90000 0x4000>;
101724ba675SRob Herring				clocks = <&clks 9>, <&clks 70>;
102724ba675SRob Herring				clock-names = "ipg", "per";
103724ba675SRob Herring				interrupts = <45>;
104724ba675SRob Herring				status = "disabled";
105724ba675SRob Herring			};
106724ba675SRob Herring
107724ba675SRob Herring			uart2: serial@43f94000 {
108724ba675SRob Herring				compatible = "fsl,imx35-uart", "fsl,imx21-uart";
109724ba675SRob Herring				reg = <0x43f94000 0x4000>;
110724ba675SRob Herring				clocks = <&clks 9>, <&clks 71>;
111724ba675SRob Herring				clock-names = "ipg", "per";
112724ba675SRob Herring				interrupts = <32>;
113724ba675SRob Herring				status = "disabled";
114724ba675SRob Herring			};
115724ba675SRob Herring
116724ba675SRob Herring			i2c2: i2c@43f98000 {
117724ba675SRob Herring				#address-cells = <1>;
118724ba675SRob Herring				#size-cells = <0>;
119724ba675SRob Herring				compatible = "fsl,imx35-i2c", "fsl,imx1-i2c";
120724ba675SRob Herring				reg = <0x43f98000 0x4000>;
121724ba675SRob Herring				clocks = <&clks 52>;
122724ba675SRob Herring				clock-names = "ipg_per";
123724ba675SRob Herring				interrupts = <4>;
124724ba675SRob Herring				status = "disabled";
125724ba675SRob Herring			};
126724ba675SRob Herring
127724ba675SRob Herring			ssi1: ssi@43fa0000 {
128724ba675SRob Herring				#sound-dai-cells = <0>;
129724ba675SRob Herring				compatible = "fsl,imx35-ssi", "fsl,imx21-ssi";
130724ba675SRob Herring				reg = <0x43fa0000 0x4000>;
131724ba675SRob Herring				interrupts = <11>;
132724ba675SRob Herring				clocks = <&clks 68>;
133724ba675SRob Herring				dmas = <&sdma 28 0 0>,
134724ba675SRob Herring				       <&sdma 29 0 0>;
135724ba675SRob Herring				dma-names = "rx", "tx";
136724ba675SRob Herring				fsl,fifo-depth = <15>;
137724ba675SRob Herring				status = "disabled";
138724ba675SRob Herring			};
139724ba675SRob Herring
140724ba675SRob Herring			spi1: spi@43fa4000 {
141724ba675SRob Herring				#address-cells = <1>;
142724ba675SRob Herring				#size-cells = <0>;
143724ba675SRob Herring				compatible = "fsl,imx35-cspi";
144724ba675SRob Herring				reg = <0x43fa4000 0x4000>;
145724ba675SRob Herring				clocks = <&clks 35 &clks 35>;
146724ba675SRob Herring				clock-names = "ipg", "per";
147724ba675SRob Herring				interrupts = <14>;
148724ba675SRob Herring				status = "disabled";
149724ba675SRob Herring			};
150724ba675SRob Herring
151724ba675SRob Herring			kpp: kpp@43fa8000 {
152724ba675SRob Herring				compatible = "fsl,imx35-kpp", "fsl,imx21-kpp";
153724ba675SRob Herring				reg = <0x43fa8000 0x4000>;
154724ba675SRob Herring				interrupts = <24>;
155724ba675SRob Herring				clocks = <&clks 56>;
156724ba675SRob Herring				status = "disabled";
157724ba675SRob Herring			};
158724ba675SRob Herring
1594f3a5cbcSMarek Vasut			iomuxc: pinctrl@43fac000 {
160724ba675SRob Herring				compatible = "fsl,imx35-iomuxc";
161724ba675SRob Herring				reg = <0x43fac000 0x4000>;
162724ba675SRob Herring			};
163724ba675SRob Herring		};
164724ba675SRob Herring
165724ba675SRob Herring		spba: spba-bus@50000000 {
166724ba675SRob Herring			compatible = "fsl,spba-bus", "simple-bus";
167724ba675SRob Herring			#address-cells = <1>;
168724ba675SRob Herring			#size-cells = <1>;
169724ba675SRob Herring			reg = <0x50000000 0x100000>;
170724ba675SRob Herring			ranges;
171724ba675SRob Herring
172724ba675SRob Herring			uart3: serial@5000c000 {
173724ba675SRob Herring				compatible = "fsl,imx35-uart", "fsl,imx21-uart";
174724ba675SRob Herring				reg = <0x5000c000 0x4000>;
175724ba675SRob Herring				clocks = <&clks 9>, <&clks 72>;
176724ba675SRob Herring				clock-names = "ipg", "per";
177724ba675SRob Herring				interrupts = <18>;
178724ba675SRob Herring				status = "disabled";
179724ba675SRob Herring			};
180724ba675SRob Herring
181724ba675SRob Herring			spi2: spi@50010000 {
182724ba675SRob Herring				#address-cells = <1>;
183724ba675SRob Herring				#size-cells = <0>;
184724ba675SRob Herring				compatible = "fsl,imx35-cspi";
185724ba675SRob Herring				reg = <0x50010000 0x4000>;
186724ba675SRob Herring				interrupts = <13>;
187724ba675SRob Herring				clocks = <&clks 36 &clks 36>;
188724ba675SRob Herring				clock-names = "ipg", "per";
189724ba675SRob Herring				status = "disabled";
190724ba675SRob Herring			};
191724ba675SRob Herring
192724ba675SRob Herring			fec: ethernet@50038000 {
193724ba675SRob Herring				compatible = "fsl,imx35-fec", "fsl,imx27-fec";
194724ba675SRob Herring				reg = <0x50038000 0x4000>;
195724ba675SRob Herring				clocks = <&clks 46>, <&clks 8>;
196724ba675SRob Herring				clock-names = "ipg", "ahb";
197724ba675SRob Herring				interrupts = <57>;
198724ba675SRob Herring				status = "disabled";
199724ba675SRob Herring			};
200724ba675SRob Herring		};
201724ba675SRob Herring
202724ba675SRob Herring		aips2: bus@53f00000 {
203724ba675SRob Herring			compatible = "fsl,aips", "simple-bus";
204724ba675SRob Herring			#address-cells = <1>;
205724ba675SRob Herring			#size-cells = <1>;
206724ba675SRob Herring			reg = <0x53f00000 0x100000>;
207724ba675SRob Herring			ranges;
208724ba675SRob Herring
209724ba675SRob Herring			clks: ccm@53f80000 {
210724ba675SRob Herring				compatible = "fsl,imx35-ccm";
211724ba675SRob Herring				reg = <0x53f80000 0x4000>;
212724ba675SRob Herring				interrupts = <31>;
213724ba675SRob Herring				#clock-cells = <1>;
214724ba675SRob Herring			};
215724ba675SRob Herring
216724ba675SRob Herring			gpt: timer@53f90000 {
217724ba675SRob Herring				compatible = "fsl,imx35-gpt", "fsl,imx31-gpt";
218724ba675SRob Herring				reg = <0x53f90000 0x4000>;
219724ba675SRob Herring				interrupts = <29>;
220724ba675SRob Herring				clocks = <&clks 9>, <&clks 50>;
221724ba675SRob Herring				clock-names = "ipg", "per";
222724ba675SRob Herring			};
223724ba675SRob Herring
224724ba675SRob Herring			gpio3: gpio@53fa4000 {
225724ba675SRob Herring				compatible = "fsl,imx35-gpio", "fsl,imx31-gpio";
226724ba675SRob Herring				reg = <0x53fa4000 0x4000>;
227724ba675SRob Herring				interrupts = <56>;
228724ba675SRob Herring				gpio-controller;
229724ba675SRob Herring				#gpio-cells = <2>;
230724ba675SRob Herring				interrupt-controller;
231724ba675SRob Herring				#interrupt-cells = <2>;
232724ba675SRob Herring			};
233724ba675SRob Herring
234724ba675SRob Herring			esdhc1: mmc@53fb4000 {
235724ba675SRob Herring				compatible = "fsl,imx35-esdhc";
236724ba675SRob Herring				reg = <0x53fb4000 0x4000>;
237724ba675SRob Herring				interrupts = <7>;
238724ba675SRob Herring				clocks = <&clks 9>, <&clks 8>, <&clks 43>;
239724ba675SRob Herring				clock-names = "ipg", "ahb", "per";
240724ba675SRob Herring				status = "disabled";
241724ba675SRob Herring			};
242724ba675SRob Herring
243724ba675SRob Herring			esdhc2: mmc@53fb8000 {
244724ba675SRob Herring				compatible = "fsl,imx35-esdhc";
245724ba675SRob Herring				reg = <0x53fb8000 0x4000>;
246724ba675SRob Herring				interrupts = <8>;
247724ba675SRob Herring				clocks = <&clks 9>, <&clks 8>, <&clks 44>;
248724ba675SRob Herring				clock-names = "ipg", "ahb", "per";
249724ba675SRob Herring				status = "disabled";
250724ba675SRob Herring			};
251724ba675SRob Herring
252724ba675SRob Herring			esdhc3: mmc@53fbc000 {
253724ba675SRob Herring				compatible = "fsl,imx35-esdhc";
254724ba675SRob Herring				reg = <0x53fbc000 0x4000>;
255724ba675SRob Herring				interrupts = <9>;
256724ba675SRob Herring				clocks = <&clks 9>, <&clks 8>, <&clks 45>;
257724ba675SRob Herring				clock-names = "ipg", "ahb", "per";
258724ba675SRob Herring				status = "disabled";
259724ba675SRob Herring			};
260724ba675SRob Herring
261724ba675SRob Herring			audmux: audmux@53fc4000 {
262724ba675SRob Herring				compatible = "fsl,imx35-audmux", "fsl,imx31-audmux";
263724ba675SRob Herring				reg = <0x53fc4000 0x4000>;
264724ba675SRob Herring				status = "disabled";
265724ba675SRob Herring			};
266724ba675SRob Herring
267724ba675SRob Herring			gpio1: gpio@53fcc000 {
268724ba675SRob Herring				compatible = "fsl,imx35-gpio", "fsl,imx31-gpio";
269724ba675SRob Herring				reg = <0x53fcc000 0x4000>;
270724ba675SRob Herring				interrupts = <52>;
271724ba675SRob Herring				gpio-controller;
272724ba675SRob Herring				#gpio-cells = <2>;
273724ba675SRob Herring				interrupt-controller;
274724ba675SRob Herring				#interrupt-cells = <2>;
275724ba675SRob Herring			};
276724ba675SRob Herring
277724ba675SRob Herring			gpio2: gpio@53fd0000 {
278724ba675SRob Herring				compatible = "fsl,imx35-gpio", "fsl,imx31-gpio";
279724ba675SRob Herring				reg = <0x53fd0000 0x4000>;
280724ba675SRob Herring				interrupts = <51>;
281724ba675SRob Herring				gpio-controller;
282724ba675SRob Herring				#gpio-cells = <2>;
283724ba675SRob Herring				interrupt-controller;
284724ba675SRob Herring				#interrupt-cells = <2>;
285724ba675SRob Herring			};
286724ba675SRob Herring
287724ba675SRob Herring			sdma: dma-controller@53fd4000 {
288724ba675SRob Herring				compatible = "fsl,imx35-sdma";
289724ba675SRob Herring				reg = <0x53fd4000 0x4000>;
290724ba675SRob Herring				clocks = <&clks 9>, <&clks 65>;
291724ba675SRob Herring				clock-names = "ipg", "ahb";
292724ba675SRob Herring				#dma-cells = <3>;
293724ba675SRob Herring				interrupts = <34>;
294724ba675SRob Herring				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx35.bin";
295724ba675SRob Herring			};
296724ba675SRob Herring
297724ba675SRob Herring			wdog: watchdog@53fdc000 {
298724ba675SRob Herring				compatible = "fsl,imx35-wdt", "fsl,imx21-wdt";
299724ba675SRob Herring				reg = <0x53fdc000 0x4000>;
300724ba675SRob Herring				clocks = <&clks 74>;
301724ba675SRob Herring				interrupts = <55>;
302724ba675SRob Herring			};
303724ba675SRob Herring
304724ba675SRob Herring			can1: can@53fe4000 {
305724ba675SRob Herring				compatible = "fsl,imx35-flexcan", "fsl,imx25-flexcan";
306724ba675SRob Herring				reg = <0x53fe4000 0x1000>;
307724ba675SRob Herring				clocks = <&clks 33>, <&clks 33>;
308724ba675SRob Herring				clock-names = "ipg", "per";
309724ba675SRob Herring				interrupts = <43>;
310724ba675SRob Herring				status = "disabled";
311724ba675SRob Herring			};
312724ba675SRob Herring
313724ba675SRob Herring			can2: can@53fe8000 {
314724ba675SRob Herring				compatible = "fsl,imx35-flexcan", "fsl,imx25-flexcan";
315724ba675SRob Herring				reg = <0x53fe8000 0x1000>;
316724ba675SRob Herring				clocks = <&clks 34>, <&clks 34>;
317724ba675SRob Herring				clock-names = "ipg", "per";
318724ba675SRob Herring				interrupts = <44>;
319724ba675SRob Herring				status = "disabled";
320724ba675SRob Herring			};
321724ba675SRob Herring
322724ba675SRob Herring			efuse@53ff0000 {
323724ba675SRob Herring				compatible = "fsl,imx35-iim";
324724ba675SRob Herring				reg = <0x53ff0000 0x4000>;
325724ba675SRob Herring				interrupts = <19>;
326724ba675SRob Herring				clocks = <&clks 80>;
327724ba675SRob Herring			};
328724ba675SRob Herring
329724ba675SRob Herring			usbotg: usb@53ff4000 {
330724ba675SRob Herring				compatible = "fsl,imx35-usb", "fsl,imx27-usb";
331724ba675SRob Herring				reg = <0x53ff4000 0x0200>;
332724ba675SRob Herring				interrupts = <37>;
333724ba675SRob Herring				clocks = <&clks 9>, <&clks 73>, <&clks 28>;
334724ba675SRob Herring				clock-names = "ipg", "ahb", "per";
335724ba675SRob Herring				fsl,usbmisc = <&usbmisc 0>;
336724ba675SRob Herring				fsl,usbphy = <&usbphy0>;
337724ba675SRob Herring				status = "disabled";
338724ba675SRob Herring			};
339724ba675SRob Herring
340724ba675SRob Herring			usbhost1: usb@53ff4400 {
341724ba675SRob Herring				compatible = "fsl,imx35-usb", "fsl,imx27-usb";
342724ba675SRob Herring				reg = <0x53ff4400 0x0200>;
343724ba675SRob Herring				interrupts = <35>;
344724ba675SRob Herring				clocks = <&clks 9>, <&clks 73>, <&clks 28>;
345724ba675SRob Herring				clock-names = "ipg", "ahb", "per";
346724ba675SRob Herring				fsl,usbmisc = <&usbmisc 1>;
347724ba675SRob Herring				fsl,usbphy = <&usbphy1>;
348724ba675SRob Herring				dr_mode = "host";
349724ba675SRob Herring				status = "disabled";
350724ba675SRob Herring			};
351724ba675SRob Herring
352724ba675SRob Herring			usbmisc: usbmisc@53ff4600 {
353724ba675SRob Herring				#index-cells = <1>;
354724ba675SRob Herring				compatible = "fsl,imx35-usbmisc";
355724ba675SRob Herring				reg = <0x53ff4600 0x00f>;
356724ba675SRob Herring			};
357724ba675SRob Herring		};
358724ba675SRob Herring
359724ba675SRob Herring		emi@80000000 { /* External Memory Interface */
360724ba675SRob Herring			compatible = "fsl,emi", "simple-bus";
361724ba675SRob Herring			#address-cells = <1>;
362724ba675SRob Herring			#size-cells = <1>;
363724ba675SRob Herring			reg = <0x80000000 0x40000000>;
364724ba675SRob Herring			ranges;
365724ba675SRob Herring
366*89cedb33SKrzysztof Kozlowski			nfc: nand-controller@bb000000 {
367724ba675SRob Herring				#address-cells = <1>;
368724ba675SRob Herring				#size-cells = <1>;
369724ba675SRob Herring				compatible = "fsl,imx35-nand", "fsl,imx25-nand";
370724ba675SRob Herring				reg = <0xbb000000 0x2000>;
371724ba675SRob Herring				clocks = <&clks 29>;
372724ba675SRob Herring				clock-names = "";
373724ba675SRob Herring				interrupts = <33>;
374724ba675SRob Herring				status = "disabled";
375724ba675SRob Herring			};
376724ba675SRob Herring
377ccda9e5cSSebastian Reichel			weim: memory-controller@b8002000 {
378724ba675SRob Herring				#address-cells = <2>;
379724ba675SRob Herring				#size-cells = <1>;
380724ba675SRob Herring				clocks = <&clks 0>;
381724ba675SRob Herring				compatible = "fsl,imx35-weim", "fsl,imx27-weim";
382724ba675SRob Herring				reg = <0xb8002000 0x1000>;
383724ba675SRob Herring				ranges = <
384724ba675SRob Herring					0 0 0xa0000000 0x8000000
385724ba675SRob Herring					1 0 0xa8000000 0x8000000
386724ba675SRob Herring					2 0 0xb0000000 0x2000000
387724ba675SRob Herring					3 0 0xb2000000 0x2000000
388724ba675SRob Herring					4 0 0xb4000000 0x2000000
389724ba675SRob Herring					5 0 0xb6000000 0x2000000
390724ba675SRob Herring				>;
391724ba675SRob Herring				status = "disabled";
392724ba675SRob Herring			};
393724ba675SRob Herring		};
394724ba675SRob Herring	};
395724ba675SRob Herring
396724ba675SRob Herring	usbphy {
397724ba675SRob Herring		compatible = "simple-bus";
398724ba675SRob Herring		#address-cells = <1>;
399724ba675SRob Herring		#size-cells = <0>;
400724ba675SRob Herring
401724ba675SRob Herring		usbphy0: usb-phy@0 {
402724ba675SRob Herring			reg = <0>;
403724ba675SRob Herring			compatible = "usb-nop-xceiv";
404724ba675SRob Herring			#phy-cells = <0>;
405724ba675SRob Herring		};
406724ba675SRob Herring
407724ba675SRob Herring		usbphy1: usb-phy@1 {
408724ba675SRob Herring			reg = <1>;
409724ba675SRob Herring			compatible = "usb-nop-xceiv";
410724ba675SRob Herring			#phy-cells = <0>;
411724ba675SRob Herring		};
412724ba675SRob Herring	};
413724ba675SRob Herring};
414