imx6.dtsi revision 266348
16563Sphk/*
22886Sphk * Copyright (c) 2013 Ian Lepore
36563Sphk * Copyright (c) 2012 The FreeBSD Foundation
46563Sphk * All rights reserved.
56563Sphk *
66563Sphk * Redistribution and use in source and binary forms, with or without
72926Sphk * modification, are permitted provided that the following conditions
86563Sphk * are met:
96563Sphk * 1. Redistributions of source code must retain the above copyright
102886Sphk *    notice, this list of conditions and the following disclaimer.
116563Sphk * 2. Redistributions in binary form must reproduce the above copyright
126563Sphk *    notice, this list of conditions and the following disclaimer in the
133833Sphk *    documentation and/or other materials provided with the distribution.
146563Sphk *
156563Sphk * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
166563Sphk * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
176563Sphk * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
186563Sphk * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
196563Sphk * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
206563Sphk * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
216563Sphk * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
226563Sphk * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
236563Sphk * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
246553Sphk * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
256553Sphk * SUCH DAMAGE.
265014Sphk *
276563Sphk * Freescale i.MX6 Common Device Tree Source.
286563Sphk * There are enough differences between the Solo, Dual, Quad, and *-lite
296563Sphk * flavors of this SoC that eventually we will need a finer-grained breakdown
302886Sphk * of some of this stuff.  For now this file works for all of them.  I think.
312886Sphk *
322886Sphk * $FreeBSD: stable/10/sys/boot/fdt/dts/arm/imx6.dtsi 266348 2014-05-17 20:22:22Z ian $
336563Sphk */
346563Sphk
352886Sphk/ {
366563Sphk	cpus {
376563Sphk		#address-cells = <1>;
386563Sphk		#size-cells = <0>;
396563Sphk
406563Sphk		cpu@0 {
416563Sphk			device_type = "cpu";
426563Sphk			compatible = "ARM,MCIMX6";
432886Sphk			reg = <0x0>;
442886Sphk			d-cache-line-size = <32>;
456563Sphk			i-cache-line-size = <32>;
466563Sphk			d-cache-size = <0x8000>;
476563Sphk			i-cache-size = <0x8000>;
486563Sphk			/* TODO: describe L2 cache also */
496563Sphk			timebase-frequency = <0>;
502886Sphk			bus-frequency = <0>;
512886Sphk			clock-frequency = <0>;
526563Sphk		};
536563Sphk	};
546563Sphk
556563Sphk	aliases {
566563Sphk		soc = &SOC;
576563Sphk	};
582886Sphk
596563Sphk	SOC: soc@00000000 {
606563Sphk		compatible = "simple-bus";
616563Sphk		#address-cells = <1>;
626563Sphk		#size-cells = <1>;
636563Sphk		interrupt-parent = <&gic>;
646563Sphk		ranges = <0x00000000 0x00000000 0x10000000>;
656563Sphk
662886Sphk		gic: generic-interrupt-controller@00a00100 {
672886Sphk			compatible = "arm,gic";
682886Sphk			interrupt-controller;
692886Sphk			#interrupt-cells = <1>;
706563Sphk			reg = <0x00a01000 0x00001000
716563Sphk			       0x00a00100 0x00000100>;
726563Sphk		};
736563Sphk
746563Sphk		mp_tmr0@00a00200 {
752886Sphk			compatible = "arm,mpcore-timers";
766563Sphk			reg = <0x00a00200 0x100
776563Sphk			       0x00a00600 0x100>;
786563Sphk			interrupts = <27 29>;
796563Sphk			interrupt-parent = <&gic>;
806563Sphk		};
816563Sphk
826563Sphk		l2-cache@00a02000 {
836563Sphk			compatible = "arm,pl310-cache", "arm,pl310";
842948Sphk			reg = <0xa02000 0x1000>;
856563Sphk			interrupts = <124>;
866563Sphk			cache-level = <0x2>;
872926Sphk			interrupt-parent = < &gic >;
883112Sphk		};
892971Sphk
902926Sphk		aips@02000000 { /* AIPS1 */
916563Sphk			compatible = "fsl,aips-bus", "simple-bus";
922926Sphk			#address-cells = <1>;
932926Sphk			#size-cells = <1>;
942926Sphk			interrupt-parent = <&gic>;
956563Sphk			reg = <0x02000000 0x00100000>;
962926Sphk			ranges;
972926Sphk
982886Sphk			/* Required by many devices, so better to stay first */
996563Sphk			clks: ccm@020c4000 {
1002886Sphk				compatible = "fsl,imx6q-ccm";
1012886Sphk				reg = <0x020c4000 0x4000>;
1022886Sphk				interrupts = <119 120>;
1036563Sphk			};
1046563Sphk
1056563Sphk			anatop: anatop@020c8000 {
1066563Sphk				compatible = "fsl,imx6q-anatop";
1076563Sphk				reg = <0x020c8000 0x1000>;
1086563Sphk				interrupt-parent = <&gic>;
1096563Sphk				interrupts = <49>;
1106563Sphk			};
1116563Sphk
1126563Sphk			gpt: timer@02098000 {
1136563Sphk				compatible = "fsl,imx6q-gpt", "fsl,imx51-gpt";
1146563Sphk				reg = <0x02098000 0x4000>;
1156563Sphk				interrupt-parent = <&gic>; interrupts = <87>;
1166563Sphk			};
1176563Sphk
1186563Sphk//			iomux@73fa8000 {
1196563Sphk//				compatible = "fsl,imx51-iomux";
1206563Sphk//				reg = <0x73fa8000 0x4000>;
1216563Sphk//				interrupt-parent = <&gic>; interrupts = <7>;
1226563Sphk//				status = "disabled";
1236563Sphk//			};
1246563Sphk
1256563Sphk			gpio1: gpio@0209c000 {
1266563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1276563Sphk				reg = <0x0209c000 0x4000>;
1286563Sphk				interrupts = <0 66 0x04 0 67 0x04>;
1296563Sphk				gpio-controller;
1306563Sphk				#gpio-cells = <2>;
1316563Sphk				interrupt-controller;
1326563Sphk				#interrupt-cells = <2>;
1336563Sphk			};
1346563Sphk			
1356563Sphk			gpio2: gpio@020a0000 {
1366563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1376563Sphk				reg = <0x020a0000 0x4000>;
1386563Sphk				interrupts = <0 68 0x04 0 69 0x04>;
1396563Sphk				gpio-controller;
1406563Sphk				#gpio-cells = <2>;
1416563Sphk				interrupt-controller;
1426563Sphk				#interrupt-cells = <2>;
1436563Sphk			};
1446563Sphk			
1456563Sphk			gpio3: gpio@020a4000 {
1466563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1476563Sphk				reg = <0x020a4000 0x4000>;
1486563Sphk				interrupts = <0 70 0x04 0 71 0x04>;
1496563Sphk				gpio-controller;
1506563Sphk				#gpio-cells = <2>;
1516563Sphk				interrupt-controller;
1522886Sphk				#interrupt-cells = <2>;
1536563Sphk			};
1546563Sphk			
1552886Sphk			gpio4: gpio@020a8000 {
1566563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1576563Sphk				reg = <0x020a8000 0x4000>;
1586563Sphk				interrupts = <0 72 0x04 0 73 0x04>;
1596563Sphk				gpio-controller;
1602886Sphk				#gpio-cells = <2>;
1616563Sphk				interrupt-controller;
1622886Sphk				#interrupt-cells = <2>;
1636563Sphk			};
1646563Sphk			
1656563Sphk			gpio5: gpio@020ac000 {
1666563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1672886Sphk				reg = <0x020ac000 0x4000>;
1686563Sphk				interrupts = <0 74 0x04 0 75 0x04>;
1696563Sphk				gpio-controller;
1706563Sphk				#gpio-cells = <2>;
1716563Sphk				interrupt-controller;
1723833Sphk				#interrupt-cells = <2>;
1736563Sphk			};
1746563Sphk			
1756563Sphk			gpio6: gpio@020b0000 {
1766563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1772926Sphk				reg = <0x020b0000 0x4000>;
1782926Sphk				interrupts = <0 76 0x04 0 77 0x04>;
1796563Sphk				gpio-controller;
1806563Sphk				#gpio-cells = <2>;
1816563Sphk				interrupt-controller;
1822886Sphk				#interrupt-cells = <2>;
1836563Sphk			};
1842886Sphk			
1856563Sphk			gpio7: gpio@020b4000 {
1866563Sphk				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
1876563Sphk				reg = <0x020b4000 0x4000>;
1886563Sphk				interrupts = <0 78 0x04 0 79 0x04>;
1895014Sphk				gpio-controller;
1906563Sphk				#gpio-cells = <2>;
1916563Sphk				interrupt-controller;
1925014Sphk				#interrupt-cells = <2>;
1936563Sphk			};
1946563Sphk
1956563Sphk			uart1: serial@02020000 {
1966563Sphk				compatible = "fsl,imx6q-uart";
1976563Sphk				reg = <0x02020000 0x4000>;
1986563Sphk				interrupt-parent = <&gic>; 
1996563Sphk				interrupts = <58>;
2006563Sphk				clock-frequency = <80000000>;
2016563Sphk				status = "disabled";
2026563Sphk			};
2036563Sphk
2046563Sphk			uart2: serial@021e8000 {
2056563Sphk				compatible = "fsl,imx6q-uart";
2066563Sphk				reg = <0x021e8000 0x4000>;
2076563Sphk				interrupt-parent = <&gic>; 
2086563Sphk				interrupts = <59>;
2096563Sphk				clock-frequency = <80000000>;
2106563Sphk				status = "disabled";
2116563Sphk			};
2126563Sphk
2136563Sphk			uart3: serial@021ec000 {
2146563Sphk				compatible = "fsl,imx6q-uart";
2156563Sphk				reg = <0x021ec000 0x4000>;
2166563Sphk				interrupt-parent = <&gic>; 
2176563Sphk				interrupts = <60>;
2186563Sphk				clock-frequency = <80000000>;
2196563Sphk				status = "disabled";
2206563Sphk			};
2216563Sphk
2226563Sphk			uart4: serial@021f0000 {
2236563Sphk				compatible = "fsl,imx6q-uart";
2246563Sphk				reg = <0x021f0000 0x4000>;
2256563Sphk				interrupt-parent = <&gic>; 
2266563Sphk				interrupts = <61>;
2276563Sphk				clock-frequency = <80000000>;
2286563Sphk				status = "disabled";
2296563Sphk			};
2306563Sphk
2316563Sphk			uart5: serial@021f4000 {
2326563Sphk				compatible = "fsl,imx6q-uart";
2336563Sphk				reg = <0x021f4000 0x4000>;
2346563Sphk				interrupt-parent = <&gic>; 
2356563Sphk				interrupts = <62>;
2366563Sphk				clock-frequency = <80000000>;
2376563Sphk				status = "disabled";
2386563Sphk			};
2396563Sphk
2406563Sphk			usbphy1: usbphy@020c9000 {
2416563Sphk				compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
2425014Sphk				reg = <0x020c9000 0x1000>;
2436563Sphk				interrupts = <44>;
2445014Sphk				status = "disabled";
2455014Sphk			};
2465014Sphk			
2476563Sphk			usbphy2: usbphy@020ca000 {
2486563Sphk				compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
2496563Sphk				reg = <0x020ca000 0x1000>;
2506563Sphk				interrupts = <45>;
2512886Sphk				status = "disabled";
2526563Sphk			};
2536563Sphk			
2546563Sphk		};
2556563Sphk
2566563Sphk		aips@02100000 { /* AIPS2 */
2572886Sphk			compatible = "fsl,aips-bus", "simple-bus";
2586563Sphk			#address-cells = <1>;
2596563Sphk			#size-cells = <1>;
2606563Sphk			interrupt-parent = <&gic>;
2616563Sphk			reg = <0x02100000 0x00100000>;
2626563Sphk			ranges;
2632886Sphk
2646563Sphk			fec1: ethernet@02188000 {
2652886Sphk				compatible = "fsl,imx6q-fec";
2666563Sphk				reg = <0x02188000 0x4000>;
2676563Sphk				interrupts = <150 151>;
2686563Sphk				status = "disabled";
2692886Sphk			};
2706563Sphk			
2716563Sphk			usbotg1: usb@02184000 {
2723112Sphk				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
2736563Sphk				reg = <0x02184000 0x200>;
2746563Sphk				interrupts = <75>;
2756563Sphk				fsl,usbphy = <&usbphy1>;
2766563Sphk				fsl,usbmisc = <&usbmisc 0>;
2776563Sphk				status = "disabled";
2786563Sphk			};
2796563Sphk			
2806563Sphk			usbh1: usb@02184200 {
2816563Sphk				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
2826563Sphk				reg = <0x02184200 0x200>;
2833112Sphk				interrupts = <72>;
2846563Sphk				fsl,usbphy = <&usbphy2>;
2855014Sphk				fsl,usbmisc = <&usbmisc 1>;
2866563Sphk				status = "disabled";
2876563Sphk			};
2886563Sphk			
2896563Sphk			usbh2: usb@02184400 {
2906563Sphk				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
2916563Sphk				reg = <0x02184400 0x200>;
2926563Sphk				interrupts = <73>;
2936563Sphk				fsl,usbmisc = <&usbmisc 2>;
2946563Sphk				status = "disabled";
2956563Sphk			};
2966563Sphk			
2976563Sphk			usbh3: usb@02184600 {
2986563Sphk				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
2996563Sphk				reg = <0x02184600 0x200>;
3006563Sphk				interrupts = <74>;
3016563Sphk				fsl,usbmisc = <&usbmisc 3>;
3026563Sphk				status = "disabled";
3036563Sphk			};
3046563Sphk			
3056563Sphk			usbmisc: usbmisc@02184800 {
3066563Sphk				#index-cells = <1>;
3076563Sphk				compatible = "fsl,imx6q-usbmisc";
3086563Sphk				reg = <0x02184800 0x200>;
3096563Sphk				// Not disabled on purpose.
3106563Sphk			};
3116563Sphk
3126563Sphk			usdhc1: usdhc@02190000 {
3136563Sphk				compatible = "fsl,imx6q-usdhc";
3146563Sphk				reg = <0x02190000 0x4000>;
3156563Sphk				interrupt-parent = <&gic>;
3166563Sphk				interrupts = <54>;
3176563Sphk				cd-gpios = <&gpio1 2 0>;
3185014Sphk				bus-width = <0x4>;
3196563Sphk				status ="disabled";
320			};
321
322			usdhc2: usdhc@02194000 {
323				compatible = "fsl,imx6q-usdhc";
324				reg = <0x02194000 0x4000>;
325				interrupt-parent = <&gic>;
326				interrupts = <55>;
327				non-removable;
328				bus-width = <0x4>;
329				status ="disabled";
330			};
331
332			usdhc3: usdhc@02198000 {
333				compatible = "fsl,imx6q-usdhc";
334				reg = <0x02198000 0x4000>;
335				interrupt-parent = <&gic>;
336				interrupts = <56>;
337				cd-gpios = <&gpio3 9 0>;
338				bus-width = <0x4>;
339				status ="disabled";
340			};
341
342			usdhc4: usdhc@0219c000 {
343				compatible = "fsl,imx6q-usdhc";
344				reg = <0x0219c000 0x4000>;
345				interrupt-parent = <&gic>;
346				interrupts = <57>;
347				bus-width = <0x4>;
348				status ="disabled";
349			};
350
351			ocotp0: ocotp@021bc000 {
352				compatible = "fsl,imx6q-ocotp";
353				reg = <0x021bc000 0x4000>;
354			};
355		};
356	};
357};
358