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 {
60ee0a3f56SAlexandr Smirnov			compatible = "fsl,8540-memory-controller";
61ee0a3f56SAlexandr Smirnov			reg = <0x2000 0x1000>;
62ee0a3f56SAlexandr Smirnov			interrupt-parent = <&MPIC>;
63ee0a3f56SAlexandr Smirnov			interrupts = <0x12 0x2>;
64ee0a3f56SAlexandr Smirnov		};
65ee0a3f56SAlexandr Smirnov
66c054065bSKumar Gala		L2: l2-cache-controller@20000 {
67ee0a3f56SAlexandr Smirnov			compatible = "fsl,8540-l2-cache-controller";
68ee0a3f56SAlexandr Smirnov			reg = <0x20000 0x1000>;
69ee0a3f56SAlexandr Smirnov			cache-line-size = <0x20>;		/* 32 bytes */
70ee0a3f56SAlexandr Smirnov			cache-size = <0x40000>;			/* L2, 256K */
71ee0a3f56SAlexandr Smirnov			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>;
82ee0a3f56SAlexandr Smirnov			interrupt-parent = <&MPIC>;
83ee0a3f56SAlexandr Smirnov			dfsrr;
84ee0a3f56SAlexandr Smirnov		};
85ee0a3f56SAlexandr Smirnov
86ee0a3f56SAlexandr Smirnov		mdio@24520 {					/* For TSECs */
87ee0a3f56SAlexandr Smirnov			#address-cells = <1>;
88ee0a3f56SAlexandr Smirnov			#size-cells = <0>;
89ee0a3f56SAlexandr Smirnov			compatible = "fsl,gianfar-mdio";
90ee0a3f56SAlexandr Smirnov			reg = <0x24520 0x20>;
91ee0a3f56SAlexandr Smirnov
92ee0a3f56SAlexandr Smirnov			PHY1: ethernet-phy@1 {
93ee0a3f56SAlexandr Smirnov				interrupt-parent = <&MPIC>;
94ee0a3f56SAlexandr Smirnov				reg = <0x1>;
95ee0a3f56SAlexandr Smirnov				device_type = "ethernet-phy";
96ee0a3f56SAlexandr Smirnov			};
97ee0a3f56SAlexandr Smirnov
98ee0a3f56SAlexandr Smirnov			PHY2: ethernet-phy@2 {
99ee0a3f56SAlexandr Smirnov				interrupt-parent = <&MPIC>;
100ee0a3f56SAlexandr Smirnov				reg = <0x2>;
101ee0a3f56SAlexandr Smirnov				device_type = "ethernet-phy";
102ee0a3f56SAlexandr Smirnov			};
103ee0a3f56SAlexandr Smirnov		};
104ee0a3f56SAlexandr Smirnov
105ee0a3f56SAlexandr Smirnov		enet0: ethernet@24000 {
106ee0a3f56SAlexandr Smirnov			device_type = "network";
107ee0a3f56SAlexandr Smirnov			model = "TSEC";
108ee0a3f56SAlexandr Smirnov			compatible = "gianfar";
109ee0a3f56SAlexandr Smirnov			reg = <0x24000 0x1000>;
110ee0a3f56SAlexandr Smirnov			/* Mac address filled in by bootwrapper */
111ee0a3f56SAlexandr Smirnov			local-mac-address = [ 00 00 00 00 00 00 ];
112ee0a3f56SAlexandr Smirnov			interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
113ee0a3f56SAlexandr Smirnov			interrupt-parent = <&MPIC>;
114ee0a3f56SAlexandr Smirnov			phy-handle = <&PHY1>;
115ee0a3f56SAlexandr Smirnov		};
116ee0a3f56SAlexandr Smirnov
117ee0a3f56SAlexandr Smirnov		enet1: ethernet@25000 {
118ee0a3f56SAlexandr Smirnov			device_type = "network";
119ee0a3f56SAlexandr Smirnov			model = "TSEC";
120ee0a3f56SAlexandr Smirnov			compatible = "gianfar";
121ee0a3f56SAlexandr Smirnov			reg = <0x25000 0x1000>;
122ee0a3f56SAlexandr Smirnov			/* Mac address filled in by bootwrapper */
123ee0a3f56SAlexandr Smirnov			local-mac-address = [ 00 00 00 00 00 00 ];
124ee0a3f56SAlexandr Smirnov			interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
125ee0a3f56SAlexandr Smirnov			interrupt-parent = <&MPIC>;
126ee0a3f56SAlexandr Smirnov			phy-handle = <&PHY2>;
127ee0a3f56SAlexandr Smirnov		};
128ee0a3f56SAlexandr Smirnov
129ee0a3f56SAlexandr Smirnov		MPIC: pic@40000 {
130ee0a3f56SAlexandr Smirnov			#address-cells = <0>;
131ee0a3f56SAlexandr Smirnov			#interrupt-cells = <2>;
132ee0a3f56SAlexandr Smirnov			interrupt-controller;
133ee0a3f56SAlexandr Smirnov			reg = <0x40000 0x40000>;
134ee0a3f56SAlexandr Smirnov			device_type = "open-pic";
135ee0a3f56SAlexandr Smirnov		};
136ee0a3f56SAlexandr Smirnov
137ee0a3f56SAlexandr Smirnov		cpm@919c0 {
138ee0a3f56SAlexandr Smirnov			#address-cells = <1>;
139ee0a3f56SAlexandr Smirnov			#size-cells = <1>;
140ee0a3f56SAlexandr Smirnov			compatible = "fsl,mpc8560-cpm", "fsl,cpm2";
141ee0a3f56SAlexandr Smirnov			reg = <0x919c0 0x30>;
142ee0a3f56SAlexandr Smirnov			ranges;
143ee0a3f56SAlexandr Smirnov
144ee0a3f56SAlexandr Smirnov			muram@80000 {
145ee0a3f56SAlexandr Smirnov				#address-cells = <1>;
146ee0a3f56SAlexandr Smirnov				#size-cells = <1>;
147ee0a3f56SAlexandr Smirnov				ranges = <0x0 0x80000 0x10000>;
148ee0a3f56SAlexandr Smirnov
149ee0a3f56SAlexandr Smirnov				data@0 {
150ee0a3f56SAlexandr Smirnov					compatible = "fsl,cpm-muram-data";
151ee0a3f56SAlexandr Smirnov					reg = <0x0 0x4000 0x9000 0x2000>;
152ee0a3f56SAlexandr Smirnov				};
153ee0a3f56SAlexandr Smirnov			};
154ee0a3f56SAlexandr Smirnov
155ee0a3f56SAlexandr Smirnov			brg@919f0 {
156ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-brg",
157ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-brg",
158ee0a3f56SAlexandr Smirnov					     "fsl,cpm-brg";
159ee0a3f56SAlexandr Smirnov				reg = <0x919f0 0x10 0x915f0 0x10>;
160ee0a3f56SAlexandr Smirnov				clock-frequency = <165000000>;	/* 166MHz */
161ee0a3f56SAlexandr Smirnov			};
162ee0a3f56SAlexandr Smirnov
163ee0a3f56SAlexandr Smirnov			CPMPIC: pic@90c00 {
164ee0a3f56SAlexandr Smirnov				#address-cells = <0>;
165ee0a3f56SAlexandr Smirnov				#interrupt-cells = <2>;
166ee0a3f56SAlexandr Smirnov				interrupt-controller;
167ee0a3f56SAlexandr Smirnov				interrupts = <0x2e 0x2>;
168ee0a3f56SAlexandr Smirnov				interrupt-parent = <&MPIC>;
169ee0a3f56SAlexandr Smirnov				reg = <0x90c00 0x80>;
170ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic";
171ee0a3f56SAlexandr Smirnov			};
172ee0a3f56SAlexandr Smirnov
173ee0a3f56SAlexandr Smirnov			serial@91a00 {
174ee0a3f56SAlexandr Smirnov				device_type = "serial";
175ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-scc-uart",
176ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-scc-uart";
177ee0a3f56SAlexandr Smirnov				reg = <0x91a00 0x20 0x88000 0x100>;
178ee0a3f56SAlexandr Smirnov				fsl,cpm-brg = <1>;
179ee0a3f56SAlexandr Smirnov				fsl,cpm-command = <0x800000>;
180ee0a3f56SAlexandr Smirnov				current-speed = <0x1c200>;
181ee0a3f56SAlexandr Smirnov				interrupts = <0x28 0x8>;
182ee0a3f56SAlexandr Smirnov				interrupt-parent = <&CPMPIC>;
183ee0a3f56SAlexandr Smirnov			};
184ee0a3f56SAlexandr Smirnov
185ee0a3f56SAlexandr Smirnov			serial@91a20 {
186ee0a3f56SAlexandr Smirnov				device_type = "serial";
187ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-scc-uart",
188ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-scc-uart";
189ee0a3f56SAlexandr Smirnov				reg = <0x91a20 0x20 0x88100 0x100>;
190ee0a3f56SAlexandr Smirnov				fsl,cpm-brg = <2>;
191ee0a3f56SAlexandr Smirnov				fsl,cpm-command = <0x4a00000>;
192ee0a3f56SAlexandr Smirnov				current-speed = <0x1c200>;
193ee0a3f56SAlexandr Smirnov				interrupts = <0x29 0x8>;
194ee0a3f56SAlexandr Smirnov				interrupt-parent = <&CPMPIC>;
195ee0a3f56SAlexandr Smirnov			};
196ee0a3f56SAlexandr Smirnov
197ee0a3f56SAlexandr Smirnov			mdio@90d00 {				/* For FCCs */
198ee0a3f56SAlexandr Smirnov				#address-cells = <1>;
199ee0a3f56SAlexandr Smirnov				#size-cells = <0>;
200ee0a3f56SAlexandr Smirnov				compatible = "fsl,cpm2-mdio-bitbang";
201ee0a3f56SAlexandr Smirnov				reg = <0x90d00 0x14>;
202ee0a3f56SAlexandr Smirnov				fsl,mdio-pin = <24>;
203ee0a3f56SAlexandr Smirnov				fsl,mdc-pin = <25>;
204ee0a3f56SAlexandr Smirnov
205ee0a3f56SAlexandr Smirnov				PHY0: ethernet-phy@0 {
206ee0a3f56SAlexandr Smirnov					interrupt-parent = <&MPIC>;
207ee0a3f56SAlexandr Smirnov					reg = <0x0>;
208ee0a3f56SAlexandr Smirnov					device_type = "ethernet-phy";
209ee0a3f56SAlexandr Smirnov				};
210ee0a3f56SAlexandr Smirnov			};
211ee0a3f56SAlexandr Smirnov
212ee0a3f56SAlexandr Smirnov			enet2: ethernet@91300 {
213ee0a3f56SAlexandr Smirnov				device_type = "network";
214ee0a3f56SAlexandr Smirnov				compatible = "fsl,mpc8560-fcc-enet",
215ee0a3f56SAlexandr Smirnov					     "fsl,cpm2-fcc-enet";
216ee0a3f56SAlexandr Smirnov				reg = <0x91300 0x20 0x88400 0x100 0x91390 0x1>;
217ee0a3f56SAlexandr Smirnov				/* Mac address filled in by bootwrapper */
218ee0a3f56SAlexandr Smirnov				local-mac-address = [ 00 00 00 00 00 00 ];
219ee0a3f56SAlexandr Smirnov				fsl,cpm-command = <0x12000300>;
220ee0a3f56SAlexandr Smirnov				interrupts = <0x20 0x8>;
221ee0a3f56SAlexandr Smirnov				interrupt-parent = <&CPMPIC>;
222ee0a3f56SAlexandr Smirnov				phy-handle = <&PHY0>;
223ee0a3f56SAlexandr Smirnov			};
224ee0a3f56SAlexandr Smirnov		};
225ee0a3f56SAlexandr Smirnov	};
226ee0a3f56SAlexandr Smirnov
227ee0a3f56SAlexandr Smirnov	localbus@fdf05000 {
228ee0a3f56SAlexandr Smirnov		#address-cells = <2>;
229ee0a3f56SAlexandr Smirnov		#size-cells = <1>;
230ee0a3f56SAlexandr Smirnov		compatible = "fsl,mpc8560-localbus";
231ee0a3f56SAlexandr Smirnov		reg = <0xfdf05000 0x68>;
232ee0a3f56SAlexandr Smirnov
233ee0a3f56SAlexandr Smirnov		ranges = <0x0 0x0 0xe0000000 0x00800000
234ee0a3f56SAlexandr Smirnov			  0x4 0x0 0xe8080000 0x00080000>;
235ee0a3f56SAlexandr Smirnov
236ee0a3f56SAlexandr Smirnov		flash@0,0 {
237ee0a3f56SAlexandr Smirnov			#address-cells = <1>;
238ee0a3f56SAlexandr Smirnov			#size-cells = <1>;
239ee0a3f56SAlexandr Smirnov			compatible = "jedec-flash";
240ee0a3f56SAlexandr Smirnov			reg = <0x0 0x0 0x800000>;
241ee0a3f56SAlexandr Smirnov			bank-width = <0x2>;
242ee0a3f56SAlexandr Smirnov
243ee0a3f56SAlexandr Smirnov			partition@0 {
244ee0a3f56SAlexandr Smirnov				label = "Primary Kernel";
245ee0a3f56SAlexandr Smirnov				reg = <0x0 0x180000>;
246ee0a3f56SAlexandr Smirnov			};
247ee0a3f56SAlexandr Smirnov			partition@180000 {
248ee0a3f56SAlexandr Smirnov				label = "Primary Filesystem";
249ee0a3f56SAlexandr Smirnov				reg = <0x180000 0x580000>;
250ee0a3f56SAlexandr Smirnov			};
251ee0a3f56SAlexandr Smirnov			partition@700000 {
252ee0a3f56SAlexandr Smirnov				label = "Monitor";
253ee0a3f56SAlexandr Smirnov				reg = <0x300000 0x100000>;
254ee0a3f56SAlexandr Smirnov				read-only;
255ee0a3f56SAlexandr Smirnov			};
256ee0a3f56SAlexandr Smirnov		};
257ee0a3f56SAlexandr Smirnov
258ee0a3f56SAlexandr Smirnov		cpld@4,0 {
259ee0a3f56SAlexandr Smirnov			compatible = "emerson,KSI8560-cpld";
260ee0a3f56SAlexandr Smirnov			reg = <0x4 0x0 0x80000>;
261ee0a3f56SAlexandr Smirnov		};
262ee0a3f56SAlexandr Smirnov	};
263ee0a3f56SAlexandr Smirnov
264ee0a3f56SAlexandr Smirnov
265ee0a3f56SAlexandr Smirnov	chosen {
266ee0a3f56SAlexandr Smirnov		linux,stdout-path = "/soc/cpm/serial@91a00";
267ee0a3f56SAlexandr Smirnov	};
268ee0a3f56SAlexandr Smirnov};
269