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 <dt-bindings/interrupt-controller/arm-gic.h> 49#include <dt-bindings/thermal/thermal.h> 50 51/ { 52 #address-cells = <2>; 53 #size-cells = <2>; 54 compatible = "fsl,ls1021a"; 55 interrupt-parent = <&gic>; 56 57 aliases { 58 crypto = &crypto; 59 ethernet0 = &enet0; 60 ethernet1 = &enet1; 61 ethernet2 = &enet2; 62 rtc1 = &ftm_alarm0; 63 serial0 = &lpuart0; 64 serial1 = &lpuart1; 65 serial2 = &lpuart2; 66 serial3 = &lpuart3; 67 serial4 = &lpuart4; 68 serial5 = &lpuart5; 69 sysclk = &sysclk; 70 }; 71 72 cpus { 73 #address-cells = <1>; 74 #size-cells = <0>; 75 76 cpu0: cpu@f00 { 77 compatible = "arm,cortex-a7"; 78 device_type = "cpu"; 79 reg = <0xf00>; 80 clocks = <&clockgen 1 0>; 81 #cooling-cells = <2>; 82 }; 83 84 cpu1: cpu@f01 { 85 compatible = "arm,cortex-a7"; 86 device_type = "cpu"; 87 reg = <0xf01>; 88 clocks = <&clockgen 1 0>; 89 #cooling-cells = <2>; 90 }; 91 }; 92 93 memory { 94 device_type = "memory"; 95 reg = <0x0 0x0 0x0 0x0>; 96 }; 97 98 sysclk: sysclk { 99 compatible = "fixed-clock"; 100 #clock-cells = <0>; 101 clock-frequency = <100000000>; 102 clock-output-names = "sysclk"; 103 }; 104 105 timer { 106 compatible = "arm,armv7-timer"; 107 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 108 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 109 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 110 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 111 }; 112 113 pmu { 114 compatible = "arm,cortex-a7-pmu"; 115 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 116 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 117 interrupt-affinity = <&cpu0>, <&cpu1>; 118 }; 119 120 reboot { 121 compatible = "syscon-reboot"; 122 regmap = <&dcfg>; 123 offset = <0xb0>; 124 mask = <0x02>; 125 }; 126 127 soc { 128 compatible = "simple-bus"; 129 #address-cells = <2>; 130 #size-cells = <2>; 131 device_type = "soc"; 132 interrupt-parent = <&gic>; 133 ranges; 134 135 ddr: memory-controller@1080000 { 136 compatible = "fsl,qoriq-memory-controller"; 137 reg = <0x0 0x1080000 0x0 0x1000>; 138 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 139 big-endian; 140 }; 141 142 gic: interrupt-controller@1400000 { 143 compatible = "arm,gic-400", "arm,cortex-a7-gic"; 144 #interrupt-cells = <3>; 145 interrupt-controller; 146 reg = <0x0 0x1401000 0x0 0x1000>, 147 <0x0 0x1402000 0x0 0x2000>, 148 <0x0 0x1404000 0x0 0x2000>, 149 <0x0 0x1406000 0x0 0x2000>; 150 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 151 152 }; 153 154 msi1: msi-controller@1570e00 { 155 compatible = "fsl,ls1021a-msi"; 156 reg = <0x0 0x1570e00 0x0 0x8>; 157 msi-controller; 158 interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>; 159 }; 160 161 msi2: msi-controller@1570e08 { 162 compatible = "fsl,ls1021a-msi"; 163 reg = <0x0 0x1570e08 0x0 0x8>; 164 msi-controller; 165 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; 166 }; 167 168 ifc: ifc@1530000 { 169 compatible = "fsl,ifc", "simple-bus"; 170 reg = <0x0 0x1530000 0x0 0x10000>; 171 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 172 }; 173 174 dcfg: dcfg@1ee0000 { 175 compatible = "fsl,ls1021a-dcfg", "syscon"; 176 reg = <0x0 0x1ee0000 0x0 0x10000>; 177 big-endian; 178 }; 179 180 qspi: spi@1550000 { 181 compatible = "fsl,ls1021a-qspi"; 182 #address-cells = <1>; 183 #size-cells = <0>; 184 reg = <0x0 0x1550000 0x0 0x10000>, 185 <0x0 0x40000000 0x0 0x20000000>; 186 reg-names = "QuadSPI", "QuadSPI-memory"; 187 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 188 clock-names = "qspi_en", "qspi"; 189 clocks = <&clockgen 4 1>, <&clockgen 4 1>; 190 status = "disabled"; 191 }; 192 193 esdhc: esdhc@1560000 { 194 compatible = "fsl,ls1021a-esdhc", "fsl,esdhc"; 195 reg = <0x0 0x1560000 0x0 0x10000>; 196 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 197 clock-frequency = <0>; 198 voltage-ranges = <1800 1800 3300 3300>; 199 sdhci,auto-cmd12; 200 big-endian; 201 bus-width = <4>; 202 status = "disabled"; 203 }; 204 205 sata: sata@3200000 { 206 compatible = "fsl,ls1021a-ahci"; 207 reg = <0x0 0x3200000 0x0 0x10000>, 208 <0x0 0x20220520 0x0 0x4>; 209 reg-names = "ahci", "sata-ecc"; 210 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 211 clocks = <&clockgen 4 1>; 212 dma-coherent; 213 status = "disabled"; 214 }; 215 216 scfg: scfg@1570000 { 217 compatible = "fsl,ls1021a-scfg", "syscon"; 218 reg = <0x0 0x1570000 0x0 0x10000>; 219 big-endian; 220 #address-cells = <1>; 221 #size-cells = <1>; 222 ranges = <0x0 0x0 0x1570000 0x10000>; 223 224 extirq: interrupt-controller@1ac { 225 compatible = "fsl,ls1021a-extirq"; 226 #interrupt-cells = <2>; 227 #address-cells = <0>; 228 interrupt-controller; 229 reg = <0x1ac 4>; 230 interrupt-map = 231 <0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 232 <1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 233 <2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 234 <3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>, 235 <4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, 236 <5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 237 interrupt-map-mask = <0xffffffff 0x0>; 238 }; 239 }; 240 241 crypto: crypto@1700000 { 242 compatible = "fsl,sec-v5.0", "fsl,sec-v4.0"; 243 fsl,sec-era = <7>; 244 #address-cells = <1>; 245 #size-cells = <1>; 246 reg = <0x0 0x1700000 0x0 0x100000>; 247 ranges = <0x0 0x0 0x1700000 0x100000>; 248 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 249 250 sec_jr0: jr@10000 { 251 compatible = "fsl,sec-v5.0-job-ring", 252 "fsl,sec-v4.0-job-ring"; 253 reg = <0x10000 0x10000>; 254 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 255 }; 256 257 sec_jr1: jr@20000 { 258 compatible = "fsl,sec-v5.0-job-ring", 259 "fsl,sec-v4.0-job-ring"; 260 reg = <0x20000 0x10000>; 261 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 262 }; 263 264 sec_jr2: jr@30000 { 265 compatible = "fsl,sec-v5.0-job-ring", 266 "fsl,sec-v4.0-job-ring"; 267 reg = <0x30000 0x10000>; 268 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 269 }; 270 271 sec_jr3: jr@40000 { 272 compatible = "fsl,sec-v5.0-job-ring", 273 "fsl,sec-v4.0-job-ring"; 274 reg = <0x40000 0x10000>; 275 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 276 }; 277 278 }; 279 280 clockgen: clocking@1ee1000 { 281 compatible = "fsl,ls1021a-clockgen"; 282 reg = <0x0 0x1ee1000 0x0 0x1000>; 283 #clock-cells = <2>; 284 clocks = <&sysclk>; 285 }; 286 287 tmu: tmu@1f00000 { 288 compatible = "fsl,qoriq-tmu"; 289 reg = <0x0 0x1f00000 0x0 0x10000>; 290 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 291 fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x30061>; 292 fsl,tmu-calibration = <0x00000000 0x0000000f 293 0x00000001 0x00000017 294 0x00000002 0x0000001e 295 0x00000003 0x00000026 296 0x00000004 0x0000002e 297 0x00000005 0x00000035 298 0x00000006 0x0000003d 299 0x00000007 0x00000044 300 0x00000008 0x0000004c 301 0x00000009 0x00000053 302 0x0000000a 0x0000005b 303 0x0000000b 0x00000064 304 305 0x00010000 0x00000011 306 0x00010001 0x0000001c 307 0x00010002 0x00000024 308 0x00010003 0x0000002b 309 0x00010004 0x00000034 310 0x00010005 0x00000039 311 0x00010006 0x00000042 312 0x00010007 0x0000004c 313 0x00010008 0x00000051 314 0x00010009 0x0000005a 315 0x0001000a 0x00000063 316 317 0x00020000 0x00000013 318 0x00020001 0x00000019 319 0x00020002 0x00000024 320 0x00020003 0x0000002c 321 0x00020004 0x00000035 322 0x00020005 0x0000003d 323 0x00020006 0x00000046 324 0x00020007 0x00000050 325 0x00020008 0x00000059 326 327 0x00030000 0x00000002 328 0x00030001 0x0000000d 329 0x00030002 0x00000019 330 0x00030003 0x00000024>; 331 #thermal-sensor-cells = <1>; 332 }; 333 334 thermal-zones { 335 cpu_thermal: cpu-thermal { 336 polling-delay-passive = <1000>; 337 polling-delay = <5000>; 338 339 thermal-sensors = <&tmu 0>; 340 341 trips { 342 cpu_alert: cpu-alert { 343 temperature = <85000>; 344 hysteresis = <2000>; 345 type = "passive"; 346 }; 347 cpu_crit: cpu-crit { 348 temperature = <95000>; 349 hysteresis = <2000>; 350 type = "critical"; 351 }; 352 }; 353 354 cooling-maps { 355 map0 { 356 trip = <&cpu_alert>; 357 cooling-device = 358 <&cpu0 THERMAL_NO_LIMIT 359 THERMAL_NO_LIMIT>, 360 <&cpu1 THERMAL_NO_LIMIT 361 THERMAL_NO_LIMIT>; 362 }; 363 }; 364 }; 365 }; 366 367 dspi0: spi@2100000 { 368 compatible = "fsl,ls1021a-v1.0-dspi"; 369 #address-cells = <1>; 370 #size-cells = <0>; 371 reg = <0x0 0x2100000 0x0 0x10000>; 372 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 373 clock-names = "dspi"; 374 clocks = <&clockgen 4 1>; 375 spi-num-chipselects = <6>; 376 big-endian; 377 status = "disabled"; 378 }; 379 380 dspi1: spi@2110000 { 381 compatible = "fsl,ls1021a-v1.0-dspi"; 382 #address-cells = <1>; 383 #size-cells = <0>; 384 reg = <0x0 0x2110000 0x0 0x10000>; 385 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 386 clock-names = "dspi"; 387 clocks = <&clockgen 4 1>; 388 spi-num-chipselects = <6>; 389 big-endian; 390 status = "disabled"; 391 }; 392 393 i2c0: i2c@2180000 { 394 compatible = "fsl,vf610-i2c"; 395 #address-cells = <1>; 396 #size-cells = <0>; 397 reg = <0x0 0x2180000 0x0 0x10000>; 398 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 399 clock-names = "i2c"; 400 clocks = <&clockgen 4 1>; 401 dma-names = "tx", "rx"; 402 dmas = <&edma0 1 39>, <&edma0 1 38>; 403 status = "disabled"; 404 }; 405 406 i2c1: i2c@2190000 { 407 compatible = "fsl,vf610-i2c"; 408 #address-cells = <1>; 409 #size-cells = <0>; 410 reg = <0x0 0x2190000 0x0 0x10000>; 411 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 412 clock-names = "i2c"; 413 clocks = <&clockgen 4 1>; 414 dma-names = "tx", "rx"; 415 dmas = <&edma0 1 37>, <&edma0 1 36>; 416 status = "disabled"; 417 }; 418 419 i2c2: i2c@21a0000 { 420 compatible = "fsl,vf610-i2c"; 421 #address-cells = <1>; 422 #size-cells = <0>; 423 reg = <0x0 0x21a0000 0x0 0x10000>; 424 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 425 clock-names = "i2c"; 426 clocks = <&clockgen 4 1>; 427 dma-names = "tx", "rx"; 428 dmas = <&edma0 1 35>, <&edma0 1 34>; 429 status = "disabled"; 430 }; 431 432 uart0: serial@21c0500 { 433 compatible = "fsl,16550-FIFO64", "ns16550a"; 434 reg = <0x0 0x21c0500 0x0 0x100>; 435 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 436 clock-frequency = <0>; 437 fifo-size = <15>; 438 status = "disabled"; 439 }; 440 441 uart1: serial@21c0600 { 442 compatible = "fsl,16550-FIFO64", "ns16550a"; 443 reg = <0x0 0x21c0600 0x0 0x100>; 444 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 445 clock-frequency = <0>; 446 fifo-size = <15>; 447 status = "disabled"; 448 }; 449 450 uart2: serial@21d0500 { 451 compatible = "fsl,16550-FIFO64", "ns16550a"; 452 reg = <0x0 0x21d0500 0x0 0x100>; 453 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 454 clock-frequency = <0>; 455 fifo-size = <15>; 456 status = "disabled"; 457 }; 458 459 uart3: serial@21d0600 { 460 compatible = "fsl,16550-FIFO64", "ns16550a"; 461 reg = <0x0 0x21d0600 0x0 0x100>; 462 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 463 clock-frequency = <0>; 464 fifo-size = <15>; 465 status = "disabled"; 466 }; 467 468 counter0: counter@29d0000 { 469 compatible = "fsl,ftm-quaddec"; 470 reg = <0x0 0x29d0000 0x0 0x10000>; 471 big-endian; 472 status = "disabled"; 473 }; 474 475 counter1: counter@29e0000 { 476 compatible = "fsl,ftm-quaddec"; 477 reg = <0x0 0x29e0000 0x0 0x10000>; 478 big-endian; 479 status = "disabled"; 480 }; 481 482 counter2: counter@29f0000 { 483 compatible = "fsl,ftm-quaddec"; 484 reg = <0x0 0x29f0000 0x0 0x10000>; 485 big-endian; 486 status = "disabled"; 487 }; 488 489 counter3: counter@2a00000 { 490 compatible = "fsl,ftm-quaddec"; 491 reg = <0x0 0x2a00000 0x0 0x10000>; 492 big-endian; 493 status = "disabled"; 494 }; 495 496 gpio0: gpio@2300000 { 497 compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio"; 498 reg = <0x0 0x2300000 0x0 0x10000>; 499 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 500 gpio-controller; 501 #gpio-cells = <2>; 502 interrupt-controller; 503 #interrupt-cells = <2>; 504 }; 505 506 gpio1: gpio@2310000 { 507 compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio"; 508 reg = <0x0 0x2310000 0x0 0x10000>; 509 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 510 gpio-controller; 511 #gpio-cells = <2>; 512 interrupt-controller; 513 #interrupt-cells = <2>; 514 }; 515 516 gpio2: gpio@2320000 { 517 compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio"; 518 reg = <0x0 0x2320000 0x0 0x10000>; 519 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 520 gpio-controller; 521 #gpio-cells = <2>; 522 interrupt-controller; 523 #interrupt-cells = <2>; 524 }; 525 526 gpio3: gpio@2330000 { 527 compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio"; 528 reg = <0x0 0x2330000 0x0 0x10000>; 529 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 530 gpio-controller; 531 #gpio-cells = <2>; 532 interrupt-controller; 533 #interrupt-cells = <2>; 534 }; 535 536 lpuart0: serial@2950000 { 537 compatible = "fsl,ls1021a-lpuart"; 538 reg = <0x0 0x2950000 0x0 0x1000>; 539 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 540 clocks = <&sysclk>; 541 clock-names = "ipg"; 542 status = "disabled"; 543 }; 544 545 lpuart1: serial@2960000 { 546 compatible = "fsl,ls1021a-lpuart"; 547 reg = <0x0 0x2960000 0x0 0x1000>; 548 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 549 clocks = <&clockgen 4 1>; 550 clock-names = "ipg"; 551 status = "disabled"; 552 }; 553 554 lpuart2: serial@2970000 { 555 compatible = "fsl,ls1021a-lpuart"; 556 reg = <0x0 0x2970000 0x0 0x1000>; 557 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 558 clocks = <&clockgen 4 1>; 559 clock-names = "ipg"; 560 status = "disabled"; 561 }; 562 563 lpuart3: serial@2980000 { 564 compatible = "fsl,ls1021a-lpuart"; 565 reg = <0x0 0x2980000 0x0 0x1000>; 566 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 567 clocks = <&clockgen 4 1>; 568 clock-names = "ipg"; 569 status = "disabled"; 570 }; 571 572 lpuart4: serial@2990000 { 573 compatible = "fsl,ls1021a-lpuart"; 574 reg = <0x0 0x2990000 0x0 0x1000>; 575 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 576 clocks = <&clockgen 4 1>; 577 clock-names = "ipg"; 578 status = "disabled"; 579 }; 580 581 lpuart5: serial@29a0000 { 582 compatible = "fsl,ls1021a-lpuart"; 583 reg = <0x0 0x29a0000 0x0 0x1000>; 584 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 585 clocks = <&clockgen 4 1>; 586 clock-names = "ipg"; 587 status = "disabled"; 588 }; 589 590 pwm0: pwm@29d0000 { 591 compatible = "fsl,vf610-ftm-pwm"; 592 #pwm-cells = <3>; 593 reg = <0x0 0x29d0000 0x0 0x10000>; 594 clock-names = "ftm_sys", "ftm_ext", 595 "ftm_fix", "ftm_cnt_clk_en"; 596 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 597 <&clockgen 4 1>, <&clockgen 4 1>; 598 big-endian; 599 status = "disabled"; 600 }; 601 602 pwm1: pwm@29e0000 { 603 compatible = "fsl,vf610-ftm-pwm"; 604 #pwm-cells = <3>; 605 reg = <0x0 0x29e0000 0x0 0x10000>; 606 clock-names = "ftm_sys", "ftm_ext", 607 "ftm_fix", "ftm_cnt_clk_en"; 608 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 609 <&clockgen 4 1>, <&clockgen 4 1>; 610 big-endian; 611 status = "disabled"; 612 }; 613 614 pwm2: pwm@29f0000 { 615 compatible = "fsl,vf610-ftm-pwm"; 616 #pwm-cells = <3>; 617 reg = <0x0 0x29f0000 0x0 0x10000>; 618 clock-names = "ftm_sys", "ftm_ext", 619 "ftm_fix", "ftm_cnt_clk_en"; 620 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 621 <&clockgen 4 1>, <&clockgen 4 1>; 622 big-endian; 623 status = "disabled"; 624 }; 625 626 pwm3: pwm@2a00000 { 627 compatible = "fsl,vf610-ftm-pwm"; 628 #pwm-cells = <3>; 629 reg = <0x0 0x2a00000 0x0 0x10000>; 630 clock-names = "ftm_sys", "ftm_ext", 631 "ftm_fix", "ftm_cnt_clk_en"; 632 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 633 <&clockgen 4 1>, <&clockgen 4 1>; 634 big-endian; 635 status = "disabled"; 636 }; 637 638 pwm4: pwm@2a10000 { 639 compatible = "fsl,vf610-ftm-pwm"; 640 #pwm-cells = <3>; 641 reg = <0x0 0x2a10000 0x0 0x10000>; 642 clock-names = "ftm_sys", "ftm_ext", 643 "ftm_fix", "ftm_cnt_clk_en"; 644 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 645 <&clockgen 4 1>, <&clockgen 4 1>; 646 big-endian; 647 status = "disabled"; 648 }; 649 650 pwm5: pwm@2a20000 { 651 compatible = "fsl,vf610-ftm-pwm"; 652 #pwm-cells = <3>; 653 reg = <0x0 0x2a20000 0x0 0x10000>; 654 clock-names = "ftm_sys", "ftm_ext", 655 "ftm_fix", "ftm_cnt_clk_en"; 656 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 657 <&clockgen 4 1>, <&clockgen 4 1>; 658 big-endian; 659 status = "disabled"; 660 }; 661 662 pwm6: pwm@2a30000 { 663 compatible = "fsl,vf610-ftm-pwm"; 664 #pwm-cells = <3>; 665 reg = <0x0 0x2a30000 0x0 0x10000>; 666 clock-names = "ftm_sys", "ftm_ext", 667 "ftm_fix", "ftm_cnt_clk_en"; 668 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 669 <&clockgen 4 1>, <&clockgen 4 1>; 670 big-endian; 671 status = "disabled"; 672 }; 673 674 pwm7: pwm@2a40000 { 675 compatible = "fsl,vf610-ftm-pwm"; 676 #pwm-cells = <3>; 677 reg = <0x0 0x2a40000 0x0 0x10000>; 678 clock-names = "ftm_sys", "ftm_ext", 679 "ftm_fix", "ftm_cnt_clk_en"; 680 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 681 <&clockgen 4 1>, <&clockgen 4 1>; 682 big-endian; 683 status = "disabled"; 684 }; 685 686 wdog0: watchdog@2ad0000 { 687 compatible = "fsl,imx21-wdt"; 688 reg = <0x0 0x2ad0000 0x0 0x10000>; 689 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 690 clocks = <&clockgen 4 1>; 691 clock-names = "wdog-en"; 692 big-endian; 693 }; 694 695 sai1: sai@2b50000 { 696 #sound-dai-cells = <0>; 697 compatible = "fsl,vf610-sai"; 698 reg = <0x0 0x2b50000 0x0 0x10000>; 699 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 700 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 701 <&clockgen 4 1>, <&clockgen 4 1>; 702 clock-names = "bus", "mclk1", "mclk2", "mclk3"; 703 dma-names = "tx", "rx"; 704 dmas = <&edma0 1 47>, 705 <&edma0 1 46>; 706 status = "disabled"; 707 }; 708 709 sai2: sai@2b60000 { 710 #sound-dai-cells = <0>; 711 compatible = "fsl,vf610-sai"; 712 reg = <0x0 0x2b60000 0x0 0x10000>; 713 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 714 clocks = <&clockgen 4 1>, <&clockgen 4 1>, 715 <&clockgen 4 1>, <&clockgen 4 1>; 716 clock-names = "bus", "mclk1", "mclk2", "mclk3"; 717 dma-names = "tx", "rx"; 718 dmas = <&edma0 1 45>, 719 <&edma0 1 44>; 720 status = "disabled"; 721 }; 722 723 edma0: edma@2c00000 { 724 #dma-cells = <2>; 725 compatible = "fsl,vf610-edma"; 726 reg = <0x0 0x2c00000 0x0 0x10000>, 727 <0x0 0x2c10000 0x0 0x10000>, 728 <0x0 0x2c20000 0x0 0x10000>; 729 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 730 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 731 interrupt-names = "edma-tx", "edma-err"; 732 dma-channels = <32>; 733 big-endian; 734 clock-names = "dmamux0", "dmamux1"; 735 clocks = <&clockgen 4 1>, 736 <&clockgen 4 1>; 737 }; 738 739 dcu: dcu@2ce0000 { 740 compatible = "fsl,ls1021a-dcu"; 741 reg = <0x0 0x2ce0000 0x0 0x10000>; 742 interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>; 743 clocks = <&clockgen 4 0>, 744 <&clockgen 4 0>; 745 clock-names = "dcu", "pix"; 746 big-endian; 747 status = "disabled"; 748 }; 749 750 mdio0: mdio@2d24000 { 751 compatible = "gianfar"; 752 device_type = "mdio"; 753 #address-cells = <1>; 754 #size-cells = <0>; 755 reg = <0x0 0x2d24000 0x0 0x4000>, 756 <0x0 0x2d10030 0x0 0x4>; 757 }; 758 759 mdio1: mdio@2d64000 { 760 compatible = "gianfar"; 761 device_type = "mdio"; 762 #address-cells = <1>; 763 #size-cells = <0>; 764 reg = <0x0 0x2d64000 0x0 0x4000>, 765 <0x0 0x2d50030 0x0 0x4>; 766 }; 767 768 ptp_clock@2d10e00 { 769 compatible = "fsl,etsec-ptp"; 770 reg = <0x0 0x2d10e00 0x0 0xb0>; 771 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; 772 fsl,tclk-period = <5>; 773 fsl,tmr-prsc = <2>; 774 fsl,tmr-add = <0xaaaaaaab>; 775 fsl,tmr-fiper1 = <999999995>; 776 fsl,tmr-fiper2 = <999999995>; 777 fsl,max-adj = <499999999>; 778 fsl,extts-fifo; 779 }; 780 781 enet0: ethernet@2d10000 { 782 compatible = "fsl,etsec2"; 783 device_type = "network"; 784 #address-cells = <2>; 785 #size-cells = <2>; 786 interrupt-parent = <&gic>; 787 model = "eTSEC"; 788 fsl,magic-packet; 789 ranges; 790 dma-coherent; 791 792 queue-group@2d10000 { 793 #address-cells = <2>; 794 #size-cells = <2>; 795 reg = <0x0 0x2d10000 0x0 0x1000>; 796 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 797 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 798 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 799 }; 800 801 queue-group@2d14000 { 802 #address-cells = <2>; 803 #size-cells = <2>; 804 reg = <0x0 0x2d14000 0x0 0x1000>; 805 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, 806 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, 807 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 808 }; 809 }; 810 811 enet1: ethernet@2d50000 { 812 compatible = "fsl,etsec2"; 813 device_type = "network"; 814 #address-cells = <2>; 815 #size-cells = <2>; 816 interrupt-parent = <&gic>; 817 model = "eTSEC"; 818 ranges; 819 dma-coherent; 820 821 queue-group@2d50000 { 822 #address-cells = <2>; 823 #size-cells = <2>; 824 reg = <0x0 0x2d50000 0x0 0x1000>; 825 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 826 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, 827 <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 828 }; 829 830 queue-group@2d54000 { 831 #address-cells = <2>; 832 #size-cells = <2>; 833 reg = <0x0 0x2d54000 0x0 0x1000>; 834 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 835 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, 836 <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 837 }; 838 }; 839 840 enet2: ethernet@2d90000 { 841 compatible = "fsl,etsec2"; 842 device_type = "network"; 843 #address-cells = <2>; 844 #size-cells = <2>; 845 interrupt-parent = <&gic>; 846 model = "eTSEC"; 847 ranges; 848 dma-coherent; 849 850 queue-group@2d90000 { 851 #address-cells = <2>; 852 #size-cells = <2>; 853 reg = <0x0 0x2d90000 0x0 0x1000>; 854 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 855 <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 856 <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 857 }; 858 859 queue-group@2d94000 { 860 #address-cells = <2>; 861 #size-cells = <2>; 862 reg = <0x0 0x2d94000 0x0 0x1000>; 863 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 864 <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 865 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 866 }; 867 }; 868 869 usb2: usb@8600000 { 870 compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr"; 871 reg = <0x0 0x8600000 0x0 0x1000>; 872 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; 873 dr_mode = "host"; 874 phy_type = "ulpi"; 875 }; 876 877 usb3: usb3@3100000 { 878 compatible = "snps,dwc3"; 879 reg = <0x0 0x3100000 0x0 0x10000>; 880 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 881 dr_mode = "host"; 882 snps,quirk-frame-length-adjustment = <0x20>; 883 snps,dis_rxdet_inp3_quirk; 884 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 885 }; 886 887 pcie@3400000 { 888 compatible = "fsl,ls1021a-pcie"; 889 reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */ 890 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ 891 reg-names = "regs", "config"; 892 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 893 fsl,pcie-scfg = <&scfg 0>; 894 #address-cells = <3>; 895 #size-cells = <2>; 896 device_type = "pci"; 897 num-viewport = <6>; 898 bus-range = <0x0 0xff>; 899 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ 900 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 901 msi-parent = <&msi1>, <&msi2>; 902 #interrupt-cells = <1>; 903 interrupt-map-mask = <0 0 0 7>; 904 interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 905 <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, 906 <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, 907 <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 908 status = "disabled"; 909 }; 910 911 pcie@3500000 { 912 compatible = "fsl,ls1021a-pcie"; 913 reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */ 914 0x48 0x00000000 0x0 0x00002000>; /* configuration space */ 915 reg-names = "regs", "config"; 916 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; 917 fsl,pcie-scfg = <&scfg 1>; 918 #address-cells = <3>; 919 #size-cells = <2>; 920 device_type = "pci"; 921 num-viewport = <6>; 922 bus-range = <0x0 0xff>; 923 ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */ 924 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 925 msi-parent = <&msi1>, <&msi2>; 926 #interrupt-cells = <1>; 927 interrupt-map-mask = <0 0 0 7>; 928 interrupt-map = <0000 0 0 1 &gic GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 929 <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, 930 <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, 931 <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 932 status = "disabled"; 933 }; 934 935 can0: can@2a70000 { 936 compatible = "fsl,ls1021ar2-flexcan"; 937 reg = <0x0 0x2a70000 0x0 0x1000>; 938 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 939 clocks = <&clockgen 4 1>, <&clockgen 4 1>; 940 clock-names = "ipg", "per"; 941 big-endian; 942 }; 943 944 can1: can@2a80000 { 945 compatible = "fsl,ls1021ar2-flexcan"; 946 reg = <0x0 0x2a80000 0x0 0x1000>; 947 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 948 clocks = <&clockgen 4 1>, <&clockgen 4 1>; 949 clock-names = "ipg", "per"; 950 big-endian; 951 }; 952 953 can2: can@2a90000 { 954 compatible = "fsl,ls1021ar2-flexcan"; 955 reg = <0x0 0x2a90000 0x0 0x1000>; 956 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 957 clocks = <&clockgen 4 1>, <&clockgen 4 1>; 958 clock-names = "ipg", "per"; 959 big-endian; 960 }; 961 962 can3: can@2aa0000 { 963 compatible = "fsl,ls1021ar2-flexcan"; 964 reg = <0x0 0x2aa0000 0x0 0x1000>; 965 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; 966 clocks = <&clockgen 4 1>, <&clockgen 4 1>; 967 clock-names = "ipg", "per"; 968 big-endian; 969 }; 970 971 ocram1: sram@10000000 { 972 compatible = "mmio-sram"; 973 reg = <0x0 0x10000000 0x0 0x10000>; 974 #address-cells = <1>; 975 #size-cells = <1>; 976 ranges = <0x0 0x0 0x10000000 0x10000>; 977 }; 978 979 ocram2: sram@10010000 { 980 compatible = "mmio-sram"; 981 reg = <0x0 0x10010000 0x0 0x10000>; 982 #address-cells = <1>; 983 #size-cells = <1>; 984 ranges = <0x0 0x0 0x10010000 0x10000>; 985 }; 986 987 qdma: dma-controller@8390000 { 988 compatible = "fsl,ls1021a-qdma"; 989 reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */ 990 <0x0 0x8389000 0x0 0x1000>, /* Status regs */ 991 <0x0 0x838a000 0x0 0x2000>; /* Block regs */ 992 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 993 <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 994 <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 995 interrupt-names = "qdma-error", 996 "qdma-queue0", "qdma-queue1"; 997 dma-channels = <8>; 998 block-number = <1>; 999 block-offset = <0x1000>; 1000 fsl,dma-queues = <2>; 1001 status-sizes = <64>; 1002 queue-sizes = <64 64>; 1003 big-endian; 1004 }; 1005 1006 rcpm: power-controller@1ee2140 { 1007 compatible = "fsl,ls1021a-rcpm", "fsl,qoriq-rcpm-2.1+"; 1008 reg = <0x0 0x1ee2140 0x0 0x8>; 1009 #fsl,rcpm-wakeup-cells = <2>; 1010 }; 1011 1012 ftm_alarm0: timer0@29d0000 { 1013 compatible = "fsl,ls1021a-ftm-alarm"; 1014 reg = <0x0 0x29d0000 0x0 0x10000>; 1015 reg-names = "ftm"; 1016 fsl,rcpm-wakeup = <&rcpm 0x20000 0x0>; 1017 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 1018 big-endian; 1019 }; 1020 }; 1021}; 1022