mpc8641_hpcn.dts 9.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/*
 * MPC8641 HPCN Device Tree Source
 *
 * Copyright 2006 Freescale Semiconductor Inc.
 *
 * 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.
 */


/ {
	model = "MPC8641HPCN";
	compatible = "mpc86xx";
	#address-cells = <1>;
	#size-cells = <1>;

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

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8641@0 {
			device_type = "cpu";
			reg = <0>;
			d-cache-line-size = <20>;	// 32 bytes
			i-cache-line-size = <20>;	// 32 bytes
			d-cache-size = <8000>;		// L1, 32K
			i-cache-size = <8000>;		// L1, 32K
			timebase-frequency = <0>;	// 33 MHz, from uboot
			bus-frequency = <0>;		// From uboot
			clock-frequency = <0>;		// From uboot
		};
		PowerPC,8641@1 {
			device_type = "cpu";
			reg = <1>;
			d-cache-line-size = <20>;	// 32 bytes
			i-cache-line-size = <20>;	// 32 bytes
			d-cache-size = <8000>;		// L1, 32K
			i-cache-size = <8000>;		// L1, 32K
			timebase-frequency = <0>;	// 33 MHz, from uboot
			bus-frequency = <0>;		// From uboot
			clock-frequency = <0>;		// From uboot
		};
	};

	memory {
		device_type = "memory";
		reg = <00000000 40000000>;	// 1G at 0x0
	};

	soc8641@f8000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
67
		ranges = <00000000 f8000000 00100000>;
68
		reg = <f8000000 00001000>;	// CCSRBAR
69 70 71
		bus-frequency = <0>;

		i2c@3000 {
72 73 74
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
75 76 77
			compatible = "fsl-i2c";
			reg = <3000 100>;
			interrupts = <2b 2>;
78
			interrupt-parent = <&mpic>;
79 80 81 82
			dfsrr;
		};

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

		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
96
			compatible = "fsl,gianfar-mdio";
97
			reg = <24520 20>;
98

99 100
			phy0: ethernet-phy@0 {
				interrupt-parent = <&mpic>;
101
				interrupts = <a 1>;
102 103 104
				reg = <0>;
				device_type = "ethernet-phy";
			};
105 106
			phy1: ethernet-phy@1 {
				interrupt-parent = <&mpic>;
107
				interrupts = <a 1>;
108 109 110
				reg = <1>;
				device_type = "ethernet-phy";
			};
111 112
			phy2: ethernet-phy@2 {
				interrupt-parent = <&mpic>;
113
				interrupts = <a 1>;
114 115 116
				reg = <2>;
				device_type = "ethernet-phy";
			};
117 118
			phy3: ethernet-phy@3 {
				interrupt-parent = <&mpic>;
119
				interrupts = <a 1>;
120 121 122 123 124
				reg = <3>;
				device_type = "ethernet-phy";
			};
		};

125
		enet0: ethernet@24000 {
126
			cell-index = <0>;
127 128 129 130
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <24000 1000>;
131
			local-mac-address = [ 00 00 00 00 00 00 ];
132
			interrupts = <1d 2 1e 2 22 2>;
133 134
			interrupt-parent = <&mpic>;
			phy-handle = <&phy0>;
135
			phy-connection-type = "rgmii-id";
136 137
		};

138
		enet1: ethernet@25000 {
139
			cell-index = <1>;
140 141 142 143
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <25000 1000>;
144
			local-mac-address = [ 00 00 00 00 00 00 ];
145
			interrupts = <23 2 24 2 28 2>;
146 147
			interrupt-parent = <&mpic>;
			phy-handle = <&phy1>;
148
			phy-connection-type = "rgmii-id";
149 150
		};
		
151
		enet2: ethernet@26000 {
152
			cell-index = <2>;
153 154 155 156
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <26000 1000>;
157
			local-mac-address = [ 00 00 00 00 00 00 ];
158
			interrupts = <1F 2 20 2 21 2>;
159 160
			interrupt-parent = <&mpic>;
			phy-handle = <&phy2>;
161
			phy-connection-type = "rgmii-id";
162 163
		};

164
		enet3: ethernet@27000 {
165
			cell-index = <3>;
166 167 168 169
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <27000 1000>;
170
			local-mac-address = [ 00 00 00 00 00 00 ];
171
			interrupts = <25 2 26 2 27 2>;
172 173
			interrupt-parent = <&mpic>;
			phy-handle = <&phy3>;
174
			phy-connection-type = "rgmii-id";
175
		};
176 177

		serial0: serial@4500 {
178
			cell-index = <0>;
179 180 181 182 183
			device_type = "serial";
			compatible = "ns16550";
			reg = <4500 100>;
			clock-frequency = <0>;
			interrupts = <2a 2>;
184
			interrupt-parent = <&mpic>;
185 186
		};

187
		serial1: serial@4600 {
188
			cell-index = <1>;
189 190 191 192 193
			device_type = "serial";
			compatible = "ns16550";
			reg = <4600 100>;
			clock-frequency = <0>;
			interrupts = <1c 2>;
194
			interrupt-parent = <&mpic>;
195 196
		};

197 198 199 200 201 202 203 204 205 206
		mpic: pic@40000 {
			clock-frequency = <0>;
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
			reg = <40000 40000>;
			compatible = "chrp,open-pic";
			device_type = "open-pic";
			big-endian;
		};
207 208 209 210 211 212

		global-utilities@e0000 {
			compatible = "fsl,mpc8641-guts";
			reg = <e0000 1000>;
			fsl,has-rstcr;
		};
213
	};
214

215
	pci0: pcie@f8008000 {
216
		cell-index = <0>;
217 218 219 220 221 222 223 224 225 226 227 228
		compatible = "fsl,mpc8641-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <f8008000 1000>;
		bus-range = <0 ff>;
		ranges = <02000000 0 80000000 80000000 0 20000000
			  01000000 0 00000000 e2000000 0 00100000>;
		clock-frequency = <1fca055>;
		interrupt-parent = <&mpic>;
		interrupts = <18 2>;
229
		interrupt-map-mask = <ff00 0 0 7>;
230
		interrupt-map = <
231 232 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 315 316 317 318 319 320 321 322 323 324 325
			/* IDSEL 0x11 func 0 - PCI slot 1 */
			8800 0 0 1 &mpic 2 1
			8800 0 0 2 &mpic 3 1
			8800 0 0 3 &mpic 4 1
			8800 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 1 - PCI slot 1 */
			8900 0 0 1 &mpic 2 1
			8900 0 0 2 &mpic 3 1
			8900 0 0 3 &mpic 4 1
			8900 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 2 - PCI slot 1 */
			8a00 0 0 1 &mpic 2 1
			8a00 0 0 2 &mpic 3 1
			8a00 0 0 3 &mpic 4 1
			8a00 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 3 - PCI slot 1 */
			8b00 0 0 1 &mpic 2 1
			8b00 0 0 2 &mpic 3 1
			8b00 0 0 3 &mpic 4 1
			8b00 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 4 - PCI slot 1 */
			8c00 0 0 1 &mpic 2 1
			8c00 0 0 2 &mpic 3 1
			8c00 0 0 3 &mpic 4 1
			8c00 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 5 - PCI slot 1 */
			8d00 0 0 1 &mpic 2 1
			8d00 0 0 2 &mpic 3 1
			8d00 0 0 3 &mpic 4 1
			8d00 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 6 - PCI slot 1 */
			8e00 0 0 1 &mpic 2 1
			8e00 0 0 2 &mpic 3 1
			8e00 0 0 3 &mpic 4 1
			8e00 0 0 4 &mpic 1 1

			/* IDSEL 0x11 func 7 - PCI slot 1 */
			8f00 0 0 1 &mpic 2 1
			8f00 0 0 2 &mpic 3 1
			8f00 0 0 3 &mpic 4 1
			8f00 0 0 4 &mpic 1 1

			/* IDSEL 0x12 func 0 - PCI slot 2 */
			9000 0 0 1 &mpic 3 1
			9000 0 0 2 &mpic 4 1
			9000 0 0 3 &mpic 1 1
			9000 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 1 - PCI slot 2 */
			9100 0 0 1 &mpic 3 1
			9100 0 0 2 &mpic 4 1
			9100 0 0 3 &mpic 1 1
			9100 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 2 - PCI slot 2 */
			9200 0 0 1 &mpic 3 1
			9200 0 0 2 &mpic 4 1
			9200 0 0 3 &mpic 1 1
			9200 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 3 - PCI slot 2 */
			9300 0 0 1 &mpic 3 1
			9300 0 0 2 &mpic 4 1
			9300 0 0 3 &mpic 1 1
			9300 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 4 - PCI slot 2 */
			9400 0 0 1 &mpic 3 1
			9400 0 0 2 &mpic 4 1
			9400 0 0 3 &mpic 1 1
			9400 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 5 - PCI slot 2 */
			9500 0 0 1 &mpic 3 1
			9500 0 0 2 &mpic 4 1
			9500 0 0 3 &mpic 1 1
			9500 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 6 - PCI slot 2 */
			9600 0 0 1 &mpic 3 1
			9600 0 0 2 &mpic 4 1
			9600 0 0 3 &mpic 1 1
			9600 0 0 4 &mpic 2 1

			/* IDSEL 0x12 func 7 - PCI slot 2 */
			9700 0 0 1 &mpic 3 1
			9700 0 0 2 &mpic 4 1
			9700 0 0 3 &mpic 1 1
			9700 0 0 4 &mpic 2 1
326

327
			// IDSEL 0x1c  USB
328
			e000 0 0 1 &i8259 c 2
329 330 331
			e100 0 0 2 &i8259 9 2
			e200 0 0 3 &i8259 a 2
			e300 0 0 4 &i8259 b 2
332

333
			// IDSEL 0x1d  Audio
334
			e800 0 0 1 &i8259 6 2
335

336
			// IDSEL 0x1e Legacy
337 338
			f000 0 0 1 &i8259 7 2
			f100 0 0 1 &i8259 7 2
339 340

			// IDSEL 0x1f IDE/SATA
341 342
			f800 0 0 1 &i8259 e 2
			f900 0 0 1 &i8259 5 2
343 344 345 346 347 348 349 350 351 352 353 354 355 356
			>;

		pcie@0 {
			reg = <0 0 0 0 0>;
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
			ranges = <02000000 0 80000000
				  02000000 0 80000000
				  0 20000000

				  01000000 0 00000000
				  01000000 0 00000000
				  0 00100000>;
357 358 359 360 361 362 363 364 365 366
			uli1575@0 {
				reg = <0 0 0 0 0>;
				#size-cells = <2>;
				#address-cells = <3>;
				ranges = <02000000 0 80000000
					  02000000 0 80000000
					  0 20000000
					  01000000 0 00000000
					  01000000 0 00000000
					  0 00100000>;
367 368 369 370 371 372 373 374 375
				isa@1e {
					device_type = "isa";
					#interrupt-cells = <2>;
					#size-cells = <1>;
					#address-cells = <2>;
					reg = <f000 0 0 0 0>;
					ranges = <1 0 01000000 0 0
						  00001000>;
					interrupt-parent = <&i8259>;
376

377 378 379 380 381 382 383
					i8259: interrupt-controller@20 {
						reg = <1 20 2
						       1 a0 2
						       1 4d0 2>;
						interrupt-controller;
						device_type = "interrupt-controller";
						#address-cells = <0>;
384
						#interrupt-cells = <2>;
385 386 387 388
						compatible = "chrp,iic";
						interrupts = <9 2>;
						interrupt-parent = <&mpic>;
					};
389

390 391 392 393 394 395 396
					i8042@60 {
						#size-cells = <0>;
						#address-cells = <1>;
						reg = <1 60 1 1 64 1>;
						interrupts = <1 3 c 3>;
						interrupt-parent =
							<&i8259>;
397

398 399 400
						keyboard@0 {
							reg = <0>;
							compatible = "pnpPNP,303";
401 402
						};

403 404 405
						mouse@1 {
							reg = <1>;
							compatible = "pnpPNP,f03";
406
						};
407
					};
408

409 410 411 412 413 414 415 416
					rtc@70 {
						compatible =
							"pnpPNP,b00";
						reg = <1 70 2>;
					};

					gpio@400 {
						reg = <1 400 80>;
417 418
					};
				};
419 420
			};
		};
421

422 423
	};

424
	pci1: pcie@f8009000 {
425
		cell-index = <1>;
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447
		compatible = "fsl,mpc8641-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <f8009000 1000>;
		bus-range = <0 ff>;
		ranges = <02000000 0 a0000000 a0000000 0 20000000
			  01000000 0 00000000 e3000000 0 00100000>;
		clock-frequency = <1fca055>;
		interrupt-parent = <&mpic>;
		interrupts = <19 2>;
		interrupt-map-mask = <f800 0 0 7>;
		interrupt-map = <
			/* IDSEL 0x0 */
			0000 0 0 1 &mpic 4 1
			0000 0 0 2 &mpic 5 1
			0000 0 0 3 &mpic 6 1
			0000 0 0 4 &mpic 7 1
			>;
		pcie@0 {
			reg = <0 0 0 0 0>;
448 449
			#size-cells = <2>;
			#address-cells = <3>;
450 451 452 453
			device_type = "pci";
			ranges = <02000000 0 a0000000
				  02000000 0 a0000000
				  0 20000000
454

455 456 457
				  01000000 0 00000000
				  01000000 0 00000000
				  0 00100000>;
458 459 460
		};
	};
};