1/* 2 * Copyright 2013-2014 Freescale Semiconductor, Inc. 3 * 4 * This file is dual-licensed: you can use it either under the terms 5 * of the GPL or the X11 license, at your option. Note that this dual 6 * licensing only applies to this file, and not this project as a 7 * whole. 8 * 9 * a) This file is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * This file is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public 20 * License along with this file; if not, write to the Free 21 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 22 * MA 02110-1301 USA 23 * 24 * Or, alternatively, 25 * 26 * b) Permission is hereby granted, free of charge, to any person 27 * obtaining a copy of this software and associated documentation 28 * files (the "Software"), to deal in the Software without 29 * restriction, including without limitation the rights to use, 30 * copy, modify, merge, publish, distribute, sublicense, and/or 31 * sell copies of the Software, and to permit persons to whom the 32 * Software is furnished to do so, subject to the following 33 * conditions: 34 * 35 * The above copyright notice and this permission notice shall be 36 * included in all copies or substantial portions of the Software. 37 * 38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 45 * OTHER DEALINGS IN THE SOFTWARE. 46 */ 47 48#include "skeleton64.dtsi" 49#include <dt-bindings/interrupt-controller/arm-gic.h> 50 51/ { 52 compatible = "fsl,ls1021a"; 53 interrupt-parent = <&gic>; 54 55 aliases { 56 serial0 = &lpuart0; 57 serial1 = &lpuart1; 58 serial2 = &lpuart2; 59 serial3 = &lpuart3; 60 serial4 = &lpuart4; 61 serial5 = &lpuart5; 62 sysclk = &sysclk; 63 }; 64 65 cpus { 66 #address-cells = <1>; 67 #size-cells = <0>; 68 69 cpu@f00 { 70 compatible = "arm,cortex-a7"; 71 device_type = "cpu"; 72 reg = <0xf00>; 73 clocks = <&cluster1_clk>; 74 }; 75 76 cpu@f01 { 77 compatible = "arm,cortex-a7"; 78 device_type = "cpu"; 79 reg = <0xf01>; 80 clocks = <&cluster1_clk>; 81 }; 82 }; 83 84 timer { 85 compatible = "arm,armv7-timer"; 86 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 87 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 88 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 89 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 90 }; 91 92 pmu { 93 compatible = "arm,cortex-a7-pmu"; 94 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 95 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 96 }; 97 98 soc { 99 compatible = "simple-bus"; 100 #address-cells = <2>; 101 #size-cells = <2>; 102 device_type = "soc"; 103 interrupt-parent = <&gic>; 104 ranges; 105 106 gic: interrupt-controller@1400000 { 107 compatible = "arm,cortex-a7-gic"; 108 #interrupt-cells = <3>; 109 interrupt-controller; 110 reg = <0x0 0x1401000 0x0 0x1000>, 111 <0x0 0x1402000 0x0 0x1000>, 112 <0x0 0x1404000 0x0 0x2000>, 113 <0x0 0x1406000 0x0 0x2000>; 114 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 115 116 }; 117 118 ifc: ifc@1530000 { 119 compatible = "fsl,ifc", "simple-bus"; 120 reg = <0x0 0x1530000 0x0 0x10000>; 121 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 122 }; 123 124 dcfg: dcfg@1ee0000 { 125 compatible = "fsl,ls1021a-dcfg", "syscon"; 126 reg = <0x0 0x1ee0000 0x0 0x10000>; 127 big-endian; 128 }; 129 130 esdhc: esdhc@1560000 { 131 compatible = "fsl,esdhc"; 132 reg = <0x0 0x1560000 0x0 0x10000>; 133 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 134 clock-frequency = <0>; 135 voltage-ranges = <1800 1800 3300 3300>; 136 sdhci,auto-cmd12; 137 big-endian; 138 bus-width = <4>; 139 status = "disabled"; 140 }; 141 142 scfg: scfg@1570000 { 143 compatible = "fsl,ls1021a-scfg", "syscon"; 144 reg = <0x0 0x1570000 0x0 0x10000>; 145 big-endian; 146 }; 147 148 clockgen: clocking@1ee1000 { 149 #address-cells = <1>; 150 #size-cells = <1>; 151 ranges = <0x0 0x0 0x1ee1000 0x10000>; 152 153 sysclk: sysclk { 154 compatible = "fixed-clock"; 155 #clock-cells = <0>; 156 clock-output-names = "sysclk"; 157 }; 158 159 cga_pll1: pll@800 { 160 compatible = "fsl,qoriq-core-pll-2.0"; 161 #clock-cells = <1>; 162 reg = <0x800 0x10>; 163 clocks = <&sysclk>; 164 clock-output-names = "cga-pll1", "cga-pll1-div2", 165 "cga-pll1-div4"; 166 }; 167 168 platform_clk: pll@c00 { 169 compatible = "fsl,qoriq-core-pll-2.0"; 170 #clock-cells = <1>; 171 reg = <0xc00 0x10>; 172 clocks = <&sysclk>; 173 clock-output-names = "platform-clk", "platform-clk-div2"; 174 }; 175 176 cluster1_clk: clk0c0@0 { 177 compatible = "fsl,qoriq-core-mux-2.0"; 178 #clock-cells = <0>; 179 reg = <0x0 0x10>; 180 clock-names = "pll1cga", "pll1cga-div2", "pll1cga-div4"; 181 clocks = <&cga_pll1 0>, <&cga_pll1 1>, <&cga_pll1 2>; 182 clock-output-names = "cluster1-clk"; 183 }; 184 }; 185 186 dspi0: dspi@2100000 { 187 compatible = "fsl,vf610-dspi"; 188 #address-cells = <1>; 189 #size-cells = <0>; 190 reg = <0x0 0x2100000 0x0 0x10000>; 191 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 192 clock-names = "dspi"; 193 clocks = <&platform_clk 1>; 194 spi-num-chipselects = <5>; 195 big-endian; 196 status = "disabled"; 197 }; 198 199 dspi1: dspi@2110000 { 200 compatible = "fsl,vf610-dspi"; 201 #address-cells = <1>; 202 #size-cells = <0>; 203 reg = <0x0 0x2110000 0x0 0x10000>; 204 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 205 clock-names = "dspi"; 206 clocks = <&platform_clk 1>; 207 spi-num-chipselects = <5>; 208 big-endian; 209 status = "disabled"; 210 }; 211 212 i2c0: i2c@2180000 { 213 compatible = "fsl,vf610-i2c"; 214 #address-cells = <1>; 215 #size-cells = <0>; 216 reg = <0x0 0x2180000 0x0 0x10000>; 217 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 218 clock-names = "i2c"; 219 clocks = <&platform_clk 1>; 220 status = "disabled"; 221 }; 222 223 i2c1: i2c@2190000 { 224 compatible = "fsl,vf610-i2c"; 225 #address-cells = <1>; 226 #size-cells = <0>; 227 reg = <0x0 0x2190000 0x0 0x10000>; 228 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 229 clock-names = "i2c"; 230 clocks = <&platform_clk 1>; 231 status = "disabled"; 232 }; 233 234 i2c2: i2c@21a0000 { 235 compatible = "fsl,vf610-i2c"; 236 #address-cells = <1>; 237 #size-cells = <0>; 238 reg = <0x0 0x21a0000 0x0 0x10000>; 239 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 240 clock-names = "i2c"; 241 clocks = <&platform_clk 1>; 242 status = "disabled"; 243 }; 244 245 uart0: serial@21c0500 { 246 compatible = "fsl,16550-FIFO64", "ns16550a"; 247 reg = <0x0 0x21c0500 0x0 0x100>; 248 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 249 clock-frequency = <0>; 250 fifo-size = <15>; 251 status = "disabled"; 252 }; 253 254 uart1: serial@21c0600 { 255 compatible = "fsl,16550-FIFO64", "ns16550a"; 256 reg = <0x0 0x21c0600 0x0 0x100>; 257 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 258 clock-frequency = <0>; 259 fifo-size = <15>; 260 status = "disabled"; 261 }; 262 263 uart2: serial@21d0500 { 264 compatible = "fsl,16550-FIFO64", "ns16550a"; 265 reg = <0x0 0x21d0500 0x0 0x100>; 266 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 267 clock-frequency = <0>; 268 fifo-size = <15>; 269 status = "disabled"; 270 }; 271 272 uart3: serial@21d0600 { 273 compatible = "fsl,16550-FIFO64", "ns16550a"; 274 reg = <0x0 0x21d0600 0x0 0x100>; 275 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 276 clock-frequency = <0>; 277 fifo-size = <15>; 278 status = "disabled"; 279 }; 280 281 lpuart0: serial@2950000 { 282 compatible = "fsl,ls1021a-lpuart"; 283 reg = <0x0 0x2950000 0x0 0x1000>; 284 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 285 clocks = <&sysclk>; 286 clock-names = "ipg"; 287 status = "disabled"; 288 }; 289 290 lpuart1: serial@2960000 { 291 compatible = "fsl,ls1021a-lpuart"; 292 reg = <0x0 0x2960000 0x0 0x1000>; 293 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 294 clocks = <&platform_clk 1>; 295 clock-names = "ipg"; 296 status = "disabled"; 297 }; 298 299 lpuart2: serial@2970000 { 300 compatible = "fsl,ls1021a-lpuart"; 301 reg = <0x0 0x2970000 0x0 0x1000>; 302 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 303 clocks = <&platform_clk 1>; 304 clock-names = "ipg"; 305 status = "disabled"; 306 }; 307 308 lpuart3: serial@2980000 { 309 compatible = "fsl,ls1021a-lpuart"; 310 reg = <0x0 0x2980000 0x0 0x1000>; 311 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 312 clocks = <&platform_clk 1>; 313 clock-names = "ipg"; 314 status = "disabled"; 315 }; 316 317 lpuart4: serial@2990000 { 318 compatible = "fsl,ls1021a-lpuart"; 319 reg = <0x0 0x2990000 0x0 0x1000>; 320 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 321 clocks = <&platform_clk 1>; 322 clock-names = "ipg"; 323 status = "disabled"; 324 }; 325 326 lpuart5: serial@29a0000 { 327 compatible = "fsl,ls1021a-lpuart"; 328 reg = <0x0 0x29a0000 0x0 0x1000>; 329 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 330 clocks = <&platform_clk 1>; 331 clock-names = "ipg"; 332 status = "disabled"; 333 }; 334 335 wdog0: watchdog@2ad0000 { 336 compatible = "fsl,imx21-wdt"; 337 reg = <0x0 0x2ad0000 0x0 0x10000>; 338 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 339 clocks = <&platform_clk 1>; 340 clock-names = "wdog-en"; 341 big-endian; 342 }; 343 344 sai1: sai@2b50000 { 345 compatible = "fsl,vf610-sai"; 346 reg = <0x0 0x2b50000 0x0 0x10000>; 347 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 348 clocks = <&platform_clk 1>; 349 clock-names = "sai"; 350 dma-names = "tx", "rx"; 351 dmas = <&edma0 1 47>, 352 <&edma0 1 46>; 353 big-endian; 354 status = "disabled"; 355 }; 356 357 sai2: sai@2b60000 { 358 compatible = "fsl,vf610-sai"; 359 reg = <0x0 0x2b60000 0x0 0x10000>; 360 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 361 clocks = <&platform_clk 1>; 362 clock-names = "sai"; 363 dma-names = "tx", "rx"; 364 dmas = <&edma0 1 45>, 365 <&edma0 1 44>; 366 big-endian; 367 status = "disabled"; 368 }; 369 370 edma0: edma@2c00000 { 371 #dma-cells = <2>; 372 compatible = "fsl,vf610-edma"; 373 reg = <0x0 0x2c00000 0x0 0x10000>, 374 <0x0 0x2c10000 0x0 0x10000>, 375 <0x0 0x2c20000 0x0 0x10000>; 376 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 377 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 378 interrupt-names = "edma-tx", "edma-err"; 379 dma-channels = <32>; 380 big-endian; 381 clock-names = "dmamux0", "dmamux1"; 382 clocks = <&platform_clk 1>, 383 <&platform_clk 1>; 384 }; 385 386 mdio0: mdio@2d24000 { 387 compatible = "gianfar"; 388 device_type = "mdio"; 389 #address-cells = <1>; 390 #size-cells = <0>; 391 reg = <0x0 0x2d24000 0x0 0x4000>; 392 }; 393 394 usb@8600000 { 395 compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr"; 396 reg = <0x0 0x8600000 0x0 0x1000>; 397 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; 398 dr_mode = "host"; 399 phy_type = "ulpi"; 400 }; 401 402 usb3@3100000 { 403 compatible = "snps,dwc3"; 404 reg = <0x0 0x3100000 0x0 0x10000>; 405 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 406 dr_mode = "host"; 407 }; 408 }; 409}; 410