mpc8572ds.dts 18.2 KB
Newer Older
1 2 3
/*
 * MPC8572 DS Device Tree Source
 *
4
 * Copyright 2007-2009 Freescale Semiconductor Inc.
5 6 7 8 9 10 11
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

12
/dts-v1/;
13 14 15
/ {
	model = "fsl,MPC8572DS";
	compatible = "fsl,MPC8572DS";
16 17
	#address-cells = <2>;
	#size-cells = <2>;
18

19 20 21 22 23 24 25 26 27 28 29 30
	aliases {
		ethernet0 = &enet0;
		ethernet1 = &enet1;
		ethernet2 = &enet2;
		ethernet3 = &enet3;
		serial0 = &serial0;
		serial1 = &serial1;
		pci0 = &pci0;
		pci1 = &pci1;
		pci2 = &pci2;
	};

31 32 33 34 35 36
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8572@0 {
			device_type = "cpu";
37 38 39 40 41
			reg = <0x0>;
			d-cache-line-size = <32>;	// 32 bytes
			i-cache-line-size = <32>;	// 32 bytes
			d-cache-size = <0x8000>;		// L1, 32K
			i-cache-size = <0x8000>;		// L1, 32K
42
			timebase-frequency = <0>;
43 44
			bus-frequency = <0>;
			clock-frequency = <0>;
45
			next-level-cache = <&L2>;
46 47 48 49
		};

		PowerPC,8572@1 {
			device_type = "cpu";
50 51 52 53 54
			reg = <0x1>;
			d-cache-line-size = <32>;	// 32 bytes
			i-cache-line-size = <32>;	// 32 bytes
			d-cache-size = <0x8000>;		// L1, 32K
			i-cache-size = <0x8000>;		// L1, 32K
55
			timebase-frequency = <0>;
56 57
			bus-frequency = <0>;
			clock-frequency = <0>;
58
			next-level-cache = <&L2>;
59 60 61 62 63 64 65
		};
	};

	memory {
		device_type = "memory";
	};

66 67 68 69
	localbus@ffe05000 {
		#address-cells = <2>;
		#size-cells = <1>;
		compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
70
		reg = <0 0xffe05000 0 0x1000>;
71 72 73
		interrupts = <19 2>;
		interrupt-parent = <&mpic>;

74 75 76 77 78 79 80
		ranges = <0x0 0x0 0x0 0xe8000000 0x08000000
			  0x1 0x0 0x0 0xe0000000 0x08000000
			  0x2 0x0 0x0 0xffa00000 0x00040000
			  0x3 0x0 0x0 0xffdf0000 0x00008000
			  0x4 0x0 0x0 0xffa40000 0x00040000
			  0x5 0x0 0x0 0xffa80000 0x00040000
			  0x6 0x0 0x0 0xffac0000 0x00040000>;
81 82 83 84 85 86 87 88 89 90 91

		nor@0,0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "cfi-flash";
			reg = <0x0 0x0 0x8000000>;
			bank-width = <2>;
			device-width = <1>;

			ramdisk@0 {
				reg = <0x0 0x03000000>;
92
				read-only;
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 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 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
			};

			diagnostic@3000000 {
				reg = <0x03000000 0x00e00000>;
				read-only;
			};

			dink@3e00000 {
				reg = <0x03e00000 0x00200000>;
				read-only;
			};

			kernel@4000000 {
				reg = <0x04000000 0x00400000>;
				read-only;
			};

			jffs2@4400000 {
				reg = <0x04400000 0x03b00000>;
			};

			dtb@7f00000 {
				reg = <0x07f00000 0x00080000>;
				read-only;
			};

			u-boot@7f80000 {
				reg = <0x07f80000 0x00080000>;
				read-only;
			};
		};

		nand@2,0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8572-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <0x2 0x0 0x40000>;

			u-boot@0 {
				reg = <0x0 0x02000000>;
				read-only;
			};

			jffs2@2000000 {
				reg = <0x02000000 0x10000000>;
			};

			ramdisk@12000000 {
				reg = <0x12000000 0x08000000>;
				read-only;
			};

			kernel@1a000000 {
				reg = <0x1a000000 0x04000000>;
			};

			dtb@1e000000 {
				reg = <0x1e000000 0x01000000>;
				read-only;
			};

			empty@1f000000 {
				reg = <0x1f000000 0x21000000>;
			};
		};

		nand@4,0 {
			compatible = "fsl,mpc8572-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <0x4 0x0 0x40000>;
		};

		nand@5,0 {
			compatible = "fsl,mpc8572-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <0x5 0x0 0x40000>;
		};

		nand@6,0 {
			compatible = "fsl,mpc8572-fcm-nand",
				     "fsl,elbc-fcm-nand";
			reg = <0x6 0x0 0x40000>;
		};
	};

179 180 181 182
	soc8572@ffe00000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
183
		compatible = "simple-bus";
184 185
		ranges = <0x0 0 0xffe00000 0x100000>;
		reg = <0 0xffe00000 0 0x1000>;	// CCSRBAR & soc regs, remove once parse code for immrbase fixed
186 187 188 189
		bus-frequency = <0>;		// Filled out by uboot.

		memory-controller@2000 {
			compatible = "fsl,mpc8572-memory-controller";
190
			reg = <0x2000 0x1000>;
191
			interrupt-parent = <&mpic>;
192
			interrupts = <18 2>;
193 194 195 196
		};

		memory-controller@6000 {
			compatible = "fsl,mpc8572-memory-controller";
197
			reg = <0x6000 0x1000>;
198
			interrupt-parent = <&mpic>;
199
			interrupts = <18 2>;
200 201
		};

202
		L2: l2-cache-controller@20000 {
203
			compatible = "fsl,mpc8572-l2-cache-controller";
204 205
			reg = <0x20000 0x1000>;
			cache-line-size = <32>;	// 32 bytes
206
			cache-size = <0x100000>; // L2, 1M
207
			interrupt-parent = <&mpic>;
208
			interrupts = <16 2>;
209 210 211
		};

		i2c@3000 {
212 213 214
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
215
			compatible = "fsl-i2c";
216 217
			reg = <0x3000 0x100>;
			interrupts = <43 2>;
218 219 220 221 222
			interrupt-parent = <&mpic>;
			dfsrr;
		};

		i2c@3100 {
223 224 225
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <1>;
226
			compatible = "fsl-i2c";
227 228
			reg = <0x3100 0x100>;
			interrupts = <43 2>;
229 230 231 232
			interrupt-parent = <&mpic>;
			dfsrr;
		};

233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
		dma@c300 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
			reg = <0xc300 0x4>;
			ranges = <0x0 0xc100 0x200>;
			cell-index = <1>;
			dma-channel@0 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x0 0x80>;
				cell-index = <0>;
				interrupt-parent = <&mpic>;
				interrupts = <76 2>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x80 0x80>;
				cell-index = <1>;
				interrupt-parent = <&mpic>;
				interrupts = <77 2>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x100 0x80>;
				cell-index = <2>;
				interrupt-parent = <&mpic>;
				interrupts = <78 2>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x180 0x80>;
				cell-index = <3>;
				interrupt-parent = <&mpic>;
				interrupts = <79 2>;
			};
		};

		dma@21300 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
			reg = <0x21300 0x4>;
			ranges = <0x0 0x21100 0x200>;
			cell-index = <0>;
			dma-channel@0 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x0 0x80>;
				cell-index = <0>;
				interrupt-parent = <&mpic>;
				interrupts = <20 2>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x80 0x80>;
				cell-index = <1>;
				interrupt-parent = <&mpic>;
				interrupts = <21 2>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x100 0x80>;
				cell-index = <2>;
				interrupt-parent = <&mpic>;
				interrupts = <22 2>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8572-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x180 0x80>;
				cell-index = <3>;
				interrupt-parent = <&mpic>;
				interrupts = <23 2>;
			};
		};

315
		enet0: ethernet@24000 {
316 317
			#address-cells = <1>;
			#size-cells = <1>;
318
			cell-index = <0>;
319 320 321
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
322
			reg = <0x24000 0x1000>;
323
			ranges = <0x0 0x24000 0x1000>;
324
			local-mac-address = [ 00 00 00 00 00 00 ];
325
			interrupts = <29 2 30 2 34 2>;
326
			interrupt-parent = <&mpic>;
327
			tbi-handle = <&tbi0>;
328 329
			phy-handle = <&phy0>;
			phy-connection-type = "rgmii-id";
330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362

			mdio@520 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,gianfar-mdio";
				reg = <0x520 0x20>;

				phy0: ethernet-phy@0 {
					interrupt-parent = <&mpic>;
					interrupts = <10 1>;
					reg = <0x0>;
				};
				phy1: ethernet-phy@1 {
					interrupt-parent = <&mpic>;
					interrupts = <10 1>;
					reg = <0x1>;
				};
				phy2: ethernet-phy@2 {
					interrupt-parent = <&mpic>;
					interrupts = <10 1>;
					reg = <0x2>;
				};
				phy3: ethernet-phy@3 {
					interrupt-parent = <&mpic>;
					interrupts = <10 1>;
					reg = <0x3>;
				};

				tbi0: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
363 364
		};

365
		enet1: ethernet@25000 {
366 367
			#address-cells = <1>;
			#size-cells = <1>;
368
			cell-index = <1>;
369 370 371
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
372
			reg = <0x25000 0x1000>;
373
			ranges = <0x0 0x25000 0x1000>;
374
			local-mac-address = [ 00 00 00 00 00 00 ];
375
			interrupts = <35 2 36 2 40 2>;
376
			interrupt-parent = <&mpic>;
377
			tbi-handle = <&tbi1>;
378 379
			phy-handle = <&phy1>;
			phy-connection-type = "rgmii-id";
380 381 382 383 384 385 386 387 388 389 390 391

			mdio@520 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,gianfar-tbi";
				reg = <0x520 0x20>;

				tbi1: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
392 393
		};

394
		enet2: ethernet@26000 {
395 396
			#address-cells = <1>;
			#size-cells = <1>;
397
			cell-index = <2>;
398 399 400
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
401
			reg = <0x26000 0x1000>;
402
			ranges = <0x0 0x26000 0x1000>;
403
			local-mac-address = [ 00 00 00 00 00 00 ];
404
			interrupts = <31 2 32 2 33 2>;
405
			interrupt-parent = <&mpic>;
406
			tbi-handle = <&tbi2>;
407 408
			phy-handle = <&phy2>;
			phy-connection-type = "rgmii-id";
409 410 411 412 413 414 415 416 417 418 419 420

			mdio@520 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,gianfar-tbi";
				reg = <0x520 0x20>;

				tbi2: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
421 422
		};

423
		enet3: ethernet@27000 {
424 425
			#address-cells = <1>;
			#size-cells = <1>;
426
			cell-index = <3>;
427 428 429
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
430
			reg = <0x27000 0x1000>;
431
			ranges = <0x0 0x27000 0x1000>;
432
			local-mac-address = [ 00 00 00 00 00 00 ];
433
			interrupts = <37 2 38 2 39 2>;
434
			interrupt-parent = <&mpic>;
435
			tbi-handle = <&tbi3>;
436 437
			phy-handle = <&phy3>;
			phy-connection-type = "rgmii-id";
438 439 440 441 442 443 444 445 446 447 448 449

			mdio@520 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,gianfar-tbi";
				reg = <0x520 0x20>;

				tbi3: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
450 451
		};

452 453
		serial0: serial@4500 {
			cell-index = <0>;
454 455
			device_type = "serial";
			compatible = "ns16550";
456
			reg = <0x4500 0x100>;
457
			clock-frequency = <0>;
458
			interrupts = <42 2>;
459 460 461
			interrupt-parent = <&mpic>;
		};

462 463
		serial1: serial@4600 {
			cell-index = <1>;
464 465
			device_type = "serial";
			compatible = "ns16550";
466
			reg = <0x4600 0x100>;
467
			clock-frequency = <0>;
468
			interrupts = <42 2>;
469 470 471 472 473
			interrupt-parent = <&mpic>;
		};

		global-utilities@e0000 {	//global utilities block
			compatible = "fsl,mpc8572-guts";
474
			reg = <0xe0000 0x1000>;
475 476 477
			fsl,has-rstcr;
		};

478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493
		msi@41600 {
			compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
			reg = <0x41600 0x80>;
			msi-available-ranges = <0 0x100>;
			interrupts = <
				0xe0 0
				0xe1 0
				0xe2 0
				0xe3 0
				0xe4 0
				0xe5 0
				0xe6 0
				0xe7 0>;
			interrupt-parent = <&mpic>;
		};

494 495 496 497 498 499 500 501 502 503 504 505
		crypto@30000 {
			compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
				     "fsl,sec2.1", "fsl,sec2.0";
			reg = <0x30000 0x10000>;
			interrupts = <45 2 58 2>;
			interrupt-parent = <&mpic>;
			fsl,num-channels = <4>;
			fsl,channel-fifo-len = <24>;
			fsl,exec-units-mask = <0x9fe>;
			fsl,descriptor-types-mask = <0x3ab0ebf>;
		};

506 507 508 509
		mpic: pic@40000 {
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
510
			reg = <0x40000 0x40000>;
511 512 513 514 515
			compatible = "chrp,open-pic";
			device_type = "open-pic";
		};
	};

516
	pci0: pcie@ffe08000 {
517 518 519 520 521
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
522
		reg = <0 0xffe08000 0 0x1000>;
523
		bus-range = <0 255>;
524 525
		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x00010000>;
526
		clock-frequency = <33333333>;
527
		interrupt-parent = <&mpic>;
528 529
		interrupts = <24 2>;
		interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
530
		interrupt-map = <
531
			/* IDSEL 0x11 func 0 - PCI slot 1 */
532 533 534 535
			0x8800 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8800 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8800 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8800 0x0 0x0 0x4 &mpic 0x1 0x1
536

537
			/* IDSEL 0x11 func 1 - PCI slot 1 */
538 539 540 541
			0x8900 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8900 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8900 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8900 0x0 0x0 0x4 &mpic 0x1 0x1
542 543

			/* IDSEL 0x11 func 2 - PCI slot 1 */
544 545 546 547
			0x8a00 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8a00 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8a00 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8a00 0x0 0x0 0x4 &mpic 0x1 0x1
548 549

			/* IDSEL 0x11 func 3 - PCI slot 1 */
550 551 552 553
			0x8b00 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8b00 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8b00 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8b00 0x0 0x0 0x4 &mpic 0x1 0x1
554 555

			/* IDSEL 0x11 func 4 - PCI slot 1 */
556 557 558 559
			0x8c00 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8c00 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8c00 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8c00 0x0 0x0 0x4 &mpic 0x1 0x1
560 561

			/* IDSEL 0x11 func 5 - PCI slot 1 */
562 563 564 565
			0x8d00 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8d00 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8d00 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8d00 0x0 0x0 0x4 &mpic 0x1 0x1
566 567

			/* IDSEL 0x11 func 6 - PCI slot 1 */
568 569 570 571
			0x8e00 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8e00 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8e00 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8e00 0x0 0x0 0x4 &mpic 0x1 0x1
572 573

			/* IDSEL 0x11 func 7 - PCI slot 1 */
574 575 576 577
			0x8f00 0x0 0x0 0x1 &mpic 0x2 0x1
			0x8f00 0x0 0x0 0x2 &mpic 0x3 0x1
			0x8f00 0x0 0x0 0x3 &mpic 0x4 0x1
			0x8f00 0x0 0x0 0x4 &mpic 0x1 0x1
578 579

			/* IDSEL 0x12 func 0 - PCI slot 2 */
580 581 582 583
			0x9000 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9000 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9000 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9000 0x0 0x0 0x4 &mpic 0x2 0x1
584

585
			/* IDSEL 0x12 func 1 - PCI slot 2 */
586 587 588 589
			0x9100 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9100 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9100 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9100 0x0 0x0 0x4 &mpic 0x2 0x1
590 591

			/* IDSEL 0x12 func 2 - PCI slot 2 */
592 593 594 595
			0x9200 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9200 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9200 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9200 0x0 0x0 0x4 &mpic 0x2 0x1
596 597

			/* IDSEL 0x12 func 3 - PCI slot 2 */
598 599 600 601
			0x9300 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9300 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9300 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9300 0x0 0x0 0x4 &mpic 0x2 0x1
602 603

			/* IDSEL 0x12 func 4 - PCI slot 2 */
604 605 606 607
			0x9400 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9400 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9400 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9400 0x0 0x0 0x4 &mpic 0x2 0x1
608 609

			/* IDSEL 0x12 func 5 - PCI slot 2 */
610 611 612 613
			0x9500 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9500 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9500 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9500 0x0 0x0 0x4 &mpic 0x2 0x1
614 615

			/* IDSEL 0x12 func 6 - PCI slot 2 */
616 617 618 619
			0x9600 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9600 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9600 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9600 0x0 0x0 0x4 &mpic 0x2 0x1
620 621

			/* IDSEL 0x12 func 7 - PCI slot 2 */
622 623 624 625
			0x9700 0x0 0x0 0x1 &mpic 0x3 0x1
			0x9700 0x0 0x0 0x2 &mpic 0x4 0x1
			0x9700 0x0 0x0 0x3 &mpic 0x1 0x1
			0x9700 0x0 0x0 0x4 &mpic 0x2 0x1
626

627
			// IDSEL 0x1c  USB
628 629 630 631
			0xe000 0x0 0x0 0x1 &i8259 0xc 0x2
			0xe100 0x0 0x0 0x2 &i8259 0x9 0x2
			0xe200 0x0 0x0 0x3 &i8259 0xa 0x2
			0xe300 0x0 0x0 0x4 &i8259 0xb 0x2
632 633

			// IDSEL 0x1d  Audio
634
			0xe800 0x0 0x0 0x1 &i8259 0x6 0x2
635 636

			// IDSEL 0x1e Legacy
637 638
			0xf000 0x0 0x0 0x1 &i8259 0x7 0x2
			0xf100 0x0 0x0 0x1 &i8259 0x7 0x2
639 640

			// IDSEL 0x1f IDE/SATA
641 642
			0xf800 0x0 0x0 0x1 &i8259 0xe 0x2
			0xf900 0x0 0x0 0x1 &i8259 0x5 0x2
643 644 645 646

			>;

		pcie@0 {
647
			reg = <0x0 0x0 0x0 0x0 0x0>;
648 649 650
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
651 652 653
			ranges = <0x2000000 0x0 0x80000000
				  0x2000000 0x0 0x80000000
				  0x0 0x20000000
654

655 656
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
657
				  0x0 0x10000>;
658
			uli1575@0 {
659
				reg = <0x0 0x0 0x0 0x0 0x0>;
660 661
				#size-cells = <2>;
				#address-cells = <3>;
662 663 664
				ranges = <0x2000000 0x0 0x80000000
					  0x2000000 0x0 0x80000000
					  0x0 0x20000000
665

666 667
					  0x1000000 0x0 0x0
					  0x1000000 0x0 0x0
668
					  0x0 0x10000>;
669 670 671 672 673
				isa@1e {
					device_type = "isa";
					#interrupt-cells = <2>;
					#size-cells = <1>;
					#address-cells = <2>;
674 675 676
					reg = <0xf000 0x0 0x0 0x0 0x0>;
					ranges = <0x1 0x0 0x1000000 0x0 0x0
						  0x1000>;
677 678 679
					interrupt-parent = <&i8259>;

					i8259: interrupt-controller@20 {
680 681 682
						reg = <0x1 0x20 0x2
						       0x1 0xa0 0x2
						       0x1 0x4d0 0x2>;
683 684 685 686 687 688 689 690 691 692 693 694
						interrupt-controller;
						device_type = "interrupt-controller";
						#address-cells = <0>;
						#interrupt-cells = <2>;
						compatible = "chrp,iic";
						interrupts = <9 2>;
						interrupt-parent = <&mpic>;
					};

					i8042@60 {
						#size-cells = <0>;
						#address-cells = <1>;
695 696
						reg = <0x1 0x60 0x1 0x1 0x64 0x1>;
						interrupts = <1 3 12 3>;
697 698 699 700
						interrupt-parent =
							<&i8259>;

						keyboard@0 {
701
							reg = <0x0>;
702 703 704 705
							compatible = "pnpPNP,303";
						};

						mouse@1 {
706
							reg = <0x1>;
707 708 709 710 711 712
							compatible = "pnpPNP,f03";
						};
					};

					rtc@70 {
						compatible = "pnpPNP,b00";
713
						reg = <0x1 0x70 0x2>;
714 715 716
					};

					gpio@400 {
717
						reg = <0x1 0x400 0x80>;
718 719 720 721 722 723 724
					};
				};
			};
		};

	};

725
	pci1: pcie@ffe09000 {
726 727 728 729 730
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
731
		reg = <0 0xffe09000 0 0x1000>;
732
		bus-range = <0 255>;
733 734
		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x00010000>;
735
		clock-frequency = <33333333>;
736
		interrupt-parent = <&mpic>;
737
		interrupts = <25 2>;
738
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
739 740
		interrupt-map = <
			/* IDSEL 0x0 */
741 742 743 744
			0000 0x0 0x0 0x1 &mpic 0x4 0x1
			0000 0x0 0x0 0x2 &mpic 0x5 0x1
			0000 0x0 0x0 0x3 &mpic 0x6 0x1
			0000 0x0 0x0 0x4 &mpic 0x7 0x1
745 746
			>;
		pcie@0 {
747
			reg = <0x0 0x0 0x0 0x0 0x0>;
748 749 750
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
751 752 753
			ranges = <0x2000000 0x0 0xa0000000
				  0x2000000 0x0 0xa0000000
				  0x0 0x20000000
754

755 756
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
757
				  0x0 0x10000>;
758 759 760
		};
	};

761
	pci2: pcie@ffe0a000 {
762 763 764 765 766
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
767
		reg = <0 0xffe0a000 0 0x1000>;
768
		bus-range = <0 255>;
769 770
		ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
			  0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x00010000>;
771
		clock-frequency = <33333333>;
772
		interrupt-parent = <&mpic>;
773
		interrupts = <26 2>;
774
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
775 776
		interrupt-map = <
			/* IDSEL 0x0 */
777 778 779 780
			0000 0x0 0x0 0x1 &mpic 0x0 0x1
			0000 0x0 0x0 0x2 &mpic 0x1 0x1
			0000 0x0 0x0 0x3 &mpic 0x2 0x1
			0000 0x0 0x0 0x4 &mpic 0x3 0x1
781 782
			>;
		pcie@0 {
783
			reg = <0x0 0x0 0x0 0x0 0x0>;
784 785 786
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
787 788 789
			ranges = <0x2000000 0x0 0xc0000000
				  0x2000000 0x0 0xc0000000
				  0x0 0x20000000
790

791 792
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
793
				  0x0 0x10000>;
794 795 796
		};
	};
};