1b359049fSKim Phillips/*
2b359049fSKim Phillips * MPC8313E RDB Device Tree Source
3b359049fSKim Phillips *
4b359049fSKim Phillips * Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
5b359049fSKim Phillips *
6b359049fSKim Phillips * This program is free software; you can redistribute  it and/or modify it
7b359049fSKim Phillips * under  the terms of  the GNU General  Public License as published by the
8b359049fSKim Phillips * Free Software Foundation;  either version 2 of the  License, or (at your
9b359049fSKim Phillips * option) any later version.
10b359049fSKim Phillips */
11b359049fSKim Phillips
12b359049fSKim Phillips/ {
13b359049fSKim Phillips	model = "MPC8313ERDB";
14d71a1dc6SKumar Gala	compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB";
15b359049fSKim Phillips	#address-cells = <1>;
16b359049fSKim Phillips	#size-cells = <1>;
17b359049fSKim Phillips
18ea082fa9SKumar Gala	aliases {
19ea082fa9SKumar Gala		ethernet0 = &enet0;
20ea082fa9SKumar Gala		ethernet1 = &enet1;
21ea082fa9SKumar Gala		serial0 = &serial0;
22ea082fa9SKumar Gala		serial1 = &serial1;
23ea082fa9SKumar Gala		pci0 = &pci0;
24ea082fa9SKumar Gala	};
25ea082fa9SKumar Gala
26b359049fSKim Phillips	cpus {
27b359049fSKim Phillips		#address-cells = <1>;
28b359049fSKim Phillips		#size-cells = <0>;
29b359049fSKim Phillips
30b359049fSKim Phillips		PowerPC,8313@0 {
31b359049fSKim Phillips			device_type = "cpu";
32b359049fSKim Phillips			reg = <0>;
33b359049fSKim Phillips			d-cache-line-size = <20>;	// 32 bytes
34b359049fSKim Phillips			i-cache-line-size = <20>;	// 32 bytes
35b359049fSKim Phillips			d-cache-size = <4000>;		// L1, 16K
36b359049fSKim Phillips			i-cache-size = <4000>;		// L1, 16K
37b359049fSKim Phillips			timebase-frequency = <0>;	// from bootloader
38b359049fSKim Phillips			bus-frequency = <0>;		// from bootloader
39b359049fSKim Phillips			clock-frequency = <0>;		// from bootloader
40b359049fSKim Phillips		};
41b359049fSKim Phillips	};
42b359049fSKim Phillips
43b359049fSKim Phillips	memory {
44b359049fSKim Phillips		device_type = "memory";
45b359049fSKim Phillips		reg = <00000000 08000000>;	// 128MB at 0
46b359049fSKim Phillips	};
47b359049fSKim Phillips
48ff5ac760SScott Wood	localbus@e0005000 {
49ff5ac760SScott Wood		#address-cells = <2>;
50ff5ac760SScott Wood		#size-cells = <1>;
51ff5ac760SScott Wood		compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";
52ff5ac760SScott Wood		reg = <e0005000 1000>;
53ff5ac760SScott Wood		interrupts = <d#77 8>;
54ff5ac760SScott Wood		interrupt-parent = <&ipic>;
55ff5ac760SScott Wood
56ff5ac760SScott Wood		// CS0 and CS1 are swapped when
57ff5ac760SScott Wood		// booting from nand, but the
58ff5ac760SScott Wood		// addresses are the same.
59ff5ac760SScott Wood		ranges = <0 0 fe000000 00800000
60ff5ac760SScott Wood		          1 0 e2800000 00008000
61ff5ac760SScott Wood		          2 0 f0000000 00020000
62ff5ac760SScott Wood		          3 0 fa000000 00008000>;
63ff5ac760SScott Wood
6412600e48SScott Wood		flash@0,0 {
6512600e48SScott Wood			#address-cells = <1>;
6612600e48SScott Wood			#size-cells = <1>;
6712600e48SScott Wood			compatible = "cfi-flash";
6812600e48SScott Wood			reg = <0 0 800000>;
6912600e48SScott Wood			bank-width = <2>;
7012600e48SScott Wood			device-width = <1>;
7112600e48SScott Wood		};
7212600e48SScott Wood
73ff5ac760SScott Wood		nand@1,0 {
74ff5ac760SScott Wood			#address-cells = <1>;
75ff5ac760SScott Wood			#size-cells = <1>;
76ff5ac760SScott Wood			compatible = "fsl,mpc8313-fcm-nand",
77ff5ac760SScott Wood			             "fsl,elbc-fcm-nand";
78ff5ac760SScott Wood			reg = <1 0 2000>;
79ff5ac760SScott Wood
80ff5ac760SScott Wood			u-boot@0 {
81ff5ac760SScott Wood				reg = <0 100000>;
82ff5ac760SScott Wood				read-only;
83ff5ac760SScott Wood			};
84ff5ac760SScott Wood
85ff5ac760SScott Wood			kernel@100000 {
86ff5ac760SScott Wood				reg = <100000 300000>;
87ff5ac760SScott Wood			};
88ff5ac760SScott Wood
89ff5ac760SScott Wood			fs@400000 {
90ff5ac760SScott Wood				reg = <400000 1c00000>;
91ff5ac760SScott Wood			};
92ff5ac760SScott Wood		};
93ff5ac760SScott Wood	};
94ff5ac760SScott Wood
95b359049fSKim Phillips	soc8313@e0000000 {
96b359049fSKim Phillips		#address-cells = <1>;
97b359049fSKim Phillips		#size-cells = <1>;
98b359049fSKim Phillips		device_type = "soc";
99ff5ac760SScott Wood		compatible = "simple-bus";
100b359049fSKim Phillips		ranges = <0 e0000000 00100000>;
101b359049fSKim Phillips		reg = <e0000000 00000200>;
102b359049fSKim Phillips		bus-frequency = <0>;
103b359049fSKim Phillips
104b359049fSKim Phillips		wdt@200 {
105b359049fSKim Phillips			device_type = "watchdog";
106b359049fSKim Phillips			compatible = "mpc83xx_wdt";
107b359049fSKim Phillips			reg = <200 100>;
108b359049fSKim Phillips		};
109b359049fSKim Phillips
110b359049fSKim Phillips		i2c@3000 {
111ec9686c4SKumar Gala			#address-cells = <1>;
112ec9686c4SKumar Gala			#size-cells = <0>;
113ec9686c4SKumar Gala			cell-index = <0>;
114b359049fSKim Phillips			compatible = "fsl-i2c";
115b359049fSKim Phillips			reg = <3000 100>;
116b359049fSKim Phillips			interrupts = <e 8>;
117d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
118b359049fSKim Phillips			dfsrr;
119b359049fSKim Phillips		};
120b359049fSKim Phillips
121b359049fSKim Phillips		i2c@3100 {
122ec9686c4SKumar Gala			#address-cells = <1>;
123ec9686c4SKumar Gala			#size-cells = <0>;
124ec9686c4SKumar Gala			cell-index = <1>;
125b359049fSKim Phillips			compatible = "fsl-i2c";
126b359049fSKim Phillips			reg = <3100 100>;
127b359049fSKim Phillips			interrupts = <f 8>;
128d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
129b359049fSKim Phillips			dfsrr;
130b359049fSKim Phillips		};
131b359049fSKim Phillips
132b359049fSKim Phillips		spi@7000 {
133b359049fSKim Phillips			device_type = "spi";
13433799e33SPeter Korsgaard			compatible = "fsl_spi";
135b359049fSKim Phillips			reg = <7000 1000>;
136b359049fSKim Phillips			interrupts = <10 8>;
137d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
13833799e33SPeter Korsgaard			mode = "cpu";
139b359049fSKim Phillips		};
140b359049fSKim Phillips
141b359049fSKim Phillips		/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
142b359049fSKim Phillips		usb@23000 {
143b359049fSKim Phillips			compatible = "fsl-usb2-dr";
144b359049fSKim Phillips			reg = <23000 1000>;
145b359049fSKim Phillips			#address-cells = <1>;
146b359049fSKim Phillips			#size-cells = <0>;
147d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
148d71a1dc6SKumar Gala			interrupts = <26 8>;
149b359049fSKim Phillips			phy_type = "utmi_wide";
150b359049fSKim Phillips		};
151b359049fSKim Phillips
152b359049fSKim Phillips		mdio@24520 {
153b359049fSKim Phillips			#address-cells = <1>;
154b359049fSKim Phillips			#size-cells = <0>;
155e77b28ebSKumar Gala			compatible = "fsl,gianfar-mdio";
156e77b28ebSKumar Gala			reg = <24520 20>;
157d71a1dc6SKumar Gala			phy1: ethernet-phy@1 {
158d71a1dc6SKumar Gala				interrupt-parent = < &ipic >;
159d71a1dc6SKumar Gala				interrupts = <13 8>;
160b359049fSKim Phillips				reg = <1>;
161b359049fSKim Phillips				device_type = "ethernet-phy";
162b359049fSKim Phillips			};
163d71a1dc6SKumar Gala			phy4: ethernet-phy@4 {
164d71a1dc6SKumar Gala				interrupt-parent = < &ipic >;
165d71a1dc6SKumar Gala				interrupts = <14 8>;
166b359049fSKim Phillips				reg = <4>;
167b359049fSKim Phillips				device_type = "ethernet-phy";
168b359049fSKim Phillips			};
169b359049fSKim Phillips		};
170b359049fSKim Phillips
171e77b28ebSKumar Gala		enet0: ethernet@24000 {
172e77b28ebSKumar Gala			cell-index = <0>;
173b359049fSKim Phillips			device_type = "network";
174b359049fSKim Phillips			model = "eTSEC";
175b359049fSKim Phillips			compatible = "gianfar";
176b359049fSKim Phillips			reg = <24000 1000>;
177b359049fSKim Phillips			local-mac-address = [ 00 00 00 00 00 00 ];
178b359049fSKim Phillips			interrupts = <25 8 24 8 23 8>;
179d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
180d71a1dc6SKumar Gala			phy-handle = < &phy1 >;
181b359049fSKim Phillips		};
182b359049fSKim Phillips
183e77b28ebSKumar Gala		enet1: ethernet@25000 {
184e77b28ebSKumar Gala			cell-index = <1>;
185b359049fSKim Phillips			device_type = "network";
186b359049fSKim Phillips			model = "eTSEC";
187b359049fSKim Phillips			compatible = "gianfar";
188b359049fSKim Phillips			reg = <25000 1000>;
189b359049fSKim Phillips			local-mac-address = [ 00 00 00 00 00 00 ];
190b359049fSKim Phillips			interrupts = <22 8 21 8 20 8>;
191d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
192d71a1dc6SKumar Gala			phy-handle = < &phy4 >;
193b359049fSKim Phillips		};
194b359049fSKim Phillips
195ea082fa9SKumar Gala		serial0: serial@4500 {
196ea082fa9SKumar Gala			cell-index = <0>;
197b359049fSKim Phillips			device_type = "serial";
198b359049fSKim Phillips			compatible = "ns16550";
199b359049fSKim Phillips			reg = <4500 100>;
200b359049fSKim Phillips			clock-frequency = <0>;
201b359049fSKim Phillips			interrupts = <9 8>;
202d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
203b359049fSKim Phillips		};
204b359049fSKim Phillips
205ea082fa9SKumar Gala		serial1: serial@4600 {
206ea082fa9SKumar Gala			cell-index = <1>;
207b359049fSKim Phillips			device_type = "serial";
208b359049fSKim Phillips			compatible = "ns16550";
209b359049fSKim Phillips			reg = <4600 100>;
210b359049fSKim Phillips			clock-frequency = <0>;
211b359049fSKim Phillips			interrupts = <a 8>;
212d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
213b359049fSKim Phillips		};
214b359049fSKim Phillips
215b359049fSKim Phillips		crypto@30000 {
216b359049fSKim Phillips			device_type = "crypto";
217b359049fSKim Phillips			model = "SEC2";
218b359049fSKim Phillips			compatible = "talitos";
219b359049fSKim Phillips			reg = <30000 7000>;
220b359049fSKim Phillips			interrupts = <b 8>;
221d71a1dc6SKumar Gala			interrupt-parent = < &ipic >;
222b359049fSKim Phillips			/* Rev. 2.2 */
223b359049fSKim Phillips			num-channels = <1>;
224b359049fSKim Phillips			channel-fifo-len = <18>;
225b359049fSKim Phillips			exec-units-mask = <0000004c>;
226b359049fSKim Phillips			descriptor-types-mask = <0122003f>;
227b359049fSKim Phillips		};
228b359049fSKim Phillips
229b359049fSKim Phillips		/* IPIC
230b359049fSKim Phillips		 * interrupts cell = <intr #, sense>
231b359049fSKim Phillips		 * sense values match linux IORESOURCE_IRQ_* defines:
232b359049fSKim Phillips		 * sense == 8: Level, low assertion
233b359049fSKim Phillips		 * sense == 2: Edge, high-to-low change
234b359049fSKim Phillips		 */
235d71a1dc6SKumar Gala		ipic: pic@700 {
236b359049fSKim Phillips			interrupt-controller;
237b359049fSKim Phillips			#address-cells = <0>;
238b359049fSKim Phillips			#interrupt-cells = <2>;
239b359049fSKim Phillips			reg = <700 100>;
240b359049fSKim Phillips			device_type = "ipic";
241b359049fSKim Phillips		};
242b359049fSKim Phillips	};
2431b3c5cdaSKumar Gala
244ea082fa9SKumar Gala	pci0: pci@e0008500 {
245ea082fa9SKumar Gala		cell-index = <1>;
2461b3c5cdaSKumar Gala		interrupt-map-mask = <f800 0 0 7>;
2471b3c5cdaSKumar Gala		interrupt-map = <
2481b3c5cdaSKumar Gala
2491b3c5cdaSKumar Gala				/* IDSEL 0x0E -mini PCI */
2501b3c5cdaSKumar Gala				 7000 0 0 1 &ipic 12 8
2511b3c5cdaSKumar Gala				 7000 0 0 2 &ipic 12 8
2521b3c5cdaSKumar Gala				 7000 0 0 3 &ipic 12 8
2531b3c5cdaSKumar Gala				 7000 0 0 4 &ipic 12 8
2541b3c5cdaSKumar Gala
2551b3c5cdaSKumar Gala				/* IDSEL 0x0F - PCI slot */
2561b3c5cdaSKumar Gala				 7800 0 0 1 &ipic 11 8
2571b3c5cdaSKumar Gala				 7800 0 0 2 &ipic 12 8
2581b3c5cdaSKumar Gala				 7800 0 0 3 &ipic 11 8
2591b3c5cdaSKumar Gala				 7800 0 0 4 &ipic 12 8>;
2601b3c5cdaSKumar Gala		interrupt-parent = < &ipic >;
2611b3c5cdaSKumar Gala		interrupts = <42 8>;
2621b3c5cdaSKumar Gala		bus-range = <0 0>;
2631b3c5cdaSKumar Gala		ranges = <02000000 0 90000000 90000000 0 10000000
2641b3c5cdaSKumar Gala			  42000000 0 80000000 80000000 0 10000000
2651b3c5cdaSKumar Gala			  01000000 0 00000000 e2000000 0 00100000>;
2661b3c5cdaSKumar Gala		clock-frequency = <3f940aa>;
2671b3c5cdaSKumar Gala		#interrupt-cells = <1>;
2681b3c5cdaSKumar Gala		#size-cells = <2>;
2691b3c5cdaSKumar Gala		#address-cells = <3>;
2701b3c5cdaSKumar Gala		reg = <e0008500 100>;
2711b3c5cdaSKumar Gala		compatible = "fsl,mpc8349-pci";
2721b3c5cdaSKumar Gala		device_type = "pci";
2731b3c5cdaSKumar Gala	};
274b359049fSKim Phillips};
275