mpc8544ds.dts 8.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*
 * MPC8544 DS Device Tree Source
 *
 * Copyright 2007 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 = "MPC8544DS";
	compatible = "MPC8544DS", "MPC85xxDS";
	#address-cells = <1>;
	#size-cells = <1>;

18 19 20 21 22 23 24 25 26 27 28
	aliases {
		ethernet0 = &enet0;
		ethernet1 = &enet1;
		serial0 = &serial0;
		serial1 = &serial1;
		pci0 = &pci0;
		pci1 = &pci1;
		pci2 = &pci2;
		pci3 = &pci3;
	};

29 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
	cpus {
		#cpus = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8544@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>;
			bus-frequency = <0>;
			clock-frequency = <0>;
		};
	};

	memory {
		device_type = "memory";
		reg = <00000000 00000000>;	// Filled by U-Boot
	};

	soc8544@e0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
56

57
		ranges = <00000000 e0000000 00100000>;
58
		reg = <e0000000 00001000>;	// CCSRBAR 1M
59 60
		bus-frequency = <0>;		// Filled out by uboot.

61 62 63 64
		memory-controller@2000 {
			compatible = "fsl,8544-memory-controller";
			reg = <2000 1000>;
			interrupt-parent = <&mpic>;
65
			interrupts = <12 2>;
66 67 68 69 70 71 72 73
		};

		l2-cache-controller@20000 {
			compatible = "fsl,8544-l2-cache-controller";
			reg = <20000 1000>;
			cache-line-size = <20>;	// 32 bytes
			cache-size = <40000>;	// L2, 256K
			interrupt-parent = <&mpic>;
74
			interrupts = <10 2>;
75 76
		};

77
		i2c@3000 {
78 79 80
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
81 82
			compatible = "fsl-i2c";
			reg = <3000 100>;
83
			interrupts = <2b 2>;
84 85 86 87
			interrupt-parent = <&mpic>;
			dfsrr;
		};

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

99 100 101
		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
102
			compatible = "fsl,gianfar-mdio";
103
			reg = <24520 20>;
104

105 106
			phy0: ethernet-phy@0 {
				interrupt-parent = <&mpic>;
107
				interrupts = <a 1>;
108 109 110 111 112
				reg = <0>;
				device_type = "ethernet-phy";
			};
			phy1: ethernet-phy@1 {
				interrupt-parent = <&mpic>;
113
				interrupts = <a 1>;
114 115 116 117 118
				reg = <1>;
				device_type = "ethernet-phy";
			};
		};

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

132 133
		enet1: ethernet@26000 {
			cell-index = <1>;
134 135 136 137 138
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
			reg = <26000 1000>;
			local-mac-address = [ 00 00 00 00 00 00 ];
139
			interrupts = <1f 2 20 2 21 2>;
140 141
			interrupt-parent = <&mpic>;
			phy-handle = <&phy1>;
142
			phy-connection-type = "rgmii-id";
143 144
		};

145 146
		serial0: serial@4500 {
			cell-index = <0>;
147 148 149 150
			device_type = "serial";
			compatible = "ns16550";
			reg = <4500 100>;
			clock-frequency = <0>;
151
			interrupts = <2a 2>;
152 153 154
			interrupt-parent = <&mpic>;
		};

155 156
		serial1: serial@4600 {
			cell-index = <1>;
157 158 159 160
			device_type = "serial";
			compatible = "ns16550";
			reg = <4600 100>;
			clock-frequency = <0>;
161
			interrupts = <2a 2>;
162 163 164
			interrupt-parent = <&mpic>;
		};

165 166 167 168 169
		global-utilities@e0000 {	//global utilities block
			compatible = "fsl,mpc8548-guts";
			reg = <e0000 1000>;
			fsl,has-rstcr;
		};
170

171 172 173 174 175 176 177 178 179 180 181
		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;
		};
	};
182

183 184
	pci0: pci@e0008000 {
		cell-index = <0>;
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
		compatible = "fsl,mpc8540-pci";
		device_type = "pci";
		interrupt-map-mask = <f800 0 0 7>;
		interrupt-map = <

			/* IDSEL 0x11 J17 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 0x12 J16 Slot 2 */

			9000 0 0 1 &mpic 3 1
			9000 0 0 2 &mpic 4 1
			9000 0 0 3 &mpic 2 1
			9000 0 0 4 &mpic 1 1>;

		interrupt-parent = <&mpic>;
		interrupts = <18 2>;
		bus-range = <0 ff>;
		ranges = <02000000 0 c0000000 c0000000 0 20000000
			  01000000 0 00000000 e1000000 0 00010000>;
		clock-frequency = <3f940aa>;
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <e0008000 1000>;
	};
214

215 216
	pci1: pcie@e0009000 {
		cell-index = <1>;
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <e0009000 1000>;
		bus-range = <0 ff>;
		ranges = <02000000 0 80000000 80000000 0 20000000
			  01000000 0 00000000 e1010000 0 00010000>;
		clock-frequency = <1fca055>;
		interrupt-parent = <&mpic>;
		interrupts = <1a 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>;
239 240 241
			#size-cells = <2>;
			#address-cells = <3>;
			device_type = "pci";
242 243 244 245 246 247 248
			ranges = <02000000 0 80000000
				  02000000 0 80000000
				  0 20000000

				  01000000 0 00000000
				  01000000 0 00000000
				  0 00010000>;
249
		};
250
	};
251

252 253
	pci2: pcie@e000a000 {
		cell-index = <2>;
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <e000a000 1000>;
		bus-range = <0 ff>;
		ranges = <02000000 0 a0000000 a0000000 0 10000000
			  01000000 0 00000000 e1020000 0 00010000>;
		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 0 1
			0000 0 0 2 &mpic 1 1
			0000 0 0 3 &mpic 2 1
			0000 0 0 4 &mpic 3 1
			>;
		pcie@0 {
			reg = <0 0 0 0 0>;
276 277
			#size-cells = <2>;
			#address-cells = <3>;
278 279 280 281 282 283 284 285
			device_type = "pci";
			ranges = <02000000 0 a0000000
				  02000000 0 a0000000
				  0 10000000

				  01000000 0 00000000
				  01000000 0 00000000
				  0 00010000>;
286
		};
287
	};
288

289 290
	pci3: pcie@e000b000 {
		cell-index = <3>;
291 292 293 294 295 296 297 298 299 300 301 302
		compatible = "fsl,mpc8548-pcie";
		device_type = "pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <e000b000 1000>;
		bus-range = <0 ff>;
		ranges = <02000000 0 b0000000 b0000000 0 00100000
			  01000000 0 00000000 b0100000 0 00100000>;
		clock-frequency = <1fca055>;
		interrupt-parent = <&mpic>;
		interrupts = <1b 2>;
303
		interrupt-map-mask = <ff00 0 0 1>;
304 305
		interrupt-map = <
			// IDSEL 0x1c  USB
306
			e000 0 0 1 &i8259 c 2
307 308 309
			e100 0 0 2 &i8259 9 2
			e200 0 0 3 &i8259 a 2
			e300 0 0 4 &i8259 b 2
310 311

			// IDSEL 0x1d  Audio
312
			e800 0 0 1 &i8259 6 2
313 314

			// IDSEL 0x1e Legacy
315 316
			f000 0 0 1 &i8259 7 2
			f100 0 0 1 &i8259 7 2
317 318

			// IDSEL 0x1f IDE/SATA
319 320
			f800 0 0 1 &i8259 e 2
			f900 0 0 1 &i8259 5 2
321 322 323 324
		>;

		pcie@0 {
			reg = <0 0 0 0 0>;
325 326
			#size-cells = <2>;
			#address-cells = <3>;
327 328 329 330 331 332 333 334 335
			device_type = "pci";
			ranges = <02000000 0 b0000000
				  02000000 0 b0000000
				  0 00100000

				  01000000 0 00000000
				  01000000 0 00000000
				  0 00100000>;

336 337 338 339 340 341
			uli1575@0 {
				reg = <0 0 0 0 0>;
				#size-cells = <2>;
				#address-cells = <3>;
				ranges = <02000000 0 b0000000
					  02000000 0 b0000000
342
					  0 00100000
343

344 345
					  01000000 0 00000000
					  01000000 0 00000000
346
					  0 00100000>;
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364
				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>;

					i8259: interrupt-controller@20 {
						reg = <1 20 2
						       1 a0 2
						       1 4d0 2>;
						interrupt-controller;
						device_type = "interrupt-controller";
						#address-cells = <0>;
365
						#interrupt-cells = <2>;
366 367 368 369 370 371 372 373 374 375
						compatible = "chrp,iic";
						interrupts = <9 2>;
						interrupt-parent = <&mpic>;
					};

					i8042@60 {
						#size-cells = <0>;
						#address-cells = <1>;
						reg = <1 60 1 1 64 1>;
						interrupts = <1 3 c 3>;
376 377
						interrupt-parent = <&i8259>;

378 379 380
						keyboard@0 {
							reg = <0>;
							compatible = "pnpPNP,303";
381 382
						};

383 384 385
						mouse@1 {
							reg = <1>;
							compatible = "pnpPNP,f03";
386
						};
387
					};
388

389 390 391 392
					rtc@70 {
						compatible = "pnpPNP,b00";
						reg = <1 70 2>;
					};
393

394 395
					gpio@400 {
						reg = <1 400 80>;
396 397 398 399
					};
				};
			};
		};
400 401
	};
};