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