fsl-ls1043a.dtsi 26.1 KB
Newer Older
1
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
/*
3
 * Device Tree Include file for NXP Layerscape-1043A family SoC.
4
 *
5
 * Copyright 2014-2015 Freescale Semiconductor, Inc.
6
 * Copyright 2018, 2020 NXP
7 8 9 10
 *
 * Mingkai Hu <Mingkai.hu@freescale.com>
 */

11
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
12
#include <dt-bindings/thermal/thermal.h>
13
#include <dt-bindings/interrupt-controller/arm-gic.h>
14
#include <dt-bindings/gpio/gpio.h>
15

16 17 18 19 20 21
/ {
	compatible = "fsl,ls1043a";
	interrupt-parent = <&gic>;
	#address-cells = <2>;
	#size-cells = <2>;

22
	aliases {
23
		crypto = &crypto;
24 25 26 27 28 29 30 31
		fman0 = &fman0;
		ethernet0 = &enet0;
		ethernet1 = &enet1;
		ethernet2 = &enet2;
		ethernet3 = &enet3;
		ethernet4 = &enet4;
		ethernet5 = &enet5;
		ethernet6 = &enet6;
32
		rtc1 = &ftm_alarm0;
33 34
	};

35
	cpus {
36
		#address-cells = <1>;
37 38 39 40 41 42 43 44 45 46 47
		#size-cells = <0>;

		/*
		 * We expect the enable-method for cpu's to be "psci", but this
		 * is dependent on the SoC FW, which will fill this in.
		 *
		 * Currently supported enable-method is psci v0.2
		 */
		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
48
			reg = <0x0>;
49
			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
50
			next-level-cache = <&l2>;
51
			cpu-idle-states = <&CPU_PH20>;
52
			#cooling-cells = <2>;
53 54 55 56 57
		};

		cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
58
			reg = <0x1>;
59
			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
60
			next-level-cache = <&l2>;
61
			cpu-idle-states = <&CPU_PH20>;
62
			#cooling-cells = <2>;
63 64 65 66 67
		};

		cpu2: cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
68
			reg = <0x2>;
69
			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
70
			next-level-cache = <&l2>;
71
			cpu-idle-states = <&CPU_PH20>;
72
			#cooling-cells = <2>;
73 74 75 76 77
		};

		cpu3: cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
78
			reg = <0x3>;
79
			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
80
			next-level-cache = <&l2>;
81
			cpu-idle-states = <&CPU_PH20>;
82
			#cooling-cells = <2>;
83 84 85 86
		};

		l2: l2-cache {
			compatible = "cache";
87
			cache-level = <2>;
88
			cache-unified;
89 90 91
		};
	};

92 93 94 95 96
	idle-states {
		/*
		 * PSCI node is not added default, U-boot will add missing
		 * parts if it determines to use PSCI.
		 */
97
		entry-method = "psci";
98 99 100 101

		CPU_PH20: cpu-ph20 {
			compatible = "arm,idle-state";
			idle-state-name = "PH20";
102
			arm,psci-suspend-param = <0x0>;
103 104 105 106 107 108
			entry-latency-us = <1000>;
			exit-latency-us = <1000>;
			min-residency-us = <3000>;
		};
	};

109 110 111 112 113 114
	memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0 0x80000000>;
		      /* DRAM space 1, size: 2GiB DRAM */
	};

115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		bman_fbpr: bman-fbpr {
			compatible = "shared-dma-pool";
			size = <0 0x1000000>;
			alignment = <0 0x1000000>;
			no-map;
		};

		qman_fqd: qman-fqd {
			compatible = "shared-dma-pool";
			size = <0 0x400000>;
			alignment = <0 0x400000>;
			no-map;
		};

		qman_pfdr: qman-pfdr {
			compatible = "shared-dma-pool";
			size = <0 0x2000000>;
			alignment = <0 0x2000000>;
			no-map;
		};
	};

142 143 144 145 146 147 148 149
	sysclk: sysclk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <100000000>;
		clock-output-names = "sysclk";
	};

	reboot {
150
		compatible = "syscon-reboot";
151 152 153 154 155
		regmap = <&dcfg>;
		offset = <0xb0>;
		mask = <0x02>;
	};

156
	thermal-zones {
157
		ddr-thermal {
158 159
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
160
			thermal-sensors = <&tmu 0>;
161

162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
			trips {
				ddr-ctrler-alert {
					temperature = <85000>;
					hysteresis = <2000>;
					type = "passive";
				};

				ddr-ctrler-crit {
					temperature = <95000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};

177
		serdes-thermal {
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
			thermal-sensors = <&tmu 1>;

			trips {
				serdes-alert {
					temperature = <85000>;
					hysteresis = <2000>;
					type = "passive";
				};

				serdes-crit {
					temperature = <95000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};

197
		fman-thermal {
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
			thermal-sensors = <&tmu 2>;

			trips {
				fman-alert {
					temperature = <85000>;
					hysteresis = <2000>;
					type = "passive";
				};

				fman-crit {
					temperature = <95000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};

217
		cluster-thermal {
218 219
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
220 221 222
			thermal-sensors = <&tmu 3>;

			trips {
223
				core_cluster_alert: core-cluster-alert {
224 225 226 227
					temperature = <85000>;
					hysteresis = <2000>;
					type = "passive";
				};
228 229

				core_cluster_crit: core-cluster-crit {
230 231 232 233 234 235 236 237
					temperature = <95000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};

			cooling-maps {
				map0 {
238
					trip = <&core_cluster_alert>;
239
					cooling-device =
240 241 242 243
						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
244 245 246
				};
			};
		};
247

248
		sec-thermal {
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
			thermal-sensors = <&tmu 4>;

			trips {
				sec-alert {
					temperature = <85000>;
					hysteresis = <2000>;
					type = "passive";
				};

				sec-crit {
					temperature = <95000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};
267 268
	};

269 270
	timer {
		compatible = "arm,armv8-timer";
271 272 273 274
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
275
		fsl,erratum-a008585;
276 277 278
	};

	pmu {
279
		compatible = "arm,cortex-a53-pmu";
280 281 282 283
		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
284 285 286 287 288 289 290 291 292 293 294 295 296 297
		interrupt-affinity = <&cpu0>,
				     <&cpu1>,
				     <&cpu2>,
				     <&cpu3>;
	};

	gic: interrupt-controller@1400000 {
		compatible = "arm,gic-400";
		#interrupt-cells = <3>;
		interrupt-controller;
		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
		      <0x0 0x1402000 0 0x2000>, /* GICC */
		      <0x0 0x1404000 0 0x2000>, /* GICH */
		      <0x0 0x1406000 0 0x2000>; /* GICV */
298
		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
299 300
	};

301
	soc: soc {
302 303 304 305
		compatible = "simple-bus";
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;
306
		dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
307
		dma-coherent;
308 309 310 311 312 313 314 315 316 317 318 319

		clockgen: clocking@1ee1000 {
			compatible = "fsl,ls1043a-clockgen";
			reg = <0x0 0x1ee1000 0x0 0x1000>;
			#clock-cells = <2>;
			clocks = <&sysclk>;
		};

		scfg: scfg@1570000 {
			compatible = "fsl,ls1043a-scfg", "syscon";
			reg = <0x0 0x1570000 0x0 0x10000>;
			big-endian;
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x0 0x1570000 0x10000>;

			extirq: interrupt-controller@1ac {
				compatible = "fsl,ls1043a-extirq";
				#interrupt-cells = <2>;
				#address-cells = <0>;
				interrupt-controller;
				reg = <0x1ac 4>;
				interrupt-map =
					<0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
					<1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
					<2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
					<3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
					<4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
					<5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
					<6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
					<7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
					<8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
					<9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
					<10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
					<11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
343
				interrupt-map-mask = <0xf 0x0>;
344
			};
345 346
		};

347 348 349 350 351 352 353 354
		crypto: crypto@1700000 {
			compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
				     "fsl,sec-v4.0";
			fsl,sec-era = <3>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x00 0x1700000 0x100000>;
			reg = <0x00 0x1700000 0x0 0x100000>;
355
			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
356
			dma-coherent;
357 358 359 360 361

			sec_jr0: jr@10000 {
				compatible = "fsl,sec-v5.4-job-ring",
					     "fsl,sec-v5.0-job-ring",
					     "fsl,sec-v4.0-job-ring";
362
				reg = <0x10000 0x10000>;
363
				interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
364 365 366 367 368 369
			};

			sec_jr1: jr@20000 {
				compatible = "fsl,sec-v5.4-job-ring",
					     "fsl,sec-v5.0-job-ring",
					     "fsl,sec-v4.0-job-ring";
370
				reg = <0x20000 0x10000>;
371
				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
372 373 374 375 376 377
			};

			sec_jr2: jr@30000 {
				compatible = "fsl,sec-v5.4-job-ring",
					     "fsl,sec-v5.0-job-ring",
					     "fsl,sec-v4.0-job-ring";
378
				reg = <0x30000 0x10000>;
379
				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
380 381 382 383 384 385
			};

			sec_jr3: jr@40000 {
				compatible = "fsl,sec-v5.4-job-ring",
					     "fsl,sec-v5.0-job-ring",
					     "fsl,sec-v4.0-job-ring";
386
				reg = <0x40000 0x10000>;
387
				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
388 389 390
			};
		};

391 392 393 394 395 396 397 398
		sfp: efuse@1e80000 {
			compatible = "fsl,ls1021a-sfp";
			reg = <0x0 0x1e80000 0x0 0x10000>;
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(4)>;
			clock-names = "sfp";
		};

399 400
		dcfg: dcfg@1ee0000 {
			compatible = "fsl,ls1043a-dcfg", "syscon";
401
			reg = <0x0 0x1ee0000 0x0 0x1000>;
402 403 404
			big-endian;
		};

405
		ifc: memory-controller@1530000 {
406
			compatible = "fsl,ifc";
407
			reg = <0x0 0x1530000 0x0 0x10000>;
408
			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
409 410
		};

411
		qspi: spi@1550000 {
412 413 414 415 416 417
			compatible = "fsl,ls1043a-qspi", "fsl,ls1021a-qspi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0x1550000 0x0 0x10000>,
				<0x0 0x40000000 0x0 0x4000000>;
			reg-names = "QuadSPI", "QuadSPI-memory";
418
			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
419
			clock-names = "qspi_en", "qspi";
420 421 422 423
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>,
				 <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
424 425 426
			status = "disabled";
		};

427
		esdhc: mmc@1560000 {
428 429
			compatible = "fsl,ls1043a-esdhc", "fsl,esdhc";
			reg = <0x0 0x1560000 0x0 0x10000>;
430
			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
431 432 433 434 435 436 437
			clock-frequency = <0>;
			voltage-ranges = <1800 1800 3300 3300>;
			sdhci,auto-cmd12;
			big-endian;
			bus-width = <4>;
		};

438 439 440
		ddr: memory-controller@1080000 {
			compatible = "fsl,qoriq-memory-controller";
			reg = <0x0 0x1080000 0x0 0x1000>;
441
			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
442 443 444
			big-endian;
		};

445 446 447
		tmu: tmu@1f00000 {
			compatible = "fsl,qoriq-tmu";
			reg = <0x0 0x1f00000 0x0 0x10000>;
448
			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
449
			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>;
450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
			fsl,tmu-calibration =
					<0x00000000 0x00000023>,
					<0x00000001 0x0000002a>,
					<0x00000002 0x00000031>,
					<0x00000003 0x00000037>,
					<0x00000004 0x0000003e>,
					<0x00000005 0x00000044>,
					<0x00000006 0x0000004b>,
					<0x00000007 0x00000051>,
					<0x00000008 0x00000058>,
					<0x00000009 0x0000005e>,
					<0x0000000a 0x00000065>,
					<0x0000000b 0x0000006b>,

					<0x00010000 0x00000023>,
					<0x00010001 0x0000002b>,
					<0x00010002 0x00000033>,
					<0x00010003 0x0000003b>,
					<0x00010004 0x00000043>,
					<0x00010005 0x0000004b>,
					<0x00010006 0x00000054>,
					<0x00010007 0x0000005c>,
					<0x00010008 0x00000064>,
					<0x00010009 0x0000006c>,

					<0x00020000 0x00000021>,
					<0x00020001 0x0000002c>,
					<0x00020002 0x00000036>,
					<0x00020003 0x00000040>,
					<0x00020004 0x0000004b>,
					<0x00020005 0x00000055>,
					<0x00020006 0x0000005f>,

					<0x00030000 0x00000013>,
					<0x00030001 0x0000001d>,
					<0x00030002 0x00000028>,
					<0x00030003 0x00000032>,
					<0x00030004 0x0000003d>,
					<0x00030005 0x00000047>,
					<0x00030006 0x00000052>,
					<0x00030007 0x0000005c>;
491 492 493
			#thermal-sensor-cells = <1>;
		};

494 495 496
		qman: qman@1880000 {
			compatible = "fsl,qman";
			reg = <0x0 0x1880000 0x0 0x10000>;
497
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
498 499 500 501 502 503
			memory-region = <&qman_fqd &qman_pfdr>;
		};

		bman: bman@1890000 {
			compatible = "fsl,bman";
			reg = <0x0 0x1890000 0x0 0x10000>;
504
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
505 506 507
			memory-region = <&bman_fbpr>;
		};

508
		bportals: bman-portals-bus@508000000 {
509 510 511
			ranges = <0x0 0x5 0x08000000 0x8000000>;
		};

512
		qportals: qman-portals-bus@500000000 {
513 514 515
			ranges = <0x0 0x5 0x00000000 0x8000000>;
		};

516
		dspi0: spi@2100000 {
517 518 519 520
			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0x2100000 0x0 0x10000>;
521
			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
522
			clock-names = "dspi";
523 524
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
525 526 527 528 529 530
			spi-num-chipselects = <5>;
			big-endian;
			status = "disabled";
		};

		i2c0: i2c@2180000 {
531
			compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
532 533 534
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0x2180000 0x0 0x10000>;
535
			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
536
			clock-names = "ipg";
537 538
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
539 540 541
			dmas = <&edma0 1 38>,
			       <&edma0 1 39>;
			dma-names = "rx", "tx";
542 543 544 545
			status = "disabled";
		};

		i2c1: i2c@2190000 {
546
			compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
547 548 549
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0x2190000 0x0 0x10000>;
550
			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
551
			clock-names = "ipg";
552 553
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
554
			scl-gpios = <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
555 556 557 558
			status = "disabled";
		};

		i2c2: i2c@21a0000 {
559
			compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
560 561 562
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0x21a0000 0x0 0x10000>;
563
			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
564
			clock-names = "ipg";
565 566
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
567
			scl-gpios = <&gpio4 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
568 569 570 571
			status = "disabled";
		};

		i2c3: i2c@21b0000 {
572
			compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
573 574 575
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0x21b0000 0x0 0x10000>;
576
			interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
577
			clock-names = "ipg";
578 579
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
580
			scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
581 582 583 584 585 586
			status = "disabled";
		};

		duart0: serial@21c0500 {
			compatible = "fsl,ns16550", "ns16550a";
			reg = <0x00 0x21c0500 0x0 0x100>;
587
			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
588 589
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
590 591 592 593 594
		};

		duart1: serial@21c0600 {
			compatible = "fsl,ns16550", "ns16550a";
			reg = <0x00 0x21c0600 0x0 0x100>;
595
			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
596 597
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
598 599 600 601 602
		};

		duart2: serial@21d0500 {
			compatible = "fsl,ns16550", "ns16550a";
			reg = <0x0 0x21d0500 0x0 0x100>;
603
			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
604 605
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
606 607 608 609 610
		};

		duart3: serial@21d0600 {
			compatible = "fsl,ns16550", "ns16550a";
			reg = <0x0 0x21d0600 0x0 0x100>;
611
			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
612 613
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
614 615 616
		};

		gpio1: gpio@2300000 {
617
			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
618
			reg = <0x0 0x2300000 0x0 0x10000>;
619
			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
620 621 622 623 624 625 626
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio2: gpio@2310000 {
627
			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
628
			reg = <0x0 0x2310000 0x0 0x10000>;
629
			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
630 631 632 633 634 635 636
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio3: gpio@2320000 {
637
			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
638
			reg = <0x0 0x2320000 0x0 0x10000>;
639
			interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
640 641 642 643 644 645 646
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio4: gpio@2330000 {
647
			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
648
			reg = <0x0 0x2330000 0x0 0x10000>;
649
			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
650 651 652 653 654 655
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720
		uqe: uqe@2400000 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,qe", "simple-bus";
			ranges = <0x0 0x0 0x2400000 0x40000>;
			reg = <0x0 0x2400000 0x0 0x480>;
			brg-frequency = <100000000>;
			bus-frequency = <200000000>;
			fsl,qe-num-riscs = <1>;
			fsl,qe-num-snums = <28>;

			qeic: qeic@80 {
				compatible = "fsl,qe-ic";
				reg = <0x80 0x80>;
				#address-cells = <0>;
				interrupt-controller;
				#interrupt-cells = <1>;
				interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
					     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
			};

			si1: si@700 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,ls1043-qe-si",
						"fsl,t1040-qe-si";
				reg = <0x700 0x80>;
			};

			siram1: siram@1000 {
				#address-cells = <1>;
				#size-cells = <1>;
				compatible = "fsl,ls1043-qe-siram",
						"fsl,t1040-qe-siram";
				reg = <0x1000 0x800>;
			};

			ucc@2000 {
				cell-index = <1>;
				reg = <0x2000 0x200>;
				interrupts = <32>;
				interrupt-parent = <&qeic>;
			};

			ucc@2200 {
				cell-index = <3>;
				reg = <0x2200 0x200>;
				interrupts = <34>;
				interrupt-parent = <&qeic>;
			};

			muram@10000 {
				#address-cells = <1>;
				#size-cells = <1>;
				compatible = "fsl,qe-muram", "fsl,cpm-muram";
				ranges = <0x0 0x10000 0x6000>;

				data-only@0 {
					compatible = "fsl,qe-muram-data",
					"fsl,cpm-muram-data";
					reg = <0x0 0x6000>;
				};
			};
		};

721 722 723
		lpuart0: serial@2950000 {
			compatible = "fsl,ls1021a-lpuart";
			reg = <0x0 0x2950000 0x0 0x1000>;
724
			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
725
			clocks = <&clockgen QORIQ_CLK_SYSCLK 0>;
726 727 728 729 730 731 732
			clock-names = "ipg";
			status = "disabled";
		};

		lpuart1: serial@2960000 {
			compatible = "fsl,ls1021a-lpuart";
			reg = <0x0 0x2960000 0x0 0x1000>;
733
			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
734 735
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
736 737 738 739 740 741 742
			clock-names = "ipg";
			status = "disabled";
		};

		lpuart2: serial@2970000 {
			compatible = "fsl,ls1021a-lpuart";
			reg = <0x0 0x2970000 0x0 0x1000>;
743
			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
744 745
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
746 747 748 749 750 751 752
			clock-names = "ipg";
			status = "disabled";
		};

		lpuart3: serial@2980000 {
			compatible = "fsl,ls1021a-lpuart";
			reg = <0x0 0x2980000 0x0 0x1000>;
753
			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
754 755
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
756 757 758 759 760 761 762
			clock-names = "ipg";
			status = "disabled";
		};

		lpuart4: serial@2990000 {
			compatible = "fsl,ls1021a-lpuart";
			reg = <0x0 0x2990000 0x0 0x1000>;
763
			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
764 765
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
766 767 768 769 770 771 772
			clock-names = "ipg";
			status = "disabled";
		};

		lpuart5: serial@29a0000 {
			compatible = "fsl,ls1021a-lpuart";
			reg = <0x0 0x29a0000 0x0 0x1000>;
773
			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
774 775
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
776 777 778 779
			clock-names = "ipg";
			status = "disabled";
		};

780
		wdog0: watchdog@2ad0000 {
781 782
			compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
			reg = <0x0 0x2ad0000 0x0 0x10000>;
783
			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
784 785
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
786 787 788
			big-endian;
		};

789
		edma0: dma-controller@2c00000 {
790 791 792 793 794
			#dma-cells = <2>;
			compatible = "fsl,vf610-edma";
			reg = <0x0 0x2c00000 0x0 0x10000>,
			      <0x0 0x2c10000 0x0 0x10000>,
			      <0x0 0x2c20000 0x0 0x10000>;
795 796
			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
797 798 799 800
			interrupt-names = "edma-tx", "edma-err";
			dma-channels = <32>;
			big-endian;
			clock-names = "dmamux0", "dmamux1";
801 802 803 804
			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>,
				 <&clockgen QORIQ_CLK_PLATFORM_PLL
					    QORIQ_CLK_PLL_DIV(1)>;
805 806
		};

807
		aux_bus: aux-bus {
808 809 810 811 812 813 814 815 816
			#address-cells = <2>;
			#size-cells = <2>;
			compatible = "simple-bus";
			ranges;
			dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;

			usb0: usb@2f00000 {
				compatible = "snps,dwc3";
				reg = <0x0 0x2f00000 0x0 0x10000>;
817
				interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
818 819 820 821 822 823 824
				dr_mode = "host";
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,dis_rxdet_inp3_quirk;
				usb3-lpm-capable;
				snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
				status = "disabled";
			};
825

826 827 828
			usb1: usb@3000000 {
				compatible = "snps,dwc3";
				reg = <0x0 0x3000000 0x0 0x10000>;
829
				interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
830 831 832 833 834 835 836
				dr_mode = "host";
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,dis_rxdet_inp3_quirk;
				usb3-lpm-capable;
				snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
				status = "disabled";
			};
837

838 839 840
			usb2: usb@3100000 {
				compatible = "snps,dwc3";
				reg = <0x0 0x3100000 0x0 0x10000>;
841
				interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
842 843 844 845 846 847 848
				dr_mode = "host";
				snps,quirk-frame-length-adjustment = <0x20>;
				snps,dis_rxdet_inp3_quirk;
				usb3-lpm-capable;
				snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
				status = "disabled";
			};
849

850 851 852 853 854
			sata: sata@3200000 {
				compatible = "fsl,ls1043a-ahci";
				reg = <0x0 0x3200000 0x0 0x10000>,
					<0x0 0x20140520 0x0 0x4>;
				reg-names = "ahci", "sata-ecc";
855
				interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
856 857 858 859
				clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
						    QORIQ_CLK_PLL_DIV(1)>;
				dma-coherent;
			};
860 861 862
		};

		msi1: msi-controller1@1571000 {
863
			compatible = "fsl,ls1043a-msi";
864 865
			reg = <0x0 0x1571000 0x0 0x8>;
			msi-controller;
866
			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
867 868 869
		};

		msi2: msi-controller2@1572000 {
870
			compatible = "fsl,ls1043a-msi";
871 872
			reg = <0x0 0x1572000 0x0 0x8>;
			msi-controller;
873
			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
874 875 876
		};

		msi3: msi-controller3@1573000 {
877
			compatible = "fsl,ls1043a-msi";
878 879
			reg = <0x0 0x1573000 0x0 0x8>;
			msi-controller;
880
			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
881 882
		};

883
		pcie1: pcie@3400000 {
884
			compatible = "fsl,ls1043a-pcie";
885 886
			reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
			      <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
887
			reg-names = "regs", "config";
888 889
			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
890
			interrupt-names = "pme", "aer";
891 892 893
			#address-cells = <3>;
			#size-cells = <2>;
			device_type = "pci";
894
			num-viewport = <6>;
895 896 897
			bus-range = <0x0 0xff>;
			ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
898
			msi-parent = <&msi1>, <&msi2>, <&msi3>;
899 900 901 902 903 904
			#interrupt-cells = <1>;
			interrupt-map-mask = <0 0 0 7>;
			interrupt-map = <0000 0 0 1 &gic 0 110 0x4>,
					<0000 0 0 2 &gic 0 111 0x4>,
					<0000 0 0 3 &gic 0 112 0x4>,
					<0000 0 0 4 &gic 0 113 0x4>;
905
			fsl,pcie-scfg = <&scfg 0>;
906
			big-endian;
907
			status = "disabled";
908 909
		};

910
		pcie2: pcie@3500000 {
911
			compatible = "fsl,ls1043a-pcie";
912 913
			reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
			      <0x48 0x00000000 0x0 0x00002000>; /* configuration space */
914
			reg-names = "regs", "config";
915 916
			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
917
			interrupt-names = "pme", "aer";
918 919 920
			#address-cells = <3>;
			#size-cells = <2>;
			device_type = "pci";
921
			num-viewport = <6>;
922 923 924
			bus-range = <0x0 0xff>;
			ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000   /* downstream I/O */
				  0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
925
			msi-parent = <&msi1>, <&msi2>, <&msi3>;
926 927 928 929 930 931
			#interrupt-cells = <1>;
			interrupt-map-mask = <0 0 0 7>;
			interrupt-map = <0000 0 0 1 &gic 0 120  0x4>,
					<0000 0 0 2 &gic 0 121 0x4>,
					<0000 0 0 3 &gic 0 122 0x4>,
					<0000 0 0 4 &gic 0 123 0x4>;
932
			fsl,pcie-scfg = <&scfg 1>;
933
			big-endian;
934
			status = "disabled";
935 936
		};

937
		pcie3: pcie@3600000 {
938
			compatible = "fsl,ls1043a-pcie";
939 940
			reg = <0x00 0x03600000 0x0 0x00100000>, /* controller registers */
			      <0x50 0x00000000 0x0 0x00002000>; /* configuration space */
941
			reg-names = "regs", "config";
942 943
			interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
944
			interrupt-names = "pme", "aer";
945 946 947
			#address-cells = <3>;
			#size-cells = <2>;
			device_type = "pci";
948
			num-viewport = <6>;
949 950 951
			bus-range = <0x0 0xff>;
			ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000   /* downstream I/O */
				  0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
952
			msi-parent = <&msi1>, <&msi2>, <&msi3>;
953 954 955 956 957 958
			#interrupt-cells = <1>;
			interrupt-map-mask = <0 0 0 7>;
			interrupt-map = <0000 0 0 1 &gic 0 154 0x4>,
					<0000 0 0 2 &gic 0 155 0x4>,
					<0000 0 0 3 &gic 0 156 0x4>,
					<0000 0 0 4 &gic 0 157 0x4>;
959
			fsl,pcie-scfg = <&scfg 2>;
960
			big-endian;
961
			status = "disabled";
962
		};
963 964 965 966 967 968 969 970 971 972 973 974 975

		qdma: dma-controller@8380000 {
			compatible = "fsl,ls1021a-qdma", "fsl,ls1043a-qdma";
			reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
			      <0x0 0x8390000 0x0 0x10000>, /* Status regs */
			      <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "qdma-error", "qdma-queue0",
				"qdma-queue1", "qdma-queue2", "qdma-queue3";
976
			#dma-cells = <1>;
977 978 979 980 981 982 983 984 985
			dma-channels = <8>;
			block-number = <1>;
			block-offset = <0x10000>;
			fsl,dma-queues = <2>;
			status-sizes = <64>;
			queue-sizes = <64 64>;
			big-endian;
		};

986 987 988 989 990 991
		rcpm: power-controller@1ee2140 {
			compatible = "fsl,ls1043a-rcpm", "fsl,qoriq-rcpm-2.1+";
			reg = <0x0 0x1ee2140 0x0 0x4>;
			#fsl,rcpm-wakeup-cells = <1>;
		};

992
		ftm_alarm0: rtc@29d0000 {
993 994 995 996 997 998
			compatible = "fsl,ls1043a-ftm-alarm";
			reg = <0x0 0x29d0000 0x0 0x10000>;
			fsl,rcpm-wakeup = <&rcpm 0x20000>;
			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
			big-endian;
		};
999 1000
	};

Sumit Garg's avatar
Sumit Garg committed
1001 1002 1003 1004 1005 1006 1007
	firmware {
		optee {
			compatible = "linaro,optee-tz";
			method = "smc";
		};
	};

1008
};
1009 1010 1011

#include "qoriq-qman-portals.dtsi"
#include "qoriq-bman-portals.dtsi"