mpc8560ads.dts 9.3 KB
Newer Older
1 2 3
/*
 * MPC8560 ADS Device Tree Source
 *
4
 * Copyright 2006, 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 = "MPC8560ADS";
16
	compatible = "MPC8560ADS", "MPC85xxADS";
17 18 19
	#address-cells = <1>;
	#size-cells = <1>;

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

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

		PowerPC,8560@0 {
			device_type = "cpu";
36 37 38 39 40 41 42 43
			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
			timebase-frequency = <82500000>;
			bus-frequency = <330000000>;
			clock-frequency = <825000000>;
44 45 46 47 48
		};
	};

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

	soc8560@e0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
56
		compatible = "simple-bus";
57 58 59
		ranges = <0x0 0xe0000000 0x100000>;
		reg = <0xe0000000 0x200>;
		bus-frequency = <330000000>;
60

61 62
		memory-controller@2000 {
			compatible = "fsl,8540-memory-controller";
63
			reg = <0x2000 0x1000>;
64
			interrupt-parent = <&mpic>;
65
			interrupts = <18 2>;
66 67
		};

68
		L2: l2-cache-controller@20000 {
69
			compatible = "fsl,8540-l2-cache-controller";
70 71 72
			reg = <0x20000 0x1000>;
			cache-line-size = <32>;	// 32 bytes
			cache-size = <0x40000>;	// L2, 256K
73
			interrupt-parent = <&mpic>;
74
			interrupts = <16 2>;
75 76
		};

77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 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
		dma@21300 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8560-dma", "fsl,eloplus-dma";
			reg = <0x21300 0x4>;
			ranges = <0x0 0x21100 0x200>;
			cell-index = <0>;
			dma-channel@0 {
				compatible = "fsl,mpc8560-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x0 0x80>;
				cell-index = <0>;
				interrupt-parent = <&mpic>;
				interrupts = <20 2>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8560-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x80 0x80>;
				cell-index = <1>;
				interrupt-parent = <&mpic>;
				interrupts = <21 2>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8560-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x100 0x80>;
				cell-index = <2>;
				interrupt-parent = <&mpic>;
				interrupts = <22 2>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8560-dma-channel",
						"fsl,eloplus-dma-channel";
				reg = <0x180 0x80>;
				cell-index = <3>;
				interrupt-parent = <&mpic>;
				interrupts = <23 2>;
			};
		};

118
		enet0: ethernet@24000 {
119 120
			#address-cells = <1>;
			#size-cells = <1>;
121
			cell-index = <0>;
122 123 124
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
125
			reg = <0x24000 0x1000>;
126
			ranges = <0x0 0x24000 0x1000>;
127
			local-mac-address = [ 00 00 00 00 00 00 ];
128
			interrupts = <29 2 30 2 34 2>;
129
			interrupt-parent = <&mpic>;
130
			tbi-handle = <&tbi0>;
131
			phy-handle = <&phy0>;
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

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

				phy0: ethernet-phy@0 {
					interrupt-parent = <&mpic>;
					interrupts = <5 1>;
					reg = <0x0>;
					device_type = "ethernet-phy";
				};
				phy1: ethernet-phy@1 {
					interrupt-parent = <&mpic>;
					interrupts = <5 1>;
					reg = <0x1>;
					device_type = "ethernet-phy";
				};
				phy2: ethernet-phy@2 {
					interrupt-parent = <&mpic>;
					interrupts = <7 1>;
					reg = <0x2>;
					device_type = "ethernet-phy";
				};
				phy3: ethernet-phy@3 {
					interrupt-parent = <&mpic>;
					interrupts = <7 1>;
					reg = <0x3>;
					device_type = "ethernet-phy";
				};
				tbi0: tbi-phy@11 {
					reg = <0x11>;
					device_type = "tbi-phy";
				};
			};
168 169
		};

170
		enet1: ethernet@25000 {
171 172
			#address-cells = <1>;
			#size-cells = <1>;
173
			cell-index = <1>;
174 175 176
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
177
			reg = <0x25000 0x1000>;
178
			ranges = <0x0 0x25000 0x1000>;
179
			local-mac-address = [ 00 00 00 00 00 00 ];
180
			interrupts = <35 2 36 2 40 2>;
181
			interrupt-parent = <&mpic>;
182
			tbi-handle = <&tbi1>;
183
			phy-handle = <&phy1>;
184 185 186 187 188 189 190 191 192 193 194 195

			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";
				};
			};
196 197
		};

198
		mpic: pic@40000 {
199 200 201
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
202
			reg = <0x40000 0x40000>;
203
			compatible = "chrp,open-pic";
204 205 206
			device_type = "open-pic";
		};

207
		cpm@919c0 {
208 209
			#address-cells = <1>;
			#size-cells = <1>;
210
			compatible = "fsl,mpc8560-cpm", "fsl,cpm2";
211
			reg = <0x919c0 0x30>;
212 213 214 215 216
			ranges;

			muram@80000 {
				#address-cells = <1>;
				#size-cells = <1>;
217
				ranges = <0x0 0x80000 0x10000>;
218 219 220

				data@0 {
					compatible = "fsl,cpm-muram-data";
221
					reg = <0x0 0x4000 0x9000 0x2000>;
222 223 224 225 226 227 228
				};
			};

			brg@919f0 {
				compatible = "fsl,mpc8560-brg",
				             "fsl,cpm2-brg",
				             "fsl,cpm-brg";
229 230
				reg = <0x919f0 0x10 0x915f0 0x10>;
				clock-frequency = <165000000>;
231
			};
232

233
			cpmpic: pic@90c00 {
234 235 236
				interrupt-controller;
				#address-cells = <0>;
				#interrupt-cells = <2>;
237
				interrupts = <46 2>;
238
				interrupt-parent = <&mpic>;
239
				reg = <0x90c00 0x80>;
240
				compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic";
241 242
			};

243
			serial0: serial@91a00 {
244
				device_type = "serial";
245 246
				compatible = "fsl,mpc8560-scc-uart",
				             "fsl,cpm2-scc-uart";
247
				reg = <0x91a00 0x20 0x88000 0x100>;
248
				fsl,cpm-brg = <1>;
249 250 251
				fsl,cpm-command = <0x800000>;
				current-speed = <115200>;
				interrupts = <40 8>;
252
				interrupt-parent = <&cpmpic>;
253 254
			};

255
			serial1: serial@91a20 {
256
				device_type = "serial";
257 258
				compatible = "fsl,mpc8560-scc-uart",
				             "fsl,cpm2-scc-uart";
259
				reg = <0x91a20 0x20 0x88100 0x100>;
260
				fsl,cpm-brg = <2>;
261 262 263
				fsl,cpm-command = <0x4a00000>;
				current-speed = <115200>;
				interrupts = <41 8>;
264
				interrupt-parent = <&cpmpic>;
265 266
			};

267
			enet2: ethernet@91320 {
268
				device_type = "network";
269 270
				compatible = "fsl,mpc8560-fcc-enet",
				             "fsl,cpm2-fcc-enet";
271
				reg = <0x91320 0x20 0x88500 0x100 0x913b0 0x1>;
272
				local-mac-address = [ 00 00 00 00 00 00 ];
273 274
				fsl,cpm-command = <0x16200300>;
				interrupts = <33 8>;
275 276
				interrupt-parent = <&cpmpic>;
				phy-handle = <&phy2>;
277 278
			};

279
			enet3: ethernet@91340 {
280
				device_type = "network";
281 282
				compatible = "fsl,mpc8560-fcc-enet",
				             "fsl,cpm2-fcc-enet";
283
				reg = <0x91340 0x20 0x88600 0x100 0x913d0 0x1>;
284
				local-mac-address = [ 00 00 00 00 00 00 ];
285 286
				fsl,cpm-command = <0x1a400300>;
				interrupts = <34 8>;
287 288
				interrupt-parent = <&cpmpic>;
				phy-handle = <&phy3>;
289 290 291
			};
		};
	};
292

293
	pci0: pci@e0008000 {
294 295 296 297 298
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
		device_type = "pci";
299 300 301
		reg = <0xe0008000 0x1000>;
		clock-frequency = <66666666>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
302 303 304
		interrupt-map = <

				/* IDSEL 0x2 */
305 306 307 308
				 0x1000 0x0 0x0 0x1 &mpic 0x1 0x1
				 0x1000 0x0 0x0 0x2 &mpic 0x2 0x1
				 0x1000 0x0 0x0 0x3 &mpic 0x3 0x1
				 0x1000 0x0 0x0 0x4 &mpic 0x4 0x1
309 310

				/* IDSEL 0x3 */
311 312 313 314
				 0x1800 0x0 0x0 0x1 &mpic 0x4 0x1
				 0x1800 0x0 0x0 0x2 &mpic 0x1 0x1
				 0x1800 0x0 0x0 0x3 &mpic 0x2 0x1
				 0x1800 0x0 0x0 0x4 &mpic 0x3 0x1
315 316

				/* IDSEL 0x4 */
317 318 319 320
				 0x2000 0x0 0x0 0x1 &mpic 0x3 0x1
				 0x2000 0x0 0x0 0x2 &mpic 0x4 0x1
				 0x2000 0x0 0x0 0x3 &mpic 0x1 0x1
				 0x2000 0x0 0x0 0x4 &mpic 0x2 0x1
321 322

				/* IDSEL 0x5  */
323 324 325 326
				 0x2800 0x0 0x0 0x1 &mpic 0x2 0x1
				 0x2800 0x0 0x0 0x2 &mpic 0x3 0x1
				 0x2800 0x0 0x0 0x3 &mpic 0x4 0x1
				 0x2800 0x0 0x0 0x4 &mpic 0x1 0x1
327 328

				/* IDSEL 12 */
329 330 331 332
				 0x6000 0x0 0x0 0x1 &mpic 0x1 0x1
				 0x6000 0x0 0x0 0x2 &mpic 0x2 0x1
				 0x6000 0x0 0x0 0x3 &mpic 0x3 0x1
				 0x6000 0x0 0x0 0x4 &mpic 0x4 0x1
333 334

				/* IDSEL 13 */
335 336 337 338
				 0x6800 0x0 0x0 0x1 &mpic 0x4 0x1
				 0x6800 0x0 0x0 0x2 &mpic 0x1 0x1
				 0x6800 0x0 0x0 0x3 &mpic 0x2 0x1
				 0x6800 0x0 0x0 0x4 &mpic 0x3 0x1
339 340

				/* IDSEL 14*/
341 342 343 344
				 0x7000 0x0 0x0 0x1 &mpic 0x3 0x1
				 0x7000 0x0 0x0 0x2 &mpic 0x4 0x1
				 0x7000 0x0 0x0 0x3 &mpic 0x1 0x1
				 0x7000 0x0 0x0 0x4 &mpic 0x2 0x1
345 346

				/* IDSEL 15 */
347 348 349 350
				 0x7800 0x0 0x0 0x1 &mpic 0x2 0x1
				 0x7800 0x0 0x0 0x2 &mpic 0x3 0x1
				 0x7800 0x0 0x0 0x3 &mpic 0x4 0x1
				 0x7800 0x0 0x0 0x4 &mpic 0x1 0x1
351 352

				/* IDSEL 18 */
353 354 355 356
				 0x9000 0x0 0x0 0x1 &mpic 0x1 0x1
				 0x9000 0x0 0x0 0x2 &mpic 0x2 0x1
				 0x9000 0x0 0x0 0x3 &mpic 0x3 0x1
				 0x9000 0x0 0x0 0x4 &mpic 0x4 0x1
357 358

				/* IDSEL 19 */
359 360 361 362
				 0x9800 0x0 0x0 0x1 &mpic 0x4 0x1
				 0x9800 0x0 0x0 0x2 &mpic 0x1 0x1
				 0x9800 0x0 0x0 0x3 &mpic 0x2 0x1
				 0x9800 0x0 0x0 0x4 &mpic 0x3 0x1
363 364

				/* IDSEL 20 */
365 366 367 368
				 0xa000 0x0 0x0 0x1 &mpic 0x3 0x1
				 0xa000 0x0 0x0 0x2 &mpic 0x4 0x1
				 0xa000 0x0 0x0 0x3 &mpic 0x1 0x1
				 0xa000 0x0 0x0 0x4 &mpic 0x2 0x1
369 370

				/* IDSEL 21 */
371 372 373 374
				 0xa800 0x0 0x0 0x1 &mpic 0x2 0x1
				 0xa800 0x0 0x0 0x2 &mpic 0x3 0x1
				 0xa800 0x0 0x0 0x3 &mpic 0x4 0x1
				 0xa800 0x0 0x0 0x4 &mpic 0x1 0x1>;
375 376

		interrupt-parent = <&mpic>;
377
		interrupts = <24 2>;
378
		bus-range = <0 0>;
379 380
		ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x20000000
			  0x1000000 0x0 0x0 0xe2000000 0x0 0x1000000>;
381
	};
382
};