1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * TQM 8555 Device Tree Source
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright 2008 Freescale Semiconductor Inc.
6c66ec88fSEmmanuel Vadot */
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot/dts-v1/;
9c66ec88fSEmmanuel Vadot
10*7ef62cebSEmmanuel Vadot/include/ "fsl/e500v1_power_isa.dtsi"
11*7ef62cebSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	model = "tqc,tqm8555";
14c66ec88fSEmmanuel Vadot	compatible = "tqc,tqm8555";
15c66ec88fSEmmanuel Vadot	#address-cells = <1>;
16c66ec88fSEmmanuel Vadot	#size-cells = <1>;
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot	aliases {
19c66ec88fSEmmanuel Vadot		ethernet0 = &enet0;
20c66ec88fSEmmanuel Vadot		ethernet1 = &enet1;
21c66ec88fSEmmanuel Vadot		serial0 = &serial0;
22c66ec88fSEmmanuel Vadot		serial1 = &serial1;
23c66ec88fSEmmanuel Vadot		pci0 = &pci0;
24c66ec88fSEmmanuel Vadot	};
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot	cpus {
27c66ec88fSEmmanuel Vadot		#address-cells = <1>;
28c66ec88fSEmmanuel Vadot		#size-cells = <0>;
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot		PowerPC,8555@0 {
31c66ec88fSEmmanuel Vadot			device_type = "cpu";
32c66ec88fSEmmanuel Vadot			reg = <0>;
33c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
34c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
35c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
36c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
37c66ec88fSEmmanuel Vadot			timebase-frequency = <0>;
38c66ec88fSEmmanuel Vadot			bus-frequency = <0>;
39c66ec88fSEmmanuel Vadot			clock-frequency = <0>;
40c66ec88fSEmmanuel Vadot			next-level-cache = <&L2>;
41c66ec88fSEmmanuel Vadot		};
42c66ec88fSEmmanuel Vadot	};
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot	memory {
45c66ec88fSEmmanuel Vadot		device_type = "memory";
46c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x10000000>;
47c66ec88fSEmmanuel Vadot	};
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot	soc@e0000000 {
50c66ec88fSEmmanuel Vadot		#address-cells = <1>;
51c66ec88fSEmmanuel Vadot		#size-cells = <1>;
52c66ec88fSEmmanuel Vadot		device_type = "soc";
53c66ec88fSEmmanuel Vadot		ranges = <0x0 0xe0000000 0x100000>;
54c66ec88fSEmmanuel Vadot		bus-frequency = <0>;
55c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8555-immr", "simple-bus";
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot		ecm-law@0 {
58c66ec88fSEmmanuel Vadot			compatible = "fsl,ecm-law";
59c66ec88fSEmmanuel Vadot			reg = <0x0 0x1000>;
60c66ec88fSEmmanuel Vadot			fsl,num-laws = <8>;
61c66ec88fSEmmanuel Vadot		};
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot		ecm@1000 {
64c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8555-ecm", "fsl,ecm";
65c66ec88fSEmmanuel Vadot			reg = <0x1000 0x1000>;
66c66ec88fSEmmanuel Vadot			interrupts = <17 2>;
67c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
68c66ec88fSEmmanuel Vadot		};
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot		memory-controller@2000 {
71c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8540-memory-controller";
72c66ec88fSEmmanuel Vadot			reg = <0x2000 0x1000>;
73c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
74c66ec88fSEmmanuel Vadot			interrupts = <18 2>;
75c66ec88fSEmmanuel Vadot		};
76c66ec88fSEmmanuel Vadot
77c66ec88fSEmmanuel Vadot		L2: l2-cache-controller@20000 {
78c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8540-l2-cache-controller";
79c66ec88fSEmmanuel Vadot			reg = <0x20000 0x1000>;
80c66ec88fSEmmanuel Vadot			cache-line-size = <32>;
81c66ec88fSEmmanuel Vadot			cache-size = <0x40000>;	// L2, 256K
82c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
83c66ec88fSEmmanuel Vadot			interrupts = <16 2>;
84c66ec88fSEmmanuel Vadot		};
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel Vadot		i2c@3000 {
87c66ec88fSEmmanuel Vadot			#address-cells = <1>;
88c66ec88fSEmmanuel Vadot			#size-cells = <0>;
89c66ec88fSEmmanuel Vadot			cell-index = <0>;
90c66ec88fSEmmanuel Vadot			compatible = "fsl-i2c";
91c66ec88fSEmmanuel Vadot			reg = <0x3000 0x100>;
92c66ec88fSEmmanuel Vadot			interrupts = <43 2>;
93c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
94c66ec88fSEmmanuel Vadot			dfsrr;
95c66ec88fSEmmanuel Vadot
96c66ec88fSEmmanuel Vadot			dtt@48 {
97c66ec88fSEmmanuel Vadot				compatible = "national,lm75";
98c66ec88fSEmmanuel Vadot				reg = <0x48>;
99c66ec88fSEmmanuel Vadot			};
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot			rtc@68 {
102c66ec88fSEmmanuel Vadot				compatible = "dallas,ds1337";
103c66ec88fSEmmanuel Vadot				reg = <0x68>;
104c66ec88fSEmmanuel Vadot			};
105c66ec88fSEmmanuel Vadot		};
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot		dma@21300 {
108c66ec88fSEmmanuel Vadot			#address-cells = <1>;
109c66ec88fSEmmanuel Vadot			#size-cells = <1>;
110c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8555-dma", "fsl,eloplus-dma";
111c66ec88fSEmmanuel Vadot			reg = <0x21300 0x4>;
112c66ec88fSEmmanuel Vadot			ranges = <0x0 0x21100 0x200>;
113c66ec88fSEmmanuel Vadot			cell-index = <0>;
114c66ec88fSEmmanuel Vadot			dma-channel@0 {
115c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8555-dma-channel",
116c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
117c66ec88fSEmmanuel Vadot				reg = <0x0 0x80>;
118c66ec88fSEmmanuel Vadot				cell-index = <0>;
119c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
120c66ec88fSEmmanuel Vadot				interrupts = <20 2>;
121c66ec88fSEmmanuel Vadot			};
122c66ec88fSEmmanuel Vadot			dma-channel@80 {
123c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8555-dma-channel",
124c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
125c66ec88fSEmmanuel Vadot				reg = <0x80 0x80>;
126c66ec88fSEmmanuel Vadot				cell-index = <1>;
127c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
128c66ec88fSEmmanuel Vadot				interrupts = <21 2>;
129c66ec88fSEmmanuel Vadot			};
130c66ec88fSEmmanuel Vadot			dma-channel@100 {
131c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8555-dma-channel",
132c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
133c66ec88fSEmmanuel Vadot				reg = <0x100 0x80>;
134c66ec88fSEmmanuel Vadot				cell-index = <2>;
135c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
136c66ec88fSEmmanuel Vadot				interrupts = <22 2>;
137c66ec88fSEmmanuel Vadot			};
138c66ec88fSEmmanuel Vadot			dma-channel@180 {
139c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8555-dma-channel",
140c66ec88fSEmmanuel Vadot						"fsl,eloplus-dma-channel";
141c66ec88fSEmmanuel Vadot				reg = <0x180 0x80>;
142c66ec88fSEmmanuel Vadot				cell-index = <3>;
143c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
144c66ec88fSEmmanuel Vadot				interrupts = <23 2>;
145c66ec88fSEmmanuel Vadot			};
146c66ec88fSEmmanuel Vadot		};
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadot		enet0: ethernet@24000 {
149c66ec88fSEmmanuel Vadot			#address-cells = <1>;
150c66ec88fSEmmanuel Vadot			#size-cells = <1>;
151c66ec88fSEmmanuel Vadot			cell-index = <0>;
152c66ec88fSEmmanuel Vadot			device_type = "network";
153c66ec88fSEmmanuel Vadot			model = "TSEC";
154c66ec88fSEmmanuel Vadot			compatible = "gianfar";
155c66ec88fSEmmanuel Vadot			reg = <0x24000 0x1000>;
156c66ec88fSEmmanuel Vadot			ranges = <0x0 0x24000 0x1000>;
157c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
158c66ec88fSEmmanuel Vadot			interrupts = <29 2 30 2 34 2>;
159c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
160c66ec88fSEmmanuel Vadot			tbi-handle = <&tbi0>;
161c66ec88fSEmmanuel Vadot			phy-handle = <&phy2>;
162c66ec88fSEmmanuel Vadot
163c66ec88fSEmmanuel Vadot			mdio@520 {
164c66ec88fSEmmanuel Vadot				#address-cells = <1>;
165c66ec88fSEmmanuel Vadot				#size-cells = <0>;
166c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-mdio";
167c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
168c66ec88fSEmmanuel Vadot
169c66ec88fSEmmanuel Vadot				phy1: ethernet-phy@1 {
170c66ec88fSEmmanuel Vadot					interrupt-parent = <&mpic>;
171c66ec88fSEmmanuel Vadot					interrupts = <8 1>;
172c66ec88fSEmmanuel Vadot					reg = <1>;
173c66ec88fSEmmanuel Vadot				};
174c66ec88fSEmmanuel Vadot				phy2: ethernet-phy@2 {
175c66ec88fSEmmanuel Vadot					interrupt-parent = <&mpic>;
176c66ec88fSEmmanuel Vadot					interrupts = <8 1>;
177c66ec88fSEmmanuel Vadot					reg = <2>;
178c66ec88fSEmmanuel Vadot				};
179c66ec88fSEmmanuel Vadot				phy3: ethernet-phy@3 {
180c66ec88fSEmmanuel Vadot					interrupt-parent = <&mpic>;
181c66ec88fSEmmanuel Vadot					interrupts = <8 1>;
182c66ec88fSEmmanuel Vadot					reg = <3>;
183c66ec88fSEmmanuel Vadot				};
184c66ec88fSEmmanuel Vadot				tbi0: tbi-phy@11 {
185c66ec88fSEmmanuel Vadot					reg = <0x11>;
186c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
187c66ec88fSEmmanuel Vadot				};
188c66ec88fSEmmanuel Vadot			};
189c66ec88fSEmmanuel Vadot		};
190c66ec88fSEmmanuel Vadot
191c66ec88fSEmmanuel Vadot		enet1: ethernet@25000 {
192c66ec88fSEmmanuel Vadot			#address-cells = <1>;
193c66ec88fSEmmanuel Vadot			#size-cells = <1>;
194c66ec88fSEmmanuel Vadot			cell-index = <1>;
195c66ec88fSEmmanuel Vadot			device_type = "network";
196c66ec88fSEmmanuel Vadot			model = "TSEC";
197c66ec88fSEmmanuel Vadot			compatible = "gianfar";
198c66ec88fSEmmanuel Vadot			reg = <0x25000 0x1000>;
199c66ec88fSEmmanuel Vadot			ranges = <0x0 0x25000 0x1000>;
200c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
201c66ec88fSEmmanuel Vadot			interrupts = <35 2 36 2 40 2>;
202c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
203c66ec88fSEmmanuel Vadot			tbi-handle = <&tbi1>;
204c66ec88fSEmmanuel Vadot			phy-handle = <&phy1>;
205c66ec88fSEmmanuel Vadot
206c66ec88fSEmmanuel Vadot			mdio@520 {
207c66ec88fSEmmanuel Vadot				#address-cells = <1>;
208c66ec88fSEmmanuel Vadot				#size-cells = <0>;
209c66ec88fSEmmanuel Vadot				compatible = "fsl,gianfar-tbi";
210c66ec88fSEmmanuel Vadot				reg = <0x520 0x20>;
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel Vadot				tbi1: tbi-phy@11 {
213c66ec88fSEmmanuel Vadot					reg = <0x11>;
214c66ec88fSEmmanuel Vadot					device_type = "tbi-phy";
215c66ec88fSEmmanuel Vadot				};
216c66ec88fSEmmanuel Vadot			};
217c66ec88fSEmmanuel Vadot		};
218c66ec88fSEmmanuel Vadot
219c66ec88fSEmmanuel Vadot		serial0: serial@4500 {
220c66ec88fSEmmanuel Vadot			cell-index = <0>;
221c66ec88fSEmmanuel Vadot			device_type = "serial";
222c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
223c66ec88fSEmmanuel Vadot			reg = <0x4500 0x100>; 	// reg base, size
224c66ec88fSEmmanuel Vadot			clock-frequency = <0>; 	// should we fill in in uboot?
225c66ec88fSEmmanuel Vadot			interrupts = <42 2>;
226c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
227c66ec88fSEmmanuel Vadot		};
228c66ec88fSEmmanuel Vadot
229c66ec88fSEmmanuel Vadot		serial1: serial@4600 {
230c66ec88fSEmmanuel Vadot			cell-index = <1>;
231c66ec88fSEmmanuel Vadot			device_type = "serial";
232c66ec88fSEmmanuel Vadot			compatible = "fsl,ns16550", "ns16550";
233c66ec88fSEmmanuel Vadot			reg = <0x4600 0x100>;	// reg base, size
234c66ec88fSEmmanuel Vadot			clock-frequency = <0>; 	// should we fill in in uboot?
235c66ec88fSEmmanuel Vadot			interrupts = <42 2>;
236c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
237c66ec88fSEmmanuel Vadot		};
238c66ec88fSEmmanuel Vadot
239c66ec88fSEmmanuel Vadot		crypto@30000 {
240c66ec88fSEmmanuel Vadot			compatible = "fsl,sec2.0";
241c66ec88fSEmmanuel Vadot			reg = <0x30000 0x10000>;
242c66ec88fSEmmanuel Vadot			interrupts = <45 2>;
243c66ec88fSEmmanuel Vadot			interrupt-parent = <&mpic>;
244c66ec88fSEmmanuel Vadot			fsl,num-channels = <4>;
245c66ec88fSEmmanuel Vadot			fsl,channel-fifo-len = <24>;
246c66ec88fSEmmanuel Vadot			fsl,exec-units-mask = <0x7e>;
247c66ec88fSEmmanuel Vadot			fsl,descriptor-types-mask = <0x01010ebf>;
248c66ec88fSEmmanuel Vadot		};
249c66ec88fSEmmanuel Vadot
250c66ec88fSEmmanuel Vadot		mpic: pic@40000 {
251c66ec88fSEmmanuel Vadot			interrupt-controller;
252c66ec88fSEmmanuel Vadot			#address-cells = <0>;
253c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
254c66ec88fSEmmanuel Vadot			reg = <0x40000 0x40000>;
255c66ec88fSEmmanuel Vadot			device_type = "open-pic";
256c66ec88fSEmmanuel Vadot			compatible = "chrp,open-pic";
257c66ec88fSEmmanuel Vadot		};
258c66ec88fSEmmanuel Vadot
259c66ec88fSEmmanuel Vadot		cpm@919c0 {
260c66ec88fSEmmanuel Vadot			#address-cells = <1>;
261c66ec88fSEmmanuel Vadot			#size-cells = <1>;
262c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc8555-cpm", "fsl,cpm2", "simple-bus";
263c66ec88fSEmmanuel Vadot			reg = <0x919c0 0x30>;
264c66ec88fSEmmanuel Vadot			ranges;
265c66ec88fSEmmanuel Vadot
266c66ec88fSEmmanuel Vadot			muram@80000 {
267c66ec88fSEmmanuel Vadot				#address-cells = <1>;
268c66ec88fSEmmanuel Vadot				#size-cells = <1>;
269c66ec88fSEmmanuel Vadot				ranges = <0 0x80000 0x10000>;
270c66ec88fSEmmanuel Vadot
271c66ec88fSEmmanuel Vadot				data@0 {
272c66ec88fSEmmanuel Vadot					compatible = "fsl,cpm-muram-data";
273c66ec88fSEmmanuel Vadot					reg = <0 0x2000 0x9000 0x1000>;
274c66ec88fSEmmanuel Vadot				};
275c66ec88fSEmmanuel Vadot			};
276c66ec88fSEmmanuel Vadot
277c66ec88fSEmmanuel Vadot			brg@919f0 {
278c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8555-brg",
279c66ec88fSEmmanuel Vadot				             "fsl,cpm2-brg",
280c66ec88fSEmmanuel Vadot				             "fsl,cpm-brg";
281c66ec88fSEmmanuel Vadot				reg = <0x919f0 0x10 0x915f0 0x10>;
282c66ec88fSEmmanuel Vadot				clock-frequency = <0>;
283c66ec88fSEmmanuel Vadot			};
284c66ec88fSEmmanuel Vadot
285c66ec88fSEmmanuel Vadot			cpmpic: pic@90c00 {
286c66ec88fSEmmanuel Vadot				interrupt-controller;
287c66ec88fSEmmanuel Vadot				#address-cells = <0>;
288c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
289c66ec88fSEmmanuel Vadot				interrupts = <46 2>;
290c66ec88fSEmmanuel Vadot				interrupt-parent = <&mpic>;
291c66ec88fSEmmanuel Vadot				reg = <0x90c00 0x80>;
292c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc8555-cpm-pic", "fsl,cpm2-pic";
293c66ec88fSEmmanuel Vadot			};
294c66ec88fSEmmanuel Vadot		};
295c66ec88fSEmmanuel Vadot	};
296c66ec88fSEmmanuel Vadot
297c66ec88fSEmmanuel Vadot	pci0: pci@e0008000 {
298c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
299c66ec88fSEmmanuel Vadot		#size-cells = <2>;
300c66ec88fSEmmanuel Vadot		#address-cells = <3>;
301c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
302c66ec88fSEmmanuel Vadot		device_type = "pci";
303c66ec88fSEmmanuel Vadot		reg = <0xe0008000 0x1000>;
304c66ec88fSEmmanuel Vadot		clock-frequency = <66666666>;
305c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
306c66ec88fSEmmanuel Vadot		interrupt-map = <
307c66ec88fSEmmanuel Vadot				/* IDSEL 28 */
308c66ec88fSEmmanuel Vadot				 0xe000 0 0 1 &mpic 2 1
309c66ec88fSEmmanuel Vadot				 0xe000 0 0 2 &mpic 3 1
310c66ec88fSEmmanuel Vadot				 0xe000 0 0 3 &mpic 6 1
311c66ec88fSEmmanuel Vadot				 0xe000 0 0 4 &mpic 5 1
312c66ec88fSEmmanuel Vadot
313c66ec88fSEmmanuel Vadot				/* IDSEL 11 */
314c66ec88fSEmmanuel Vadot				 0x5800 0 0 1 &mpic 6 1
315c66ec88fSEmmanuel Vadot				 0x5800 0 0 2 &mpic 5 1
316c66ec88fSEmmanuel Vadot				 >;
317c66ec88fSEmmanuel Vadot
318c66ec88fSEmmanuel Vadot		interrupt-parent = <&mpic>;
319c66ec88fSEmmanuel Vadot		interrupts = <24 2>;
320c66ec88fSEmmanuel Vadot		bus-range = <0 0>;
321c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000
322c66ec88fSEmmanuel Vadot			  0x01000000 0 0x00000000 0xe2000000 0 0x01000000>;
323c66ec88fSEmmanuel Vadot	};
324c66ec88fSEmmanuel Vadot};
325