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