Linux Audio

Check our new training course

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