mpc8572ds.dts 17.9 KB
Newer Older
1 2 3
/*
 * MPC8572 DS Device Tree Source
 *
4
 * Copyright 2007, 2008 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 316 317
		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
318
			compatible = "fsl,gianfar-mdio";
319
			reg = <0x24520 0x20>;
320

321 322
			phy0: ethernet-phy@0 {
				interrupt-parent = <&mpic>;
323 324
				interrupts = <10 1>;
				reg = <0x0>;
325 326 327
			};
			phy1: ethernet-phy@1 {
				interrupt-parent = <&mpic>;
328 329
				interrupts = <10 1>;
				reg = <0x1>;
330 331 332
			};
			phy2: ethernet-phy@2 {
				interrupt-parent = <&mpic>;
333 334
				interrupts = <10 1>;
				reg = <0x2>;
335 336 337
			};
			phy3: ethernet-phy@3 {
				interrupt-parent = <&mpic>;
338 339
				interrupts = <10 1>;
				reg = <0x3>;
340
			};
341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381

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

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

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

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

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

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

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

384 385
		enet0: ethernet@24000 {
			cell-index = <0>;
386 387 388
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
389
			reg = <0x24000 0x1000>;
390
			local-mac-address = [ 00 00 00 00 00 00 ];
391
			interrupts = <29 2 30 2 34 2>;
392
			interrupt-parent = <&mpic>;
393
			tbi-handle = <&tbi0>;
394 395 396 397
			phy-handle = <&phy0>;
			phy-connection-type = "rgmii-id";
		};

398 399
		enet1: ethernet@25000 {
			cell-index = <1>;
400 401 402
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
403
			reg = <0x25000 0x1000>;
404
			local-mac-address = [ 00 00 00 00 00 00 ];
405
			interrupts = <35 2 36 2 40 2>;
406
			interrupt-parent = <&mpic>;
407
			tbi-handle = <&tbi1>;
408 409 410 411
			phy-handle = <&phy1>;
			phy-connection-type = "rgmii-id";
		};

412 413
		enet2: ethernet@26000 {
			cell-index = <2>;
414 415 416
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
417
			reg = <0x26000 0x1000>;
418
			local-mac-address = [ 00 00 00 00 00 00 ];
419
			interrupts = <31 2 32 2 33 2>;
420
			interrupt-parent = <&mpic>;
421
			tbi-handle = <&tbi2>;
422 423 424 425
			phy-handle = <&phy2>;
			phy-connection-type = "rgmii-id";
		};

426 427
		enet3: ethernet@27000 {
			cell-index = <3>;
428 429 430
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
431
			reg = <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 438 439
			phy-handle = <&phy3>;
			phy-connection-type = "rgmii-id";
		};

440 441
		serial0: serial@4500 {
			cell-index = <0>;
442 443
			device_type = "serial";
			compatible = "ns16550";
444
			reg = <0x4500 0x100>;
445
			clock-frequency = <0>;
446
			interrupts = <42 2>;
447 448 449
			interrupt-parent = <&mpic>;
		};

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

		global-utilities@e0000 {	//global utilities block
			compatible = "fsl,mpc8572-guts";
462
			reg = <0xe0000 0x1000>;
463 464 465
			fsl,has-rstcr;
		};

466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481
		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>;
		};

482 483 484 485 486 487 488 489 490 491 492 493
		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>;
		};

494 495 496 497
		mpic: pic@40000 {
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
498
			reg = <0x40000 0x40000>;
499 500 501 502 503
			compatible = "chrp,open-pic";
			device_type = "open-pic";
		};
	};

504 505
	pci0: pcie@ffe08000 {
		cell-index = <0>;
506 507 508 509 510
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
511
		reg = <0 0xffe08000 0 0x1000>;
512
		bus-range = <0 255>;
513 514
		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x00010000>;
515
		clock-frequency = <33333333>;
516
		interrupt-parent = <&mpic>;
517 518
		interrupts = <24 2>;
		interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
519
		interrupt-map = <
520
			/* IDSEL 0x11 func 0 - PCI slot 1 */
521 522 523 524
			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
525

526
			/* IDSEL 0x11 func 1 - PCI slot 1 */
527 528 529 530
			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
531 532

			/* IDSEL 0x11 func 2 - PCI slot 1 */
533 534 535 536
			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
537 538

			/* IDSEL 0x11 func 3 - PCI slot 1 */
539 540 541 542
			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
543 544

			/* IDSEL 0x11 func 4 - PCI slot 1 */
545 546 547 548
			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
549 550

			/* IDSEL 0x11 func 5 - PCI slot 1 */
551 552 553 554
			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
555 556

			/* IDSEL 0x11 func 6 - PCI slot 1 */
557 558 559 560
			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
561 562

			/* IDSEL 0x11 func 7 - PCI slot 1 */
563 564 565 566
			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
567 568

			/* IDSEL 0x12 func 0 - PCI slot 2 */
569 570 571 572
			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
573

574
			/* IDSEL 0x12 func 1 - PCI slot 2 */
575 576 577 578
			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
579 580

			/* IDSEL 0x12 func 2 - PCI slot 2 */
581 582 583 584
			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
585 586

			/* IDSEL 0x12 func 3 - PCI slot 2 */
587 588 589 590
			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
591 592

			/* IDSEL 0x12 func 4 - PCI slot 2 */
593 594 595 596
			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
597 598

			/* IDSEL 0x12 func 5 - PCI slot 2 */
599 600 601 602
			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
603 604

			/* IDSEL 0x12 func 6 - PCI slot 2 */
605 606 607 608
			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
609 610

			/* IDSEL 0x12 func 7 - PCI slot 2 */
611 612 613 614
			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
615

616
			// IDSEL 0x1c  USB
617 618 619 620
			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
621 622

			// IDSEL 0x1d  Audio
623
			0xe800 0x0 0x0 0x1 &i8259 0x6 0x2
624 625

			// IDSEL 0x1e Legacy
626 627
			0xf000 0x0 0x0 0x1 &i8259 0x7 0x2
			0xf100 0x0 0x0 0x1 &i8259 0x7 0x2
628 629

			// IDSEL 0x1f IDE/SATA
630 631
			0xf800 0x0 0x0 0x1 &i8259 0xe 0x2
			0xf900 0x0 0x0 0x1 &i8259 0x5 0x2
632 633 634 635

			>;

		pcie@0 {
636
			reg = <0x0 0x0 0x0 0x0 0x0>;
637 638 639
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
640 641 642
			ranges = <0x2000000 0x0 0x80000000
				  0x2000000 0x0 0x80000000
				  0x0 0x20000000
643

644 645 646
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
				  0x0 0x100000>;
647
			uli1575@0 {
648
				reg = <0x0 0x0 0x0 0x0 0x0>;
649 650
				#size-cells = <2>;
				#address-cells = <3>;
651 652 653
				ranges = <0x2000000 0x0 0x80000000
					  0x2000000 0x0 0x80000000
					  0x0 0x20000000
654

655 656 657
					  0x1000000 0x0 0x0
					  0x1000000 0x0 0x0
					  0x0 0x100000>;
658 659 660 661 662
				isa@1e {
					device_type = "isa";
					#interrupt-cells = <2>;
					#size-cells = <1>;
					#address-cells = <2>;
663 664 665
					reg = <0xf000 0x0 0x0 0x0 0x0>;
					ranges = <0x1 0x0 0x1000000 0x0 0x0
						  0x1000>;
666 667 668
					interrupt-parent = <&i8259>;

					i8259: interrupt-controller@20 {
669 670 671
						reg = <0x1 0x20 0x2
						       0x1 0xa0 0x2
						       0x1 0x4d0 0x2>;
672 673 674 675 676 677 678 679 680 681 682 683
						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>;
684 685
						reg = <0x1 0x60 0x1 0x1 0x64 0x1>;
						interrupts = <1 3 12 3>;
686 687 688 689
						interrupt-parent =
							<&i8259>;

						keyboard@0 {
690
							reg = <0x0>;
691 692 693 694
							compatible = "pnpPNP,303";
						};

						mouse@1 {
695
							reg = <0x1>;
696 697 698 699 700 701
							compatible = "pnpPNP,f03";
						};
					};

					rtc@70 {
						compatible = "pnpPNP,b00";
702
						reg = <0x1 0x70 0x2>;
703 704 705
					};

					gpio@400 {
706
						reg = <0x1 0x400 0x80>;
707 708 709 710 711 712 713
					};
				};
			};
		};

	};

714 715
	pci1: pcie@ffe09000 {
		cell-index = <1>;
716 717 718 719 720
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
721
		reg = <0 0xffe09000 0 0x1000>;
722
		bus-range = <0 255>;
723 724
		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x00010000>;
725
		clock-frequency = <33333333>;
726
		interrupt-parent = <&mpic>;
727
		interrupts = <25 2>;
728
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
729 730
		interrupt-map = <
			/* IDSEL 0x0 */
731 732 733 734
			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
735 736
			>;
		pcie@0 {
737
			reg = <0x0 0x0 0x0 0x0 0x0>;
738 739 740
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
741 742 743
			ranges = <0x2000000 0x0 0xa0000000
				  0x2000000 0x0 0xa0000000
				  0x0 0x20000000
744

745 746 747
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
				  0x0 0x100000>;
748 749 750
		};
	};

751 752
	pci2: pcie@ffe0a000 {
		cell-index = <2>;
753 754 755 756 757
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
758
		reg = <0 0xffe0a000 0 0x1000>;
759
		bus-range = <0 255>;
760 761
		ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
			  0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x00010000>;
762
		clock-frequency = <33333333>;
763
		interrupt-parent = <&mpic>;
764
		interrupts = <26 2>;
765
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
766 767
		interrupt-map = <
			/* IDSEL 0x0 */
768 769 770 771
			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
772 773
			>;
		pcie@0 {
774
			reg = <0x0 0x0 0x0 0x0 0x0>;
775 776 777
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
778 779 780
			ranges = <0x2000000 0x0 0xc0000000
				  0x2000000 0x0 0xc0000000
				  0x0 0x20000000
781

782 783 784
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
				  0x0 0x100000>;
785 786 787
		};
	};
};