1ee0a3f56SAlexandr Smirnov/*
2ee0a3f56SAlexandr Smirnov * Device Tree Source for Emerson KSI8560
3ee0a3f56SAlexandr Smirnov *
4ee0a3f56SAlexandr Smirnov * Author: Alexandr Smirnov <asmirnov@ru.mvista.com>
5ee0a3f56SAlexandr Smirnov *
6ee0a3f56SAlexandr Smirnov * Based on mpc8560ads.dts
7ee0a3f56SAlexandr Smirnov *
8ee0a3f56SAlexandr Smirnov * 2008 (c) MontaVista, Software, Inc.  This file is licensed under
9ee0a3f56SAlexandr Smirnov * the terms of the GNU General Public License version 2.  This program
10ee0a3f56SAlexandr Smirnov * is licensed "as is" without any warranty of any kind, whether express
11ee0a3f56SAlexandr Smirnov * or implied.
12ee0a3f56SAlexandr Smirnov *
13ee0a3f56SAlexandr Smirnov */
14ee0a3f56SAlexandr Smirnov
15ee0a3f56SAlexandr Smirnov/dts-v1/;
16ee0a3f56SAlexandr Smirnov
17ee0a3f56SAlexandr Smirnov/ {
18ee0a3f56SAlexandr Smirnov	model = "KSI8560";
19ee0a3f56SAlexandr Smirnov	compatible = "emerson,KSI8560";
20ee0a3f56SAlexandr Smirnov	#address-cells = <1>;
21ee0a3f56SAlexandr Smirnov	#size-cells = <1>;
22ee0a3f56SAlexandr Smirnov
23ee0a3f56SAlexandr Smirnov	aliases {
24ee0a3f56SAlexandr Smirnov		ethernet0 = &enet0;
25ee0a3f56SAlexandr Smirnov		ethernet1 = &enet1;
26ee0a3f56SAlexandr Smirnov		ethernet2 = &enet2;
27ee0a3f56SAlexandr Smirnov	};
28ee0a3f56SAlexandr Smirnov
29ee0a3f56SAlexandr Smirnov	cpus {
30ee0a3f56SAlexandr Smirnov		#address-cells = <1>;
31ee0a3f56SAlexandr Smirnov		#size-cells = <0>;
32ee0a3f56SAlexandr Smirnov
33ee0a3f56SAlexandr Smirnov		PowerPC,8560@0 {
34ee0a3f56SAlexandr Smirnov			device_type = "cpu";
35ee0a3f56SAlexandr Smirnov			reg = <0>;
36ee0a3f56SAlexandr Smirnov			d-cache-line-size = <32>;
37ee0a3f56SAlexandr Smirnov			i-cache-line-size = <32>;
38ee0a3f56SAlexandr Smirnov			d-cache-size = <0x8000>;		/* L1, 32K */
39ee0a3f56SAlexandr Smirnov			i-cache-size = <0x8000>;		/* L1, 32K */
40ee0a3f56SAlexandr Smirnov			timebase-frequency = <0>;		/* From U-boot */
41ee0a3f56SAlexandr Smirnov			bus-frequency = <0>;			/* From U-boot */
42ee0a3f56SAlexandr Smirnov			clock-frequency = <0>;			/* From U-boot */
43c054065bSKumar Gala			next-level-cache = <&L2>;
44ee0a3f56SAlexandr Smirnov		};
45ee0a3f56SAlexandr Smirnov	};
46ee0a3f56SAlexandr Smirnov
47ee0a3f56SAlexandr Smirnov	memory {
48ee0a3f56SAlexandr Smirnov		device_type = "memory";
49ee0a3f56SAlexandr Smirnov		reg = <0x00000000 0x10000000>;			/* Fixed by bootwrapper */
50ee0a3f56SAlexandr Smirnov	};
51ee0a3f56SAlexandr Smirnov
52ee0a3f56SAlexandr Smirnov	soc@fdf00000 {
53ee0a3f56SAlexandr Smirnov		#address-cells = <1>;
54ee0a3f56SAlexandr Smirnov		#size-cells = <1>;
55ee0a3f56SAlexandr Smirnov		device_type = "soc";
56ee0a3f56SAlexandr Smirnov		ranges = <0x00000000 0xfdf00000 0x00100000>;
57ee0a3f56SAlexandr Smirnov		bus-frequency = <0>;				/* Fixed by bootwrapper */
58ee0a3f56SAlexandr Smirnov
59ee0a3f56SAlexandr Smirnov		memory-controller@2000 {
60fe671772SKumar Gala			compatible = "fsl,mpc8540-memory-controller";
61ee0a3f56SAlexandr Smirnov			reg = <0x2000 0x1000>;
620fe9b1eaSKumar Gala			interrupt-parent = <&mpic>;
63ee0a3f56SAlexandr Smirnov			interrupts = <0x12 0x2>;
64ee0a3f56SAlexandr Smirnov		};
65ee0a3f56SAlexandr Smirnov
66c054065bSKumar Gala		L2: l2-cache-controller@20000 {
67fe671772SKumar Gala			compatible = "fsl,mpc8540-l2-cache-controller";
68ee0a3f56SAlexandr Smirnov			reg = <0x20000 0x1000>;
69ee0a3f56SAlexandr Smirnov			cache-line-size = <0x20>;		/* 32 bytes */
70ee0a3f56SAlexandr Smirnov			cache-size = <0x40000>;			/* L2, 256K */
710fe9b1eaSKumar Gala			interrupt-parent = <&mpic>;
72ee0a3f56SAlexandr Smirnov			interrupts = <0x10 0x2>;
73ee0a3f56SAlexandr Smirnov		};
74ee0a3f56SAlexandr Smirnov
75ee0a3f56SAlexandr Smirnov		i2c@3000 {
76ee0a3f56SAlexandr Smirnov			#address-cells = <1>;
77ee0a3f56SAlexandr Smirnov			#size-cells = <0>;
78ee0a3f56SAlexandr Smirnov			cell-index = <0>;
79ee0a3f56SAlexandr Smirnov			compatible = "fsl-i2c";
80ee0a3f56SAlexandr Smirnov			reg = <0x3000 0x100>;
81ee0a3f56SAlexandr Smirnov			interrupts = <0x2b 0x2>;
820fe9b1eaSKumar Gala			interrupt-parent = <&mpic>;
83ee0a3f56SAlexandr Smirnov			dfsrr;
84ee0a3f56SAlexandr Smirnov		};
85ee0a3f56SAlexandr Smirnov
86dee80553SKumar Gala		dma@21300 {
87dee80553SKumar Gala			#address-cells = <1>;
88dee80553SKumar Gala			#size-cells = <1>;
89dee80553SKumar Gala			compatible = "fsl,mpc8560-dma", "fsl,eloplus-dma";
90dee80553SKumar Gala			reg = <0x21300 0x4>;
91dee80553SKumar Gala			ranges = <0x0 0x21100 0x200>;
92dee80553SKumar Gala			cell-index = <0>;
93dee80553SKumar Gala			dma-channel@0 {
94dee80553SKumar Gala				compatible = "fsl,mpc8560-dma-channel",
95dee80553SKumar Gala						"fsl,eloplus-dma-channel";
96dee80553SKumar Gala				reg = <0x0 0x80>;
97dee80553SKumar Gala				cell-index = <0>;
98dee80553SKumar Gala				interrupt-parent = <&mpic>;
99dee80553SKumar Gala				interrupts = <20 2>;
100dee80553SKumar Gala			};
101dee80553SKumar Gala			dma-channel@80 {
102dee80553SKumar Gala				compatible = "fsl,mpc8560-dma-channel",
103dee80553SKumar Gala						"fsl,eloplus-dma-channel";
104dee80553SKumar Gala				reg = <0x80 0x80>;
105dee80553SKumar Gala				cell-index = <1>;
106dee80553SKumar Gala				interrupt-parent = <&mpic>;
107dee80553SKumar Gala				interrupts = <21 2>;
108dee80553SKumar Gala			};
109dee80553SKumar Gala			dma-channel@100 {
110dee80553SKumar Gala				compatible = "fsl,mpc8560-dma-channel",
111dee80553SKumar Gala						"fsl,eloplus-dma-channel";
112dee80553SKumar Gala				reg = <0x100 0x80>;
113dee80553SKumar Gala				cell-index = <2>;
114dee80553SKumar Gala				interrupt-parent = <&mpic>;
115dee80553SKumar Gala				interrupts = <22 2>;
116dee80553SKumar Gala			};
117dee80553SKumar Gala			dma-channel@180 {
118dee80553SKumar Gala				compatible = "fsl,mpc8560-dma-channel",
119dee80553SKumar Gala						"fsl,eloplus-dma-channel";
120dee80553SKumar Gala				reg = <0x180 0x80>;
121dee80553SKumar Gala				cell-index = <3>;
122dee80553SKumar Gala				interrupt-parent = <&mpic>;
123dee80553SKumar Gala				interrupts = <23 2>;
124dee80553SKumar Gala			};
125dee80553SKumar Gala		};
126dee80553SKumar Gala
12784ba4a58SAnton Vorontsov		enet0: ethernet@24000 {
12884ba4a58SAnton Vorontsov			#address-cells = <1>;
12984ba4a58SAnton Vorontsov			#size-cells = <1>;
13084ba4a58SAnton Vorontsov			device_type = "network";
13184ba4a58SAnton Vorontsov			model = "TSEC";
13284ba4a58SAnton Vorontsov			compatible = "gianfar";
13384ba4a58SAnton Vorontsov			reg = <0x24000 0x1000>;
13484ba4a58SAnton Vorontsov			ranges = <0x0 0x24000 0x1000>;
13584ba4a58SAnton Vorontsov			/* Mac address filled in by bootwrapper */
13684ba4a58SAnton Vorontsov			local-mac-address = [ 00 00 00 00 00 00 ];
13784ba4a58SAnton Vorontsov			interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
13884ba4a58SAnton Vorontsov			interrupt-parent = <&mpic>;
13984ba4a58SAnton Vorontsov			tbi-handle = <&tbi0>;
14084ba4a58SAnton Vorontsov			phy-handle = <&PHY1>;
14184ba4a58SAnton Vorontsov
14284ba4a58SAnton Vorontsov			mdio@520 {					/* For TSECs */
143ee0a3f56SAlexandr Smirnov				#address-cells = <1>;
144ee0a3f56SAlexandr Smirnov				#size-cells = <0>;
145ee0a3f56SAlexandr Smirnov				compatible = "fsl,gianfar-mdio";
14684ba4a58SAnton Vorontsov				reg = <0x520 0x20>;
147ee0a3f56SAlexandr Smirnov
148ee0a3f56SAlexandr Smirnov				PHY1: ethernet-phy@1 {
1490fe9b1eaSKumar Gala					interrupt-parent = <&mpic>;
150ee0a3f56SAlexandr Smirnov					reg = <0x1>;
151ee0a3f56SAlexandr Smirnov					device_type = "ethernet-phy";
152ee0a3f56SAlexandr Smirnov				};
153ee0a3f56SAlexandr Smirnov
154ee0a3f56SAlexandr Smirnov				PHY2: ethernet-phy@2 {
1550fe9b1eaSKumar Gala					interrupt-parent = <&mpic>;
156ee0a3f56SAlexandr Smirnov					reg = <0x2>;
157ee0a3f56SAlexandr Smirnov					device_type = "ethernet-phy";
158ee0a3f56SAlexandr Smirnov				};
159b31a1d8bSAndy Fleming
160b31a1d8bSAndy Fleming				tbi0: tbi-phy@11 {
161b31a1d8bSAndy Fleming					reg = <0x11>;
162b31a1d8bSAndy Fleming					device_type = "tbi-phy";
163ee0a3f56SAlexandr Smirnov				};
164b31a1d8bSAndy Fleming			};
165ee0a3f56SAlexandr Smirnov		};
166ee0a3f56SAlexandr Smirnov
167ee0a3f56SAlexandr Smirnov		enet1: ethernet@25000 {
16884ba4a58SAnton Vorontsov			#address-cells = <1>;
16984ba4a58SAnton Vorontsov			#size-cells = <1>;
170ee0a3f56SAlexandr Smirnov			device_type = "network";
171ee0a3f56SAlexandr Smirnov			model = "TSEC";
172ee0a3f56SAlexandr Smirnov			compatible = "gianfar";
173ee0a3f56SAlexandr Smirnov			reg = <0x25000 0x1000>;
17484ba4a58SAnton Vorontsov			ranges = <0x0 0x25000 0x1000>;
175ee0a3f56SAlexandr Smirnov			/* Mac address filled in by bootwrapper */
176ee0a3f56SAlexandr Smirnov			local-mac-address = [ 00 00 00 00 00 00 ];
177ee0a3f56SAlexandr Smirnov			interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
1780fe9b1eaSKumar Gala			interrupt-parent = <&mpic>;
179b31a1d8bSAndy Fleming			tbi-handle = <&tbi1>;
180ee0a3f56SAlexandr Smirnov			phy-handle = <&PHY2>;
18184ba4a58SAnton Vorontsov
18284ba4a58SAnton Vorontsov			mdio@520 {
18384ba4a58SAnton Vorontsov				#address-cells = <1>;
18484ba4a58SAnton Vorontsov				#size-cells = <0>;
18584ba4a58SAnton Vorontsov				compatible = "fsl,gianfar-tbi";
18684ba4a58SAnton Vorontsov				reg = <0x520 0x20>;
18784ba4a58SAnton Vorontsov
18884ba4a58SAnton Vorontsov				tbi1: tbi-phy@11 {
18984ba4a58SAnton Vorontsov					reg = <0x11>;
19084ba4a58SAnton Vorontsov					device_type = "tbi-phy";
19184ba4a58SAnton Vorontsov				};
19284ba4a58SAnton Vorontsov			};
193ee0a3f56SAlexandr Smirnov		};
194ee0a3f56SAlexandr Smirnov
1950fe9b1eaSKumar Gala		mpic: pic@40000 {
196ee0a3f56SAlexandr Smirnov			#address-cells = <0>;
197ee0a3f56SAlexandr Smirnov			#interrupt-cells = <2>;
198ee0a3f56SAlexandr Smirnov			interrupt-controller;
199ee0a3f56SAlexandr Smirnov			reg = <0x40000 0x40000>;
200ee0a3f56SAlexandr Smirnov			device_type = "open-pic";
201ee0a3f56SAlexandr Smirnov		};
202ee0a3f56SAlexandr Smirnov
203ee0a3f56SAlexandr Smirnov		cpm@919c0 {
204ee0a3f56SAlexandr Smirnov			#address-cells = <1>;
205ee0a3f56SAlexandr Smirnov			#size-cells = <1>;
206ee0a3f56SAlexandr Smirnov			compatible = "fsl,mpc8560-cpm", "fsl,cpm2";
207ee0a3f56SAlexandr Smirnov			reg = <0x919c0 0x30>;
208ee0a3f56SAlexandr Smirnov			ranges;
209ee0a3f56SAlexandr Smirnov
210ee0a3f56SAlexandr Smirnov			muram@80000 {
211ee0a3f56SAlexandr Smirnov				#address-cells = <1>;
212ee0a3f56SAlexandr Smirnov				#size-cells = <1>;
213ee0a3f56SAlexandr Smirnov				ranges = <0x0 0x80000 0x10000>;
214ee0a3f56SAlexandr Smirnov
215ee0a3f56SAlexandr Smirnov				data@0 {
216ee0a3f56SAlexandr Smirnov					compatible = "fsl,cpm-muram-data";
217ee0a3f56SAlexandr Smirnov					reg = <0x0 0x4000 0x9000 0x2000>;
218ee0a3f56SAlexandr Smirnov				};
219ee0a3f56SAlexandr Smirnov			};
220ee0a3f56SAlexandr Smirnov
221ee0a3f56SAlexandr Smirnov			brg@919f0 {
222ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-brg",
223ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-brg",
224ee0a3f56SAlexandr Smirnov					     "fsl,cpm-brg";
225ee0a3f56SAlexandr Smirnov				reg = <0x919f0 0x10 0x915f0 0x10>;
226ee0a3f56SAlexandr Smirnov				clock-frequency = <165000000>;	/* 166MHz */
227ee0a3f56SAlexandr Smirnov			};
228ee0a3f56SAlexandr Smirnov
229ee0a3f56SAlexandr Smirnov			CPMPIC: pic@90c00 {
230ee0a3f56SAlexandr Smirnov				#address-cells = <0>;
231ee0a3f56SAlexandr Smirnov				#interrupt-cells = <2>;
232ee0a3f56SAlexandr Smirnov				interrupt-controller;
233ee0a3f56SAlexandr Smirnov				interrupts = <0x2e 0x2>;
2340fe9b1eaSKumar Gala				interrupt-parent = <&mpic>;
235ee0a3f56SAlexandr Smirnov				reg = <0x90c00 0x80>;
236ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic";
237ee0a3f56SAlexandr Smirnov			};
238ee0a3f56SAlexandr Smirnov
239ee0a3f56SAlexandr Smirnov			serial@91a00 {
240ee0a3f56SAlexandr Smirnov				device_type = "serial";
241ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-scc-uart",
242ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-scc-uart";
243ee0a3f56SAlexandr Smirnov				reg = <0x91a00 0x20 0x88000 0x100>;
244ee0a3f56SAlexandr Smirnov				fsl,cpm-brg = <1>;
245ee0a3f56SAlexandr Smirnov				fsl,cpm-command = <0x800000>;
246ee0a3f56SAlexandr Smirnov				current-speed = <0x1c200>;
247ee0a3f56SAlexandr Smirnov				interrupts = <0x28 0x8>;
248ee0a3f56SAlexandr Smirnov				interrupt-parent = <&CPMPIC>;
249ee0a3f56SAlexandr Smirnov			};
250ee0a3f56SAlexandr Smirnov
251ee0a3f56SAlexandr Smirnov			serial@91a20 {
252ee0a3f56SAlexandr Smirnov				device_type = "serial";
253ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-scc-uart",
254ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-scc-uart";
255ee0a3f56SAlexandr Smirnov				reg = <0x91a20 0x20 0x88100 0x100>;
256ee0a3f56SAlexandr Smirnov				fsl,cpm-brg = <2>;
257ee0a3f56SAlexandr Smirnov				fsl,cpm-command = <0x4a00000>;
258ee0a3f56SAlexandr Smirnov				current-speed = <0x1c200>;
259ee0a3f56SAlexandr Smirnov				interrupts = <0x29 0x8>;
260ee0a3f56SAlexandr Smirnov				interrupt-parent = <&CPMPIC>;
261ee0a3f56SAlexandr Smirnov			};
262ee0a3f56SAlexandr Smirnov
263ee0a3f56SAlexandr Smirnov			mdio@90d00 {				/* For FCCs */
264ee0a3f56SAlexandr Smirnov				#address-cells = <1>;
265ee0a3f56SAlexandr Smirnov				#size-cells = <0>;
266ee0a3f56SAlexandr Smirnov				compatible = "fsl,cpm2-mdio-bitbang";
267ee0a3f56SAlexandr Smirnov				reg = <0x90d00 0x14>;
268ee0a3f56SAlexandr Smirnov				fsl,mdio-pin = <24>;
269ee0a3f56SAlexandr Smirnov				fsl,mdc-pin = <25>;
270ee0a3f56SAlexandr Smirnov
271ee0a3f56SAlexandr Smirnov				PHY0: ethernet-phy@0 {
2720fe9b1eaSKumar Gala					interrupt-parent = <&mpic>;
273ee0a3f56SAlexandr Smirnov					reg = <0x0>;
274ee0a3f56SAlexandr Smirnov					device_type = "ethernet-phy";
275ee0a3f56SAlexandr Smirnov				};
276ee0a3f56SAlexandr Smirnov			};
277ee0a3f56SAlexandr Smirnov
278ee0a3f56SAlexandr Smirnov			enet2: ethernet@91300 {
279ee0a3f56SAlexandr Smirnov				device_type = "network";
280ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-fcc-enet",
281ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-fcc-enet";
282ee0a3f56SAlexandr Smirnov				reg = <0x91300 0x20 0x88400 0x100 0x91390 0x1>;
283ee0a3f56SAlexandr Smirnov				/* Mac address filled in by bootwrapper */
284ee0a3f56SAlexandr Smirnov				local-mac-address = [ 00 00 00 00 00 00 ];
285ee0a3f56SAlexandr Smirnov				fsl,cpm-command = <0x12000300>;
286ee0a3f56SAlexandr Smirnov				interrupts = <0x20 0x8>;
287ee0a3f56SAlexandr Smirnov				interrupt-parent = <&CPMPIC>;
288ee0a3f56SAlexandr Smirnov				phy-handle = <&PHY0>;
289ee0a3f56SAlexandr Smirnov			};
290ee0a3f56SAlexandr Smirnov		};
291ee0a3f56SAlexandr Smirnov	};
292ee0a3f56SAlexandr Smirnov
293ee0a3f56SAlexandr Smirnov	localbus@fdf05000 {
294ee0a3f56SAlexandr Smirnov		#address-cells = <2>;
295ee0a3f56SAlexandr Smirnov		#size-cells = <1>;
296ee0a3f56SAlexandr Smirnov		compatible = "fsl,mpc8560-localbus";
297ee0a3f56SAlexandr Smirnov		reg = <0xfdf05000 0x68>;
298ee0a3f56SAlexandr Smirnov
299ee0a3f56SAlexandr Smirnov		ranges = <0x0 0x0 0xe0000000 0x00800000
300ee0a3f56SAlexandr Smirnov			  0x4 0x0 0xe8080000 0x00080000>;
301ee0a3f56SAlexandr Smirnov
302ee0a3f56SAlexandr Smirnov		flash@0,0 {
303ee0a3f56SAlexandr Smirnov			#address-cells = <1>;
304ee0a3f56SAlexandr Smirnov			#size-cells = <1>;
305ee0a3f56SAlexandr Smirnov			compatible = "jedec-flash";
306ee0a3f56SAlexandr Smirnov			reg = <0x0 0x0 0x800000>;
307ee0a3f56SAlexandr Smirnov			bank-width = <0x2>;
308ee0a3f56SAlexandr Smirnov
309ee0a3f56SAlexandr Smirnov			partition@0 {
310ee0a3f56SAlexandr Smirnov				label = "Primary Kernel";
311ee0a3f56SAlexandr Smirnov				reg = <0x0 0x180000>;
312ee0a3f56SAlexandr Smirnov			};
313ee0a3f56SAlexandr Smirnov			partition@180000 {
314ee0a3f56SAlexandr Smirnov				label = "Primary Filesystem";
315ee0a3f56SAlexandr Smirnov				reg = <0x180000 0x580000>;
316ee0a3f56SAlexandr Smirnov			};
317ee0a3f56SAlexandr Smirnov			partition@700000 {
318ee0a3f56SAlexandr Smirnov				label = "Monitor";
319ee0a3f56SAlexandr Smirnov				reg = <0x300000 0x100000>;
320ee0a3f56SAlexandr Smirnov				read-only;
321ee0a3f56SAlexandr Smirnov			};
322ee0a3f56SAlexandr Smirnov		};
323ee0a3f56SAlexandr Smirnov
324ee0a3f56SAlexandr Smirnov		cpld@4,0 {
325ee0a3f56SAlexandr Smirnov			compatible = "emerson,KSI8560-cpld";
326ee0a3f56SAlexandr Smirnov			reg = <0x4 0x0 0x80000>;
327ee0a3f56SAlexandr Smirnov		};
328ee0a3f56SAlexandr Smirnov	};
329ee0a3f56SAlexandr Smirnov
330ee0a3f56SAlexandr Smirnov
331ee0a3f56SAlexandr Smirnov	chosen {
332ee0a3f56SAlexandr Smirnov		linux,stdout-path = "/soc/cpm/serial@91a00";
333ee0a3f56SAlexandr Smirnov	};
334ee0a3f56SAlexandr Smirnov};
335