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