mpc8568mds.dts 12.2 KB
Newer Older
1 2 3
/*
 * MPC8568E MDS 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 = "MPC8568EMDS";
16
	compatible = "MPC8568EMDS", "MPC85xxMDS";
17 18 19
	#address-cells = <1>;
	#size-cells = <1>;

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;
	};

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

		PowerPC,8568@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 43 44
			timebase-frequency = <0>;
			bus-frequency = <0>;
			clock-frequency = <0>;
45
			next-level-cache = <&L2>;
46 47 48 49 50
		};
	};

	memory {
		device_type = "memory";
51
		reg = <0x0 0x10000000>;
52 53 54 55
	};

	bcsr@f8000000 {
		device_type = "board-control";
56
		reg = <0xf8000000 0x8000>;
57 58 59 60 61 62
	};

	soc8568@e0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
63 64
		ranges = <0x0 0xe0000000 0x100000>;
		reg = <0xe0000000 0x1000>;
65 66
		bus-frequency = <0>;

67 68
		memory-controller@2000 {
			compatible = "fsl,8568-memory-controller";
69
			reg = <0x2000 0x1000>;
70
			interrupt-parent = <&mpic>;
71
			interrupts = <18 2>;
72 73
		};

74
		L2: l2-cache-controller@20000 {
75
			compatible = "fsl,8568-l2-cache-controller";
76 77 78
			reg = <0x20000 0x1000>;
			cache-line-size = <32>;	// 32 bytes
			cache-size = <0x80000>;	// L2, 512K
79
			interrupt-parent = <&mpic>;
80
			interrupts = <16 2>;
81 82
		};

83
		i2c@3000 {
84 85
			#address-cells = <1>;
			#size-cells = <0>;
86
			cell-index = <0>;
87
			compatible = "fsl-i2c";
88 89
			reg = <0x3000 0x100>;
			interrupts = <43 2>;
90
			interrupt-parent = <&mpic>;
91
			dfsrr;
92 93 94

			rtc@68 {
				compatible = "dallas,ds1374";
95
				reg = <0x68>;
96
			};
97 98 99
		};

		i2c@3100 {
100 101
			#address-cells = <1>;
			#size-cells = <0>;
102
			cell-index = <1>;
103
			compatible = "fsl-i2c";
104 105
			reg = <0x3100 0x100>;
			interrupts = <43 2>;
106
			interrupt-parent = <&mpic>;
107 108 109
			dfsrr;
		};

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

151 152 153
		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
154
			compatible = "fsl,gianfar-mdio";
155
			reg = <0x24520 0x20>;
156

157
			phy0: ethernet-phy@7 {
158
				interrupt-parent = <&mpic>;
159
				interrupts = <1 1>;
160
				reg = <0x7>;
161 162
				device_type = "ethernet-phy";
			};
163 164
			phy1: ethernet-phy@1 {
				interrupt-parent = <&mpic>;
165
				interrupts = <2 1>;
166
				reg = <0x1>;
167 168
				device_type = "ethernet-phy";
			};
169 170
			phy2: ethernet-phy@2 {
				interrupt-parent = <&mpic>;
171
				interrupts = <1 1>;
172
				reg = <0x2>;
173 174
				device_type = "ethernet-phy";
			};
175 176
			phy3: ethernet-phy@3 {
				interrupt-parent = <&mpic>;
177
				interrupts = <2 1>;
178
				reg = <0x3>;
179 180 181 182
				device_type = "ethernet-phy";
			};
		};

183 184
		enet0: ethernet@24000 {
			cell-index = <0>;
185 186 187
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
188
			reg = <0x24000 0x1000>;
189
			local-mac-address = [ 00 00 00 00 00 00 ];
190
 			interrupts = <29 2 30 2 34 2>;
191 192
			interrupt-parent = <&mpic>;
			phy-handle = <&phy2>;
193 194
		};

195 196
		enet1: ethernet@25000 {
			cell-index = <1>;
197 198 199
			device_type = "network";
			model = "eTSEC";
			compatible = "gianfar";
200
			reg = <0x25000 0x1000>;
201
			local-mac-address = [ 00 00 00 00 00 00 ];
202
 			interrupts = <35 2 36 2 40 2>;
203 204
			interrupt-parent = <&mpic>;
			phy-handle = <&phy3>;
205 206
		};

207 208
		serial0: serial@4500 {
			cell-index = <0>;
209 210
			device_type = "serial";
			compatible = "ns16550";
211
			reg = <0x4500 0x100>;
212
			clock-frequency = <0>;
213
			interrupts = <42 2>;
214
			interrupt-parent = <&mpic>;
215 216
		};

217 218
		global-utilities@e0000 {	//global utilities block
			compatible = "fsl,mpc8548-guts";
219
			reg = <0xe0000 0x1000>;
220 221 222
			fsl,has-rstcr;
		};

223 224
		serial1: serial@4600 {
			cell-index = <1>;
225 226
			device_type = "serial";
			compatible = "ns16550";
227
			reg = <0x4600 0x100>;
228
			clock-frequency = <0>;
229
			interrupts = <42 2>;
230
			interrupt-parent = <&mpic>;
231 232 233
		};

		crypto@30000 {
234 235
			compatible = "fsl,sec2.1", "fsl,sec2.0";
			reg = <0x30000 0x10000>;
236
			interrupts = <45 2>;
237
			interrupt-parent = <&mpic>;
238 239 240 241
			fsl,num-channels = <4>;
			fsl,channel-fifo-len = <24>;
			fsl,exec-units-mask = <0xfe>;
			fsl,descriptor-types-mask = <0x12b0ebf>;
242 243
		};

244
		mpic: pic@40000 {
245 246 247
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
248
			reg = <0x40000 0x40000>;
249 250 251
			compatible = "chrp,open-pic";
			device_type = "open-pic";
		};
K
Kumar Gala 已提交
252

253
		par_io@e0100 {
254
			reg = <0xe0100 0x100>;
255 256 257
			device_type = "par_io";
			num-ports = <7>;

258
			pio1: ucc_pin@01 {
259 260
				pio-map = <
			/* port  pin  dir  open_drain  assignment  has_irq */
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
					0x4  0xa  0x1  0x0  0x2  0x0 	/* TxD0 */
					0x4  0x9  0x1  0x0  0x2  0x0 	/* TxD1 */
					0x4  0x8  0x1  0x0  0x2  0x0 	/* TxD2 */
					0x4  0x7  0x1  0x0  0x2  0x0 	/* TxD3 */
					0x4  0x17  0x1  0x0  0x2  0x0 	/* TxD4 */
					0x4  0x16  0x1  0x0  0x2  0x0 	/* TxD5 */
					0x4  0x15  0x1  0x0  0x2  0x0 	/* TxD6 */
					0x4  0x14  0x1  0x0  0x2  0x0 	/* TxD7 */
					0x4  0xf  0x2  0x0  0x2  0x0 	/* RxD0 */
					0x4  0xe  0x2  0x0  0x2  0x0 	/* RxD1 */
					0x4  0xd  0x2  0x0  0x2  0x0 	/* RxD2 */
					0x4  0xc  0x2  0x0  0x2  0x0 	/* RxD3 */
					0x4  0x1d  0x2  0x0  0x2  0x0 	/* RxD4 */
					0x4  0x1c  0x2  0x0  0x2  0x0 	/* RxD5 */
					0x4  0x1b  0x2  0x0  0x2  0x0 	/* RxD6 */
					0x4  0x1a  0x2  0x0  0x2  0x0 	/* RxD7 */
					0x4  0xb  0x1  0x0  0x2  0x0 	/* TX_EN */
					0x4  0x18  0x1  0x0  0x2  0x0 	/* TX_ER */
					0x4  0x10  0x2  0x0  0x2  0x0 	/* RX_DV */
					0x4  0x1e  0x2  0x0  0x2  0x0 	/* RX_ER */
					0x4  0x11  0x2  0x0  0x2  0x0 	/* RX_CLK */
					0x4  0x13  0x1  0x0  0x2  0x0 	/* GTX_CLK */
					0x1  0x1f  0x2  0x0  0x3  0x0>;	/* GTX125 */
284
			};
K
Kumar Gala 已提交
285

286
			pio2: ucc_pin@02 {
287 288
				pio-map = <
			/* port  pin  dir  open_drain  assignment  has_irq */
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
					0x5  0xa 0x1  0x0  0x2  0x0   /* TxD0 */
					0x5  0x9 0x1  0x0  0x2  0x0   /* TxD1 */
					0x5  0x8 0x1  0x0  0x2  0x0   /* TxD2 */
					0x5  0x7 0x1  0x0  0x2  0x0   /* TxD3 */
					0x5  0x17 0x1  0x0  0x2  0x0   /* TxD4 */
					0x5  0x16 0x1  0x0  0x2  0x0   /* TxD5 */
					0x5  0x15 0x1  0x0  0x2  0x0   /* TxD6 */
					0x5  0x14 0x1  0x0  0x2  0x0   /* TxD7 */
					0x5  0xf 0x2  0x0  0x2  0x0   /* RxD0 */
					0x5  0xe 0x2  0x0  0x2  0x0   /* RxD1 */
					0x5  0xd 0x2  0x0  0x2  0x0   /* RxD2 */
					0x5  0xc 0x2  0x0  0x2  0x0   /* RxD3 */
					0x5  0x1d 0x2  0x0  0x2  0x0   /* RxD4 */
					0x5  0x1c 0x2  0x0  0x2  0x0   /* RxD5 */
					0x5  0x1b 0x2  0x0  0x2  0x0   /* RxD6 */
					0x5  0x1a 0x2  0x0  0x2  0x0   /* RxD7 */
					0x5  0xb 0x1  0x0  0x2  0x0   /* TX_EN */
					0x5  0x18 0x1  0x0  0x2  0x0   /* TX_ER */
					0x5  0x10 0x2  0x0  0x2  0x0   /* RX_DV */
					0x5  0x1e 0x2  0x0  0x2  0x0   /* RX_ER */
					0x5  0x11 0x2  0x0  0x2  0x0   /* RX_CLK */
					0x5  0x13 0x1  0x0  0x2  0x0   /* GTX_CLK */
					0x1  0x1f 0x2  0x0  0x3  0x0   /* GTX125 */
					0x4  0x6 0x3  0x0  0x2  0x0   /* MDIO */
					0x4  0x5 0x1  0x0  0x2  0x0>; /* MDC */
314 315 316 317 318 319 320 321
			};
		};
	};

	qe@e0080000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "qe";
322
		compatible = "fsl,qe";
323 324
		ranges = <0x0 0xe0080000 0x40000>;
		reg = <0xe0080000 0x480>;
325
		brg-frequency = <0>;
326
		bus-frequency = <396000000>;
327 328

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

334
			data-only@0 {
335 336
				compatible = "fsl,qe-muram-data",
					     "fsl,cpm-muram-data";
337
				reg = <0x0 0x10000>;
338 339 340 341
			};
		};

		spi@4c0 {
342 343
			cell-index = <0>;
			compatible = "fsl,spi";
344
			reg = <0x4c0 0x40>;
345
			interrupts = <2>;
346
			interrupt-parent = <&qeic>;
347 348 349 350
			mode = "cpu";
		};

		spi@500 {
351 352
			cell-index = <1>;
			compatible = "fsl,spi";
353
			reg = <0x500 0x40>;
354
			interrupts = <1>;
355
			interrupt-parent = <&qeic>;
356 357 358
			mode = "cpu";
		};

359
		enet2: ucc@2000 {
360 361
			device_type = "network";
			compatible = "ucc_geth";
362
			cell-index = <1>;
363 364
			reg = <0x2000 0x200>;
			interrupts = <32>;
365
			interrupt-parent = <&qeic>;
366
			local-mac-address = [ 00 00 00 00 00 00 ];
367 368
			rx-clock-name = "none";
			tx-clock-name = "clk16";
369
			pio-handle = <&pio1>;
370 371
			phy-handle = <&phy0>;
			phy-connection-type = "rgmii-id";
372 373
		};

374
		enet3: ucc@3000 {
375 376
			device_type = "network";
			compatible = "ucc_geth";
377
			cell-index = <2>;
378 379
			reg = <0x3000 0x200>;
			interrupts = <33>;
380
			interrupt-parent = <&qeic>;
381
			local-mac-address = [ 00 00 00 00 00 00 ];
382 383
			rx-clock-name = "none";
			tx-clock-name = "clk16";
384
			pio-handle = <&pio2>;
385 386
			phy-handle = <&phy1>;
			phy-connection-type = "rgmii-id";
387 388 389 390 391
		};

		mdio@2120 {
			#address-cells = <1>;
			#size-cells = <0>;
392
			reg = <0x2120 0x18>;
393
			compatible = "fsl,ucc-mdio";
394 395 396

			/* These are the same PHYs as on
			 * gianfar's MDIO bus */
397
			qe_phy0: ethernet-phy@07 {
398
				interrupt-parent = <&mpic>;
399
				interrupts = <1 1>;
400
				reg = <0x7>;
401 402
				device_type = "ethernet-phy";
			};
403 404
			qe_phy1: ethernet-phy@01 {
				interrupt-parent = <&mpic>;
405
				interrupts = <2 1>;
406
				reg = <0x1>;
407 408
				device_type = "ethernet-phy";
			};
409 410
			qe_phy2: ethernet-phy@02 {
				interrupt-parent = <&mpic>;
411
				interrupts = <1 1>;
412
				reg = <0x2>;
413 414
				device_type = "ethernet-phy";
			};
415 416
			qe_phy3: ethernet-phy@03 {
				interrupt-parent = <&mpic>;
417
				interrupts = <2 1>;
418
				reg = <0x3>;
419 420 421 422
				device_type = "ethernet-phy";
			};
		};

423
		qeic: interrupt-controller@80 {
424
			interrupt-controller;
425
			compatible = "fsl,qe-ic";
426 427
			#address-cells = <0>;
			#interrupt-cells = <1>;
428
			reg = <0x80 0x80>;
429
			big-endian;
430
			interrupts = <46 2 46 2>; //high:30 low:30
431
			interrupt-parent = <&mpic>;
432 433 434
		};

	};
K
Kumar Gala 已提交
435

436 437
	pci0: pci@e0008000 {
		cell-index = <0>;
438
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
K
Kumar Gala 已提交
439 440
		interrupt-map = <
			/* IDSEL 0x12 AD18 */
441 442 443 444
			0x9000 0x0 0x0 0x1 &mpic 0x5 0x1
			0x9000 0x0 0x0 0x2 &mpic 0x6 0x1
			0x9000 0x0 0x0 0x3 &mpic 0x7 0x1
			0x9000 0x0 0x0 0x4 &mpic 0x4 0x1
K
Kumar Gala 已提交
445 446

			/* IDSEL 0x13 AD19 */
447 448 449 450
			0x9800 0x0 0x0 0x1 &mpic 0x6 0x1
			0x9800 0x0 0x0 0x2 &mpic 0x7 0x1
			0x9800 0x0 0x0 0x3 &mpic 0x4 0x1
			0x9800 0x0 0x0 0x4 &mpic 0x5 0x1>;
K
Kumar Gala 已提交
451 452

		interrupt-parent = <&mpic>;
453 454 455 456 457
		interrupts = <24 2>;
		bus-range = <0 255>;
		ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x20000000
			  0x1000000 0x0 0x0 0xe2000000 0x0 0x800000>;
		clock-frequency = <66666666>;
K
Kumar Gala 已提交
458 459 460
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
461
		reg = <0xe0008000 0x1000>;
K
Kumar Gala 已提交
462 463 464 465 466
		compatible = "fsl,mpc8540-pci";
		device_type = "pci";
	};

	/* PCI Express */
467 468
	pci1: pcie@e000a000 {
		cell-index = <2>;
469
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
K
Kumar Gala 已提交
470 471 472
		interrupt-map = <

			/* IDSEL 0x0 (PEX) */
473 474 475 476
			00000 0x0 0x0 0x1 &mpic 0x0 0x1
			00000 0x0 0x0 0x2 &mpic 0x1 0x1
			00000 0x0 0x0 0x3 &mpic 0x2 0x1
			00000 0x0 0x0 0x4 &mpic 0x3 0x1>;
K
Kumar Gala 已提交
477 478

		interrupt-parent = <&mpic>;
479 480 481 482 483
		interrupts = <26 2>;
		bus-range = <0 255>;
		ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
			  0x1000000 0x0 0x0 0xe2800000 0x0 0x800000>;
		clock-frequency = <33333333>;
K
Kumar Gala 已提交
484 485 486
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
487
		reg = <0xe000a000 0x1000>;
K
Kumar Gala 已提交
488 489 490
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		pcie@0 {
491
			reg = <0x0 0x0 0x0 0x0 0x0>;
K
Kumar Gala 已提交
492 493 494
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
495 496 497
			ranges = <0x2000000 0x0 0xa0000000
				  0x2000000 0x0 0xa0000000
				  0x0 0x10000000
K
Kumar Gala 已提交
498

499 500 501
				  0x1000000 0x0 0x0
				  0x1000000 0x0 0x0
				  0x0 0x800000>;
K
Kumar Gala 已提交
502 503
		};
	};
504
};