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