Linux Audio

Check our new training course

Loading...
v4.17
  1/*
  2 * Copyright 2011 Freescale Semiconductor, Inc.
  3 * Copyright 2011 Linaro Ltd.
  4 *
  5 * The code contained herein is licensed under the GNU General Public
  6 * License. You may obtain a copy of the GNU General Public License
  7 * Version 2 or later at the following locations:
  8 *
  9 * http://www.opensource.org/licenses/gpl-license.html
 10 * http://www.gnu.org/copyleft/gpl.html
 11 */
 12
 13#include "imx53-pinfunc.h"
 14#include <dt-bindings/clock/imx5-clock.h>
 15#include <dt-bindings/gpio/gpio.h>
 16#include <dt-bindings/input/input.h>
 17#include <dt-bindings/interrupt-controller/irq.h>
 18
 19/ {
 20	#address-cells = <1>;
 21	#size-cells = <1>;
 22	/*
 23	 * The decompressor and also some bootloaders rely on a
 24	 * pre-existing /chosen node to be available to insert the
 25	 * command line and merge other ATAGS info.
 26	 * Also for U-Boot there must be a pre-existing /memory node.
 27	 */
 28	chosen {};
 29	memory { device_type = "memory"; };
 30
 31	aliases {
 32		ethernet0 = &fec;
 33		gpio0 = &gpio1;
 34		gpio1 = &gpio2;
 35		gpio2 = &gpio3;
 36		gpio3 = &gpio4;
 37		gpio4 = &gpio5;
 38		gpio5 = &gpio6;
 39		gpio6 = &gpio7;
 40		i2c0 = &i2c1;
 41		i2c1 = &i2c2;
 42		i2c2 = &i2c3;
 
 43		mmc0 = &esdhc1;
 44		mmc1 = &esdhc2;
 45		mmc2 = &esdhc3;
 46		mmc3 = &esdhc4;
 47		serial0 = &uart1;
 48		serial1 = &uart2;
 49		serial2 = &uart3;
 50		serial3 = &uart4;
 51		serial4 = &uart5;
 52		spi0 = &ecspi1;
 53		spi1 = &ecspi2;
 54		spi2 = &cspi;
 55	};
 56
 57	cpus {
 58		#address-cells = <1>;
 59		#size-cells = <0>;
 60		cpu0: cpu@0 {
 61			device_type = "cpu";
 62			compatible = "arm,cortex-a8";
 63			reg = <0x0>;
 64			clocks = <&clks IMX5_CLK_ARM>;
 65			clock-latency = <61036>;
 66			voltage-tolerance = <5>;
 67			operating-points = <
 68				/* kHz */
 69				 166666  850000
 70				 400000  900000
 71				 800000 1050000
 72				1000000 1200000
 73				1200000 1300000
 74			>;
 75		};
 76	};
 77
 78	display-subsystem {
 79		compatible = "fsl,imx-display-subsystem";
 80		ports = <&ipu_di0>, <&ipu_di1>;
 81	};
 82
 
 
 
 
 
 83	tzic: tz-interrupt-controller@fffc000 {
 84		compatible = "fsl,imx53-tzic", "fsl,tzic";
 85		interrupt-controller;
 86		#interrupt-cells = <1>;
 87		reg = <0x0fffc000 0x4000>;
 88	};
 89
 90	clocks {
 91		#address-cells = <1>;
 92		#size-cells = <0>;
 93
 94		ckil {
 95			compatible = "fsl,imx-ckil", "fixed-clock";
 96			#clock-cells = <0>;
 97			clock-frequency = <32768>;
 98		};
 99
100		ckih1 {
101			compatible = "fsl,imx-ckih1", "fixed-clock";
102			#clock-cells = <0>;
103			clock-frequency = <22579200>;
104		};
105
106		ckih2 {
107			compatible = "fsl,imx-ckih2", "fixed-clock";
108			#clock-cells = <0>;
109			clock-frequency = <0>;
110		};
111
112		osc {
113			compatible = "fsl,imx-osc", "fixed-clock";
114			#clock-cells = <0>;
115			clock-frequency = <24000000>;
116		};
117	};
118
119	pmu {
120		compatible = "arm,cortex-a8-pmu";
121		interrupt-parent = <&tzic>;
122		interrupts = <77>;
123	};
124
125	usbphy0: usbphy-0 {
126		compatible = "usb-nop-xceiv";
127		clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
128		clock-names = "main_clk";
129		#phy-cells = <0>;
130		status = "okay";
131	};
132
133	usbphy1: usbphy-1 {
134		compatible = "usb-nop-xceiv";
135		clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
136		clock-names = "main_clk";
137		#phy-cells = <0>;
138		status = "okay";
139	};
140
141	soc {
142		#address-cells = <1>;
143		#size-cells = <1>;
144		compatible = "simple-bus";
145		interrupt-parent = <&tzic>;
146		ranges;
147
148		sata: sata@10000000 {
149			compatible = "fsl,imx53-ahci";
150			reg = <0x10000000 0x1000>;
151			interrupts = <28>;
152			clocks = <&clks IMX5_CLK_SATA_GATE>,
153				 <&clks IMX5_CLK_SATA_REF>,
154				 <&clks IMX5_CLK_AHB>;
155			clock-names = "sata", "sata_ref", "ahb";
156			status = "disabled";
157		};
158
159		ipu: ipu@18000000 {
160			#address-cells = <1>;
161			#size-cells = <0>;
162			compatible = "fsl,imx53-ipu";
163			reg = <0x18000000 0x08000000>;
164			interrupts = <11 10>;
165			clocks = <&clks IMX5_CLK_IPU_GATE>,
166				 <&clks IMX5_CLK_IPU_DI0_GATE>,
167				 <&clks IMX5_CLK_IPU_DI1_GATE>;
168			clock-names = "bus", "di0", "di1";
169			resets = <&src 2>;
170
171			ipu_csi0: port@0 {
172				reg = <0>;
 
 
 
173			};
174
175			ipu_csi1: port@1 {
176				reg = <1>;
 
 
 
177			};
178
179			ipu_di0: port@2 {
180				#address-cells = <1>;
181				#size-cells = <0>;
182				reg = <2>;
183
184				ipu_di0_disp0: endpoint@0 {
185					reg = <0>;
186				};
187
188				ipu_di0_lvds0: endpoint@1 {
189					reg = <1>;
190					remote-endpoint = <&lvds0_in>;
191				};
192			};
193
194			ipu_di1: port@3 {
195				#address-cells = <1>;
196				#size-cells = <0>;
197				reg = <3>;
198
199				ipu_di1_disp1: endpoint@0 {
200					reg = <0>;
201				};
202
203				ipu_di1_lvds1: endpoint@1 {
204					reg = <1>;
205					remote-endpoint = <&lvds1_in>;
206				};
207
208				ipu_di1_tve: endpoint@2 {
209					reg = <2>;
210					remote-endpoint = <&tve_in>;
211				};
212			};
213		};
214
 
 
 
 
 
 
 
 
 
 
215		aips@50000000 { /* AIPS1 */
216			compatible = "fsl,aips-bus", "simple-bus";
217			#address-cells = <1>;
218			#size-cells = <1>;
219			reg = <0x50000000 0x10000000>;
220			ranges;
221
222			spba@50000000 {
223				compatible = "fsl,spba-bus", "simple-bus";
224				#address-cells = <1>;
225				#size-cells = <1>;
226				reg = <0x50000000 0x40000>;
227				ranges;
228
229				esdhc1: esdhc@50004000 {
230					compatible = "fsl,imx53-esdhc";
231					reg = <0x50004000 0x4000>;
232					interrupts = <1>;
233					clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
234						 <&clks IMX5_CLK_DUMMY>,
235						 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
236					clock-names = "ipg", "ahb", "per";
237					bus-width = <4>;
238					status = "disabled";
239				};
240
241				esdhc2: esdhc@50008000 {
242					compatible = "fsl,imx53-esdhc";
243					reg = <0x50008000 0x4000>;
244					interrupts = <2>;
245					clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
246						 <&clks IMX5_CLK_DUMMY>,
247						 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
248					clock-names = "ipg", "ahb", "per";
249					bus-width = <4>;
250					status = "disabled";
251				};
252
253				uart3: serial@5000c000 {
254					compatible = "fsl,imx53-uart", "fsl,imx21-uart";
255					reg = <0x5000c000 0x4000>;
256					interrupts = <33>;
257					clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
258						 <&clks IMX5_CLK_UART3_PER_GATE>;
259					clock-names = "ipg", "per";
260					dmas = <&sdma 42 4 0>, <&sdma 43 4 0>;
261					dma-names = "rx", "tx";
262					status = "disabled";
263				};
264
265				ecspi1: ecspi@50010000 {
266					#address-cells = <1>;
267					#size-cells = <0>;
268					compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
269					reg = <0x50010000 0x4000>;
270					interrupts = <36>;
271					clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
272						 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
273					clock-names = "ipg", "per";
274					status = "disabled";
275				};
276
277				ssi2: ssi@50014000 {
278					#sound-dai-cells = <0>;
279					compatible = "fsl,imx53-ssi",
280							"fsl,imx51-ssi",
281							"fsl,imx21-ssi";
282					reg = <0x50014000 0x4000>;
283					interrupts = <30>;
284					clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
285						 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
286					clock-names = "ipg", "baud";
287					dmas = <&sdma 24 1 0>,
288					       <&sdma 25 1 0>;
289					dma-names = "rx", "tx";
290					fsl,fifo-depth = <15>;
291					status = "disabled";
292				};
293
294				esdhc3: esdhc@50020000 {
295					compatible = "fsl,imx53-esdhc";
296					reg = <0x50020000 0x4000>;
297					interrupts = <3>;
298					clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
299						 <&clks IMX5_CLK_DUMMY>,
300						 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
301					clock-names = "ipg", "ahb", "per";
302					bus-width = <4>;
303					status = "disabled";
304				};
305
306				esdhc4: esdhc@50024000 {
307					compatible = "fsl,imx53-esdhc";
308					reg = <0x50024000 0x4000>;
309					interrupts = <4>;
310					clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
311						 <&clks IMX5_CLK_DUMMY>,
312						 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
313					clock-names = "ipg", "ahb", "per";
314					bus-width = <4>;
315					status = "disabled";
316				};
317			};
318
319			aipstz1: bridge@53f00000 {
320				compatible = "fsl,imx53-aipstz";
321				reg = <0x53f00000 0x60>;
322			};
323
324			usbotg: usb@53f80000 {
325				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
326				reg = <0x53f80000 0x0200>;
327				interrupts = <18>;
328				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
329				fsl,usbmisc = <&usbmisc 0>;
330				fsl,usbphy = <&usbphy0>;
331				status = "disabled";
332			};
333
334			usbh1: usb@53f80200 {
335				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
336				reg = <0x53f80200 0x0200>;
337				interrupts = <14>;
338				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
339				fsl,usbmisc = <&usbmisc 1>;
340				fsl,usbphy = <&usbphy1>;
341				dr_mode = "host";
342				status = "disabled";
343			};
344
345			usbh2: usb@53f80400 {
346				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
347				reg = <0x53f80400 0x0200>;
348				interrupts = <16>;
349				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
350				fsl,usbmisc = <&usbmisc 2>;
351				dr_mode = "host";
352				status = "disabled";
353			};
354
355			usbh3: usb@53f80600 {
356				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
357				reg = <0x53f80600 0x0200>;
358				interrupts = <17>;
359				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
360				fsl,usbmisc = <&usbmisc 3>;
361				dr_mode = "host";
362				status = "disabled";
363			};
364
365			usbmisc: usbmisc@53f80800 {
366				#index-cells = <1>;
367				compatible = "fsl,imx53-usbmisc";
368				reg = <0x53f80800 0x200>;
369				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
370			};
371
372			gpio1: gpio@53f84000 {
373				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
374				reg = <0x53f84000 0x4000>;
375				interrupts = <50 51>;
376				gpio-controller;
377				#gpio-cells = <2>;
378				interrupt-controller;
379				#interrupt-cells = <2>;
380			};
381
382			gpio2: gpio@53f88000 {
383				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
384				reg = <0x53f88000 0x4000>;
385				interrupts = <52 53>;
386				gpio-controller;
387				#gpio-cells = <2>;
388				interrupt-controller;
389				#interrupt-cells = <2>;
390			};
391
392			gpio3: gpio@53f8c000 {
393				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
394				reg = <0x53f8c000 0x4000>;
395				interrupts = <54 55>;
396				gpio-controller;
397				#gpio-cells = <2>;
398				interrupt-controller;
399				#interrupt-cells = <2>;
400			};
401
402			gpio4: gpio@53f90000 {
403				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
404				reg = <0x53f90000 0x4000>;
405				interrupts = <56 57>;
406				gpio-controller;
407				#gpio-cells = <2>;
408				interrupt-controller;
409				#interrupt-cells = <2>;
410			};
411
412			kpp: kpp@53f94000 {
413				compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
414				reg = <0x53f94000 0x4000>;
415				interrupts = <60>;
416				clocks = <&clks IMX5_CLK_DUMMY>;
417				status = "disabled";
418			};
419
420			wdog1: wdog@53f98000 {
421				compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
422				reg = <0x53f98000 0x4000>;
423				interrupts = <58>;
424				clocks = <&clks IMX5_CLK_DUMMY>;
425			};
426
427			wdog2: wdog@53f9c000 {
428				compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
429				reg = <0x53f9c000 0x4000>;
430				interrupts = <59>;
431				clocks = <&clks IMX5_CLK_DUMMY>;
432				status = "disabled";
433			};
434
435			gpt: timer@53fa0000 {
436				compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
437				reg = <0x53fa0000 0x4000>;
438				interrupts = <39>;
439				clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
440					 <&clks IMX5_CLK_GPT_HF_GATE>;
441				clock-names = "ipg", "per";
442			};
443
444			srtc: rtc@53fa4000 {
445				compatible = "fsl,imx53-rtc";
446				reg = <0x53fa4000 0x4000>;
447				interrupts = <24>;
448				clocks = <&clks IMX5_CLK_SRTC_GATE>;
449			};
450
451			iomuxc: iomuxc@53fa8000 {
452				compatible = "fsl,imx53-iomuxc";
453				reg = <0x53fa8000 0x4000>;
454			};
455
456			gpr: iomuxc-gpr@53fa8000 {
457				compatible = "fsl,imx53-iomuxc-gpr", "syscon";
458				reg = <0x53fa8000 0xc>;
459			};
460
461			ldb: ldb@53fa8008 {
462				#address-cells = <1>;
463				#size-cells = <0>;
464				compatible = "fsl,imx53-ldb";
465				reg = <0x53fa8008 0x4>;
466				gpr = <&gpr>;
467				clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
468					 <&clks IMX5_CLK_LDB_DI1_SEL>,
469					 <&clks IMX5_CLK_IPU_DI0_SEL>,
470					 <&clks IMX5_CLK_IPU_DI1_SEL>,
471					 <&clks IMX5_CLK_LDB_DI0_GATE>,
472					 <&clks IMX5_CLK_LDB_DI1_GATE>;
473				clock-names = "di0_pll", "di1_pll",
474					      "di0_sel", "di1_sel",
475					      "di0", "di1";
476				status = "disabled";
477
478				lvds-channel@0 {
479					#address-cells = <1>;
480					#size-cells = <0>;
481					reg = <0>;
482					status = "disabled";
483
484					port@0 {
485						reg = <0>;
486
487						lvds0_in: endpoint {
488							remote-endpoint = <&ipu_di0_lvds0>;
489						};
490					};
 
 
 
 
491				};
492
493				lvds-channel@1 {
494					#address-cells = <1>;
495					#size-cells = <0>;
496					reg = <1>;
497					status = "disabled";
498
499					port@1 {
500						reg = <1>;
501
502						lvds1_in: endpoint {
503							remote-endpoint = <&ipu_di1_lvds1>;
504						};
505					};
 
 
 
 
506				};
507			};
508
509			pwm1: pwm@53fb4000 {
510				#pwm-cells = <2>;
511				compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
512				reg = <0x53fb4000 0x4000>;
513				clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
514					 <&clks IMX5_CLK_PWM1_HF_GATE>;
515				clock-names = "ipg", "per";
516				interrupts = <61>;
517			};
518
519			pwm2: pwm@53fb8000 {
520				#pwm-cells = <2>;
521				compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
522				reg = <0x53fb8000 0x4000>;
523				clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
524					 <&clks IMX5_CLK_PWM2_HF_GATE>;
525				clock-names = "ipg", "per";
526				interrupts = <94>;
527			};
528
529			uart1: serial@53fbc000 {
530				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
531				reg = <0x53fbc000 0x4000>;
532				interrupts = <31>;
533				clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
534					 <&clks IMX5_CLK_UART1_PER_GATE>;
535				clock-names = "ipg", "per";
536				dmas = <&sdma 18 4 0>, <&sdma 19 4 0>;
537				dma-names = "rx", "tx";
538				status = "disabled";
539			};
540
541			uart2: serial@53fc0000 {
542				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
543				reg = <0x53fc0000 0x4000>;
544				interrupts = <32>;
545				clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
546					 <&clks IMX5_CLK_UART2_PER_GATE>;
547				clock-names = "ipg", "per";
548				dmas = <&sdma 12 4 0>, <&sdma 13 4 0>;
549				dma-names = "rx", "tx";
550				status = "disabled";
551			};
552
553			can1: can@53fc8000 {
554				compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
555				reg = <0x53fc8000 0x4000>;
556				interrupts = <82>;
557				clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
558					 <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
559				clock-names = "ipg", "per";
560				status = "disabled";
561			};
562
563			can2: can@53fcc000 {
564				compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
565				reg = <0x53fcc000 0x4000>;
566				interrupts = <83>;
567				clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
568					 <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
569				clock-names = "ipg", "per";
570				status = "disabled";
571			};
572
573			src: src@53fd0000 {
574				compatible = "fsl,imx53-src", "fsl,imx51-src";
575				reg = <0x53fd0000 0x4000>;
576				#reset-cells = <1>;
577			};
578
579			clks: ccm@53fd4000{
580				compatible = "fsl,imx53-ccm";
581				reg = <0x53fd4000 0x4000>;
582				interrupts = <0 71 0x04 0 72 0x04>;
583				#clock-cells = <1>;
584			};
585
586			gpio5: gpio@53fdc000 {
587				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
588				reg = <0x53fdc000 0x4000>;
589				interrupts = <103 104>;
590				gpio-controller;
591				#gpio-cells = <2>;
592				interrupt-controller;
593				#interrupt-cells = <2>;
594			};
595
596			gpio6: gpio@53fe0000 {
597				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
598				reg = <0x53fe0000 0x4000>;
599				interrupts = <105 106>;
600				gpio-controller;
601				#gpio-cells = <2>;
602				interrupt-controller;
603				#interrupt-cells = <2>;
604			};
605
606			gpio7: gpio@53fe4000 {
607				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
608				reg = <0x53fe4000 0x4000>;
609				interrupts = <107 108>;
610				gpio-controller;
611				#gpio-cells = <2>;
612				interrupt-controller;
613				#interrupt-cells = <2>;
614			};
615
616			i2c3: i2c@53fec000 {
617				#address-cells = <1>;
618				#size-cells = <0>;
619				compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
620				reg = <0x53fec000 0x4000>;
621				interrupts = <64>;
622				clocks = <&clks IMX5_CLK_I2C3_GATE>;
623				status = "disabled";
624			};
625
626			uart4: serial@53ff0000 {
627				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
628				reg = <0x53ff0000 0x4000>;
629				interrupts = <13>;
630				clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
631					 <&clks IMX5_CLK_UART4_PER_GATE>;
632				clock-names = "ipg", "per";
633				dmas = <&sdma 2 4 0>, <&sdma 3 4 0>;
634				dma-names = "rx", "tx";
635				status = "disabled";
636			};
637		};
638
639		aips@60000000 {	/* AIPS2 */
640			compatible = "fsl,aips-bus", "simple-bus";
641			#address-cells = <1>;
642			#size-cells = <1>;
643			reg = <0x60000000 0x10000000>;
644			ranges;
645
646			aipstz2: bridge@63f00000 {
647				compatible = "fsl,imx53-aipstz";
648				reg = <0x63f00000 0x60>;
649			};
650
651			iim: iim@63f98000 {
652				compatible = "fsl,imx53-iim", "fsl,imx27-iim";
653				reg = <0x63f98000 0x4000>;
654				interrupts = <69>;
655				clocks = <&clks IMX5_CLK_IIM_GATE>;
656			};
657
658			uart5: serial@63f90000 {
659				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
660				reg = <0x63f90000 0x4000>;
661				interrupts = <86>;
662				clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
663					 <&clks IMX5_CLK_UART5_PER_GATE>;
664				clock-names = "ipg", "per";
665				dmas = <&sdma 16 4 0>, <&sdma 17 4 0>;
666				dma-names = "rx", "tx";
667				status = "disabled";
668			};
669
 
 
 
 
 
670			owire: owire@63fa4000 {
671				compatible = "fsl,imx53-owire", "fsl,imx21-owire";
672				reg = <0x63fa4000 0x4000>;
673				clocks = <&clks IMX5_CLK_OWIRE_GATE>;
674				status = "disabled";
675			};
676
677			ecspi2: ecspi@63fac000 {
678				#address-cells = <1>;
679				#size-cells = <0>;
680				compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
681				reg = <0x63fac000 0x4000>;
682				interrupts = <37>;
683				clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
684					 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
685				clock-names = "ipg", "per";
686				status = "disabled";
687			};
688
689			sdma: sdma@63fb0000 {
690				compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
691				reg = <0x63fb0000 0x4000>;
692				interrupts = <6>;
693				clocks = <&clks IMX5_CLK_SDMA_GATE>,
694					 <&clks IMX5_CLK_SDMA_GATE>;
695				clock-names = "ipg", "ahb";
696				#dma-cells = <3>;
697				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
698			};
699
700			cspi: cspi@63fc0000 {
701				#address-cells = <1>;
702				#size-cells = <0>;
703				compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
704				reg = <0x63fc0000 0x4000>;
705				interrupts = <38>;
706				clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
707					 <&clks IMX5_CLK_CSPI_IPG_GATE>;
708				clock-names = "ipg", "per";
709				status = "disabled";
710			};
711
712			i2c2: i2c@63fc4000 {
713				#address-cells = <1>;
714				#size-cells = <0>;
715				compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
716				reg = <0x63fc4000 0x4000>;
717				interrupts = <63>;
718				clocks = <&clks IMX5_CLK_I2C2_GATE>;
719				status = "disabled";
720			};
721
722			i2c1: i2c@63fc8000 {
723				#address-cells = <1>;
724				#size-cells = <0>;
725				compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
726				reg = <0x63fc8000 0x4000>;
727				interrupts = <62>;
728				clocks = <&clks IMX5_CLK_I2C1_GATE>;
729				status = "disabled";
730			};
731
732			ssi1: ssi@63fcc000 {
733				#sound-dai-cells = <0>;
734				compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
735						"fsl,imx21-ssi";
736				reg = <0x63fcc000 0x4000>;
737				interrupts = <29>;
738				clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
739					 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
740				clock-names = "ipg", "baud";
741				dmas = <&sdma 28 0 0>,
742				       <&sdma 29 0 0>;
743				dma-names = "rx", "tx";
744				fsl,fifo-depth = <15>;
745				status = "disabled";
746			};
747
748			audmux: audmux@63fd0000 {
749				compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
750				reg = <0x63fd0000 0x4000>;
751				status = "disabled";
752			};
753
754			nfc: nand@63fdb000 {
755				compatible = "fsl,imx53-nand";
756				reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
757				interrupts = <8>;
758				clocks = <&clks IMX5_CLK_NFC_GATE>;
759				status = "disabled";
760			};
761
762			ssi3: ssi@63fe8000 {
763				#sound-dai-cells = <0>;
764				compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
765						"fsl,imx21-ssi";
766				reg = <0x63fe8000 0x4000>;
767				interrupts = <96>;
768				clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
769					 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
770				clock-names = "ipg", "baud";
771				dmas = <&sdma 46 0 0>,
772				       <&sdma 47 0 0>;
773				dma-names = "rx", "tx";
774				fsl,fifo-depth = <15>;
775				status = "disabled";
776			};
777
778			fec: ethernet@63fec000 {
779				compatible = "fsl,imx53-fec", "fsl,imx25-fec";
780				reg = <0x63fec000 0x4000>;
781				interrupts = <87>;
782				clocks = <&clks IMX5_CLK_FEC_GATE>,
783					 <&clks IMX5_CLK_FEC_GATE>,
784					 <&clks IMX5_CLK_FEC_GATE>;
785				clock-names = "ipg", "ahb", "ptp";
786				status = "disabled";
787			};
788
789			tve: tve@63ff0000 {
790				compatible = "fsl,imx53-tve";
791				reg = <0x63ff0000 0x1000>;
792				interrupts = <92>;
793				clocks = <&clks IMX5_CLK_TVE_GATE>,
794					 <&clks IMX5_CLK_IPU_DI1_SEL>;
795				clock-names = "tve", "di_sel";
796				status = "disabled";
797
798				port {
799					tve_in: endpoint {
800						remote-endpoint = <&ipu_di1_tve>;
801					};
802				};
803			};
804
805			vpu: vpu@63ff4000 {
806				compatible = "fsl,imx53-vpu", "cnm,coda7541";
807				reg = <0x63ff4000 0x1000>;
808				interrupts = <9>;
809				clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
810					 <&clks IMX5_CLK_VPU_GATE>;
811				clock-names = "per", "ahb";
812				resets = <&src 1>;
813				iram = <&ocram>;
814			};
815
816			sahara: crypto@63ff8000 {
817				compatible = "fsl,imx53-sahara";
818				reg = <0x63ff8000 0x4000>;
819				interrupts = <19 20>;
820				clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
821					 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
822				clock-names = "ipg", "ahb";
823			};
824		};
825
826		ocram: sram@f8000000 {
827			compatible = "mmio-sram";
828			reg = <0xf8000000 0x20000>;
829			clocks = <&clks IMX5_CLK_OCRAM>;
830		};
831	};
832};
v5.4
  1// SPDX-License-Identifier: GPL-2.0+
  2//
  3// Copyright 2011 Freescale Semiconductor, Inc.
  4// Copyright 2011 Linaro Ltd.
 
 
 
 
 
 
 
  5
  6#include "imx53-pinfunc.h"
  7#include <dt-bindings/clock/imx5-clock.h>
  8#include <dt-bindings/gpio/gpio.h>
  9#include <dt-bindings/input/input.h>
 10#include <dt-bindings/interrupt-controller/irq.h>
 11
 12/ {
 13	#address-cells = <1>;
 14	#size-cells = <1>;
 15	/*
 16	 * The decompressor and also some bootloaders rely on a
 17	 * pre-existing /chosen node to be available to insert the
 18	 * command line and merge other ATAGS info.
 
 19	 */
 20	chosen {};
 
 21
 22	aliases {
 23		ethernet0 = &fec;
 24		gpio0 = &gpio1;
 25		gpio1 = &gpio2;
 26		gpio2 = &gpio3;
 27		gpio3 = &gpio4;
 28		gpio4 = &gpio5;
 29		gpio5 = &gpio6;
 30		gpio6 = &gpio7;
 31		i2c0 = &i2c1;
 32		i2c1 = &i2c2;
 33		i2c2 = &i2c3;
 34		ipu0 = &ipu;
 35		mmc0 = &esdhc1;
 36		mmc1 = &esdhc2;
 37		mmc2 = &esdhc3;
 38		mmc3 = &esdhc4;
 39		serial0 = &uart1;
 40		serial1 = &uart2;
 41		serial2 = &uart3;
 42		serial3 = &uart4;
 43		serial4 = &uart5;
 44		spi0 = &ecspi1;
 45		spi1 = &ecspi2;
 46		spi2 = &cspi;
 47	};
 48
 49	cpus {
 50		#address-cells = <1>;
 51		#size-cells = <0>;
 52		cpu0: cpu@0 {
 53			device_type = "cpu";
 54			compatible = "arm,cortex-a8";
 55			reg = <0x0>;
 56			clocks = <&clks IMX5_CLK_ARM>;
 57			clock-latency = <61036>;
 58			voltage-tolerance = <5>;
 59			operating-points = <
 60				/* kHz */
 61				 166666  850000
 62				 400000  900000
 63				 800000 1050000
 64				1000000 1200000
 65				1200000 1300000
 66			>;
 67		};
 68	};
 69
 70	display-subsystem {
 71		compatible = "fsl,imx-display-subsystem";
 72		ports = <&ipu_di0>, <&ipu_di1>;
 73	};
 74
 75	capture_subsystem {
 76		compatible = "fsl,imx-capture-subsystem";
 77		ports = <&ipu_csi0>, <&ipu_csi1>;
 78	};
 79
 80	tzic: tz-interrupt-controller@fffc000 {
 81		compatible = "fsl,imx53-tzic", "fsl,tzic";
 82		interrupt-controller;
 83		#interrupt-cells = <1>;
 84		reg = <0x0fffc000 0x4000>;
 85	};
 86
 87	clocks {
 
 
 
 88		ckil {
 89			compatible = "fsl,imx-ckil", "fixed-clock";
 90			#clock-cells = <0>;
 91			clock-frequency = <32768>;
 92		};
 93
 94		ckih1 {
 95			compatible = "fsl,imx-ckih1", "fixed-clock";
 96			#clock-cells = <0>;
 97			clock-frequency = <22579200>;
 98		};
 99
100		ckih2 {
101			compatible = "fsl,imx-ckih2", "fixed-clock";
102			#clock-cells = <0>;
103			clock-frequency = <0>;
104		};
105
106		osc {
107			compatible = "fsl,imx-osc", "fixed-clock";
108			#clock-cells = <0>;
109			clock-frequency = <24000000>;
110		};
111	};
112
113	pmu: pmu {
114		compatible = "arm,cortex-a8-pmu";
115		interrupt-parent = <&tzic>;
116		interrupts = <77>;
117	};
118
119	usbphy0: usbphy-0 {
120		compatible = "usb-nop-xceiv";
121		clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
122		clock-names = "main_clk";
123		#phy-cells = <0>;
124		status = "okay";
125	};
126
127	usbphy1: usbphy-1 {
128		compatible = "usb-nop-xceiv";
129		clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
130		clock-names = "main_clk";
131		#phy-cells = <0>;
132		status = "okay";
133	};
134
135	soc {
136		#address-cells = <1>;
137		#size-cells = <1>;
138		compatible = "simple-bus";
139		interrupt-parent = <&tzic>;
140		ranges;
141
142		sata: sata@10000000 {
143			compatible = "fsl,imx53-ahci";
144			reg = <0x10000000 0x1000>;
145			interrupts = <28>;
146			clocks = <&clks IMX5_CLK_SATA_GATE>,
147				 <&clks IMX5_CLK_SATA_REF>,
148				 <&clks IMX5_CLK_AHB>;
149			clock-names = "sata", "sata_ref", "ahb";
150			status = "disabled";
151		};
152
153		ipu: ipu@18000000 {
154			#address-cells = <1>;
155			#size-cells = <0>;
156			compatible = "fsl,imx53-ipu";
157			reg = <0x18000000 0x08000000>;
158			interrupts = <11 10>;
159			clocks = <&clks IMX5_CLK_IPU_GATE>,
160				 <&clks IMX5_CLK_IPU_DI0_GATE>,
161				 <&clks IMX5_CLK_IPU_DI1_GATE>;
162			clock-names = "bus", "di0", "di1";
163			resets = <&src 2>;
164
165			ipu_csi0: port@0 {
166				reg = <0>;
167
168				ipu_csi0_from_parallel_sensor: endpoint {
169				};
170			};
171
172			ipu_csi1: port@1 {
173				reg = <1>;
174
175				ipu_csi1_from_parallel_sensor: endpoint {
176				};
177			};
178
179			ipu_di0: port@2 {
180				#address-cells = <1>;
181				#size-cells = <0>;
182				reg = <2>;
183
184				ipu_di0_disp0: endpoint@0 {
185					reg = <0>;
186				};
187
188				ipu_di0_lvds0: endpoint@1 {
189					reg = <1>;
190					remote-endpoint = <&lvds0_in>;
191				};
192			};
193
194			ipu_di1: port@3 {
195				#address-cells = <1>;
196				#size-cells = <0>;
197				reg = <3>;
198
199				ipu_di1_disp1: endpoint@0 {
200					reg = <0>;
201				};
202
203				ipu_di1_lvds1: endpoint@1 {
204					reg = <1>;
205					remote-endpoint = <&lvds1_in>;
206				};
207
208				ipu_di1_tve: endpoint@2 {
209					reg = <2>;
210					remote-endpoint = <&tve_in>;
211				};
212			};
213		};
214
215		gpu: gpu@30000000 {
216			compatible = "amd,imageon-200.0", "amd,imageon";
217			reg = <0x30000000 0x20000>;
218			reg-names = "kgsl_3d0_reg_memory";
219			interrupts = <12>;
220			interrupt-names = "kgsl_3d0_irq";
221			clocks = <&clks IMX5_CLK_GPU3D_GATE>, <&clks IMX5_CLK_GARB_GATE>;
222			clock-names = "core_clk", "mem_iface_clk";
223		};
224
225		aips@50000000 { /* AIPS1 */
226			compatible = "fsl,aips-bus", "simple-bus";
227			#address-cells = <1>;
228			#size-cells = <1>;
229			reg = <0x50000000 0x10000000>;
230			ranges;
231
232			spba@50000000 {
233				compatible = "fsl,spba-bus", "simple-bus";
234				#address-cells = <1>;
235				#size-cells = <1>;
236				reg = <0x50000000 0x40000>;
237				ranges;
238
239				esdhc1: esdhc@50004000 {
240					compatible = "fsl,imx53-esdhc";
241					reg = <0x50004000 0x4000>;
242					interrupts = <1>;
243					clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
244						 <&clks IMX5_CLK_DUMMY>,
245						 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
246					clock-names = "ipg", "ahb", "per";
247					bus-width = <4>;
248					status = "disabled";
249				};
250
251				esdhc2: esdhc@50008000 {
252					compatible = "fsl,imx53-esdhc";
253					reg = <0x50008000 0x4000>;
254					interrupts = <2>;
255					clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
256						 <&clks IMX5_CLK_DUMMY>,
257						 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
258					clock-names = "ipg", "ahb", "per";
259					bus-width = <4>;
260					status = "disabled";
261				};
262
263				uart3: serial@5000c000 {
264					compatible = "fsl,imx53-uart", "fsl,imx21-uart";
265					reg = <0x5000c000 0x4000>;
266					interrupts = <33>;
267					clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
268						 <&clks IMX5_CLK_UART3_PER_GATE>;
269					clock-names = "ipg", "per";
270					dmas = <&sdma 42 4 0>, <&sdma 43 4 0>;
271					dma-names = "rx", "tx";
272					status = "disabled";
273				};
274
275				ecspi1: spi@50010000 {
276					#address-cells = <1>;
277					#size-cells = <0>;
278					compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
279					reg = <0x50010000 0x4000>;
280					interrupts = <36>;
281					clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
282						 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
283					clock-names = "ipg", "per";
284					status = "disabled";
285				};
286
287				ssi2: ssi@50014000 {
288					#sound-dai-cells = <0>;
289					compatible = "fsl,imx53-ssi",
290							"fsl,imx51-ssi",
291							"fsl,imx21-ssi";
292					reg = <0x50014000 0x4000>;
293					interrupts = <30>;
294					clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
295						 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
296					clock-names = "ipg", "baud";
297					dmas = <&sdma 24 1 0>,
298					       <&sdma 25 1 0>;
299					dma-names = "rx", "tx";
300					fsl,fifo-depth = <15>;
301					status = "disabled";
302				};
303
304				esdhc3: esdhc@50020000 {
305					compatible = "fsl,imx53-esdhc";
306					reg = <0x50020000 0x4000>;
307					interrupts = <3>;
308					clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
309						 <&clks IMX5_CLK_DUMMY>,
310						 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
311					clock-names = "ipg", "ahb", "per";
312					bus-width = <4>;
313					status = "disabled";
314				};
315
316				esdhc4: esdhc@50024000 {
317					compatible = "fsl,imx53-esdhc";
318					reg = <0x50024000 0x4000>;
319					interrupts = <4>;
320					clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
321						 <&clks IMX5_CLK_DUMMY>,
322						 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
323					clock-names = "ipg", "ahb", "per";
324					bus-width = <4>;
325					status = "disabled";
326				};
327			};
328
329			aipstz1: bridge@53f00000 {
330				compatible = "fsl,imx53-aipstz";
331				reg = <0x53f00000 0x60>;
332			};
333
334			usbotg: usb@53f80000 {
335				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
336				reg = <0x53f80000 0x0200>;
337				interrupts = <18>;
338				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
339				fsl,usbmisc = <&usbmisc 0>;
340				fsl,usbphy = <&usbphy0>;
341				status = "disabled";
342			};
343
344			usbh1: usb@53f80200 {
345				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
346				reg = <0x53f80200 0x0200>;
347				interrupts = <14>;
348				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
349				fsl,usbmisc = <&usbmisc 1>;
350				fsl,usbphy = <&usbphy1>;
351				dr_mode = "host";
352				status = "disabled";
353			};
354
355			usbh2: usb@53f80400 {
356				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
357				reg = <0x53f80400 0x0200>;
358				interrupts = <16>;
359				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
360				fsl,usbmisc = <&usbmisc 2>;
361				dr_mode = "host";
362				status = "disabled";
363			};
364
365			usbh3: usb@53f80600 {
366				compatible = "fsl,imx53-usb", "fsl,imx27-usb";
367				reg = <0x53f80600 0x0200>;
368				interrupts = <17>;
369				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
370				fsl,usbmisc = <&usbmisc 3>;
371				dr_mode = "host";
372				status = "disabled";
373			};
374
375			usbmisc: usbmisc@53f80800 {
376				#index-cells = <1>;
377				compatible = "fsl,imx53-usbmisc";
378				reg = <0x53f80800 0x200>;
379				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
380			};
381
382			gpio1: gpio@53f84000 {
383				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
384				reg = <0x53f84000 0x4000>;
385				interrupts = <50 51>;
386				gpio-controller;
387				#gpio-cells = <2>;
388				interrupt-controller;
389				#interrupt-cells = <2>;
390			};
391
392			gpio2: gpio@53f88000 {
393				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
394				reg = <0x53f88000 0x4000>;
395				interrupts = <52 53>;
396				gpio-controller;
397				#gpio-cells = <2>;
398				interrupt-controller;
399				#interrupt-cells = <2>;
400			};
401
402			gpio3: gpio@53f8c000 {
403				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
404				reg = <0x53f8c000 0x4000>;
405				interrupts = <54 55>;
406				gpio-controller;
407				#gpio-cells = <2>;
408				interrupt-controller;
409				#interrupt-cells = <2>;
410			};
411
412			gpio4: gpio@53f90000 {
413				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
414				reg = <0x53f90000 0x4000>;
415				interrupts = <56 57>;
416				gpio-controller;
417				#gpio-cells = <2>;
418				interrupt-controller;
419				#interrupt-cells = <2>;
420			};
421
422			kpp: kpp@53f94000 {
423				compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
424				reg = <0x53f94000 0x4000>;
425				interrupts = <60>;
426				clocks = <&clks IMX5_CLK_DUMMY>;
427				status = "disabled";
428			};
429
430			wdog1: wdog@53f98000 {
431				compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
432				reg = <0x53f98000 0x4000>;
433				interrupts = <58>;
434				clocks = <&clks IMX5_CLK_DUMMY>;
435			};
436
437			wdog2: wdog@53f9c000 {
438				compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
439				reg = <0x53f9c000 0x4000>;
440				interrupts = <59>;
441				clocks = <&clks IMX5_CLK_DUMMY>;
442				status = "disabled";
443			};
444
445			gpt: timer@53fa0000 {
446				compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
447				reg = <0x53fa0000 0x4000>;
448				interrupts = <39>;
449				clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
450					 <&clks IMX5_CLK_GPT_HF_GATE>;
451				clock-names = "ipg", "per";
452			};
453
454			srtc: rtc@53fa4000 {
455				compatible = "fsl,imx53-rtc";
456				reg = <0x53fa4000 0x4000>;
457				interrupts = <24>;
458				clocks = <&clks IMX5_CLK_SRTC_GATE>;
459			};
460
461			iomuxc: iomuxc@53fa8000 {
462				compatible = "fsl,imx53-iomuxc";
463				reg = <0x53fa8000 0x4000>;
464			};
465
466			gpr: iomuxc-gpr@53fa8000 {
467				compatible = "fsl,imx53-iomuxc-gpr", "syscon";
468				reg = <0x53fa8000 0xc>;
469			};
470
471			ldb: ldb@53fa8008 {
472				#address-cells = <1>;
473				#size-cells = <0>;
474				compatible = "fsl,imx53-ldb";
475				reg = <0x53fa8008 0x4>;
476				gpr = <&gpr>;
477				clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
478					 <&clks IMX5_CLK_LDB_DI1_SEL>,
479					 <&clks IMX5_CLK_IPU_DI0_SEL>,
480					 <&clks IMX5_CLK_IPU_DI1_SEL>,
481					 <&clks IMX5_CLK_LDB_DI0_GATE>,
482					 <&clks IMX5_CLK_LDB_DI1_GATE>;
483				clock-names = "di0_pll", "di1_pll",
484					      "di0_sel", "di1_sel",
485					      "di0", "di1";
486				status = "disabled";
487
488				lvds-channel@0 {
489					#address-cells = <1>;
490					#size-cells = <0>;
491					reg = <0>;
492					status = "disabled";
493
494					port@0 {
495						reg = <0>;
496
497						lvds0_in: endpoint {
498							remote-endpoint = <&ipu_di0_lvds0>;
499						};
500					};
501
502					port@2 {
503						reg = <2>;
504					};
505				};
506
507				lvds-channel@1 {
508					#address-cells = <1>;
509					#size-cells = <0>;
510					reg = <1>;
511					status = "disabled";
512
513					port@1 {
514						reg = <1>;
515
516						lvds1_in: endpoint {
517							remote-endpoint = <&ipu_di1_lvds1>;
518						};
519					};
520
521					port@2 {
522						reg = <2>;
523					};
524				};
525			};
526
527			pwm1: pwm@53fb4000 {
528				#pwm-cells = <2>;
529				compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
530				reg = <0x53fb4000 0x4000>;
531				clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
532					 <&clks IMX5_CLK_PWM1_HF_GATE>;
533				clock-names = "ipg", "per";
534				interrupts = <61>;
535			};
536
537			pwm2: pwm@53fb8000 {
538				#pwm-cells = <2>;
539				compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
540				reg = <0x53fb8000 0x4000>;
541				clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
542					 <&clks IMX5_CLK_PWM2_HF_GATE>;
543				clock-names = "ipg", "per";
544				interrupts = <94>;
545			};
546
547			uart1: serial@53fbc000 {
548				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
549				reg = <0x53fbc000 0x4000>;
550				interrupts = <31>;
551				clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
552					 <&clks IMX5_CLK_UART1_PER_GATE>;
553				clock-names = "ipg", "per";
554				dmas = <&sdma 18 4 0>, <&sdma 19 4 0>;
555				dma-names = "rx", "tx";
556				status = "disabled";
557			};
558
559			uart2: serial@53fc0000 {
560				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
561				reg = <0x53fc0000 0x4000>;
562				interrupts = <32>;
563				clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
564					 <&clks IMX5_CLK_UART2_PER_GATE>;
565				clock-names = "ipg", "per";
566				dmas = <&sdma 12 4 0>, <&sdma 13 4 0>;
567				dma-names = "rx", "tx";
568				status = "disabled";
569			};
570
571			can1: can@53fc8000 {
572				compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
573				reg = <0x53fc8000 0x4000>;
574				interrupts = <82>;
575				clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
576					 <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
577				clock-names = "ipg", "per";
578				status = "disabled";
579			};
580
581			can2: can@53fcc000 {
582				compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
583				reg = <0x53fcc000 0x4000>;
584				interrupts = <83>;
585				clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
586					 <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
587				clock-names = "ipg", "per";
588				status = "disabled";
589			};
590
591			src: src@53fd0000 {
592				compatible = "fsl,imx53-src", "fsl,imx51-src";
593				reg = <0x53fd0000 0x4000>;
594				#reset-cells = <1>;
595			};
596
597			clks: ccm@53fd4000{
598				compatible = "fsl,imx53-ccm";
599				reg = <0x53fd4000 0x4000>;
600				interrupts = <0 71 0x04 0 72 0x04>;
601				#clock-cells = <1>;
602			};
603
604			gpio5: gpio@53fdc000 {
605				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
606				reg = <0x53fdc000 0x4000>;
607				interrupts = <103 104>;
608				gpio-controller;
609				#gpio-cells = <2>;
610				interrupt-controller;
611				#interrupt-cells = <2>;
612			};
613
614			gpio6: gpio@53fe0000 {
615				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
616				reg = <0x53fe0000 0x4000>;
617				interrupts = <105 106>;
618				gpio-controller;
619				#gpio-cells = <2>;
620				interrupt-controller;
621				#interrupt-cells = <2>;
622			};
623
624			gpio7: gpio@53fe4000 {
625				compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
626				reg = <0x53fe4000 0x4000>;
627				interrupts = <107 108>;
628				gpio-controller;
629				#gpio-cells = <2>;
630				interrupt-controller;
631				#interrupt-cells = <2>;
632			};
633
634			i2c3: i2c@53fec000 {
635				#address-cells = <1>;
636				#size-cells = <0>;
637				compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
638				reg = <0x53fec000 0x4000>;
639				interrupts = <64>;
640				clocks = <&clks IMX5_CLK_I2C3_GATE>;
641				status = "disabled";
642			};
643
644			uart4: serial@53ff0000 {
645				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
646				reg = <0x53ff0000 0x4000>;
647				interrupts = <13>;
648				clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
649					 <&clks IMX5_CLK_UART4_PER_GATE>;
650				clock-names = "ipg", "per";
651				dmas = <&sdma 2 4 0>, <&sdma 3 4 0>;
652				dma-names = "rx", "tx";
653				status = "disabled";
654			};
655		};
656
657		aips@60000000 {	/* AIPS2 */
658			compatible = "fsl,aips-bus", "simple-bus";
659			#address-cells = <1>;
660			#size-cells = <1>;
661			reg = <0x60000000 0x10000000>;
662			ranges;
663
664			aipstz2: bridge@63f00000 {
665				compatible = "fsl,imx53-aipstz";
666				reg = <0x63f00000 0x60>;
667			};
668
669			iim: iim@63f98000 {
670				compatible = "fsl,imx53-iim", "fsl,imx27-iim";
671				reg = <0x63f98000 0x4000>;
672				interrupts = <69>;
673				clocks = <&clks IMX5_CLK_IIM_GATE>;
674			};
675
676			uart5: serial@63f90000 {
677				compatible = "fsl,imx53-uart", "fsl,imx21-uart";
678				reg = <0x63f90000 0x4000>;
679				interrupts = <86>;
680				clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
681					 <&clks IMX5_CLK_UART5_PER_GATE>;
682				clock-names = "ipg", "per";
683				dmas = <&sdma 16 4 0>, <&sdma 17 4 0>;
684				dma-names = "rx", "tx";
685				status = "disabled";
686			};
687
688			tigerp: tigerp@63fa0000 {
689				compatible = "fsl,imx53-tigerp", "fsl,imx51-tigerp";
690				reg = <0x63fa0000 0x28>;
691			};
692
693			owire: owire@63fa4000 {
694				compatible = "fsl,imx53-owire", "fsl,imx21-owire";
695				reg = <0x63fa4000 0x4000>;
696				clocks = <&clks IMX5_CLK_OWIRE_GATE>;
697				status = "disabled";
698			};
699
700			ecspi2: spi@63fac000 {
701				#address-cells = <1>;
702				#size-cells = <0>;
703				compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
704				reg = <0x63fac000 0x4000>;
705				interrupts = <37>;
706				clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
707					 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
708				clock-names = "ipg", "per";
709				status = "disabled";
710			};
711
712			sdma: sdma@63fb0000 {
713				compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
714				reg = <0x63fb0000 0x4000>;
715				interrupts = <6>;
716				clocks = <&clks IMX5_CLK_SDMA_GATE>,
717					 <&clks IMX5_CLK_AHB>;
718				clock-names = "ipg", "ahb";
719				#dma-cells = <3>;
720				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
721			};
722
723			cspi: spi@63fc0000 {
724				#address-cells = <1>;
725				#size-cells = <0>;
726				compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
727				reg = <0x63fc0000 0x4000>;
728				interrupts = <38>;
729				clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
730					 <&clks IMX5_CLK_CSPI_IPG_GATE>;
731				clock-names = "ipg", "per";
732				status = "disabled";
733			};
734
735			i2c2: i2c@63fc4000 {
736				#address-cells = <1>;
737				#size-cells = <0>;
738				compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
739				reg = <0x63fc4000 0x4000>;
740				interrupts = <63>;
741				clocks = <&clks IMX5_CLK_I2C2_GATE>;
742				status = "disabled";
743			};
744
745			i2c1: i2c@63fc8000 {
746				#address-cells = <1>;
747				#size-cells = <0>;
748				compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
749				reg = <0x63fc8000 0x4000>;
750				interrupts = <62>;
751				clocks = <&clks IMX5_CLK_I2C1_GATE>;
752				status = "disabled";
753			};
754
755			ssi1: ssi@63fcc000 {
756				#sound-dai-cells = <0>;
757				compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
758						"fsl,imx21-ssi";
759				reg = <0x63fcc000 0x4000>;
760				interrupts = <29>;
761				clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
762					 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
763				clock-names = "ipg", "baud";
764				dmas = <&sdma 28 0 0>,
765				       <&sdma 29 0 0>;
766				dma-names = "rx", "tx";
767				fsl,fifo-depth = <15>;
768				status = "disabled";
769			};
770
771			audmux: audmux@63fd0000 {
772				compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
773				reg = <0x63fd0000 0x4000>;
774				status = "disabled";
775			};
776
777			nfc: nand@63fdb000 {
778				compatible = "fsl,imx53-nand";
779				reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
780				interrupts = <8>;
781				clocks = <&clks IMX5_CLK_NFC_GATE>;
782				status = "disabled";
783			};
784
785			ssi3: ssi@63fe8000 {
786				#sound-dai-cells = <0>;
787				compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
788						"fsl,imx21-ssi";
789				reg = <0x63fe8000 0x4000>;
790				interrupts = <96>;
791				clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
792					 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
793				clock-names = "ipg", "baud";
794				dmas = <&sdma 46 0 0>,
795				       <&sdma 47 0 0>;
796				dma-names = "rx", "tx";
797				fsl,fifo-depth = <15>;
798				status = "disabled";
799			};
800
801			fec: ethernet@63fec000 {
802				compatible = "fsl,imx53-fec", "fsl,imx25-fec";
803				reg = <0x63fec000 0x4000>;
804				interrupts = <87>;
805				clocks = <&clks IMX5_CLK_FEC_GATE>,
806					 <&clks IMX5_CLK_FEC_GATE>,
807					 <&clks IMX5_CLK_FEC_GATE>;
808				clock-names = "ipg", "ahb", "ptp";
809				status = "disabled";
810			};
811
812			tve: tve@63ff0000 {
813				compatible = "fsl,imx53-tve";
814				reg = <0x63ff0000 0x1000>;
815				interrupts = <92>;
816				clocks = <&clks IMX5_CLK_TVE_GATE>,
817					 <&clks IMX5_CLK_IPU_DI1_SEL>;
818				clock-names = "tve", "di_sel";
819				status = "disabled";
820
821				port {
822					tve_in: endpoint {
823						remote-endpoint = <&ipu_di1_tve>;
824					};
825				};
826			};
827
828			vpu: vpu@63ff4000 {
829				compatible = "fsl,imx53-vpu", "cnm,coda7541";
830				reg = <0x63ff4000 0x1000>;
831				interrupts = <9>;
832				clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
833					 <&clks IMX5_CLK_VPU_GATE>;
834				clock-names = "per", "ahb";
835				resets = <&src 1>;
836				iram = <&ocram>;
837			};
838
839			sahara: crypto@63ff8000 {
840				compatible = "fsl,imx53-sahara";
841				reg = <0x63ff8000 0x4000>;
842				interrupts = <19 20>;
843				clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
844					 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
845				clock-names = "ipg", "ahb";
846			};
847		};
848
849		ocram: sram@f8000000 {
850			compatible = "mmio-sram";
851			reg = <0xf8000000 0x20000>;
852			clocks = <&clks IMX5_CLK_OCRAM>;
853		};
854	};
855};