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
12cda13dd1SPaul Gortmaker/dts-v1/;
13cda13dd1SPaul Gortmaker
14b359049fSKim Phillips/ {
15b359049fSKim Phillips	model = "MPC8313ERDB";
16d71a1dc6SKumar Gala	compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB";
17b359049fSKim Phillips	#address-cells = <1>;
18b359049fSKim Phillips	#size-cells = <1>;
19b359049fSKim Phillips
20ea082fa9SKumar Gala	aliases {
21ea082fa9SKumar Gala		ethernet0 = &enet0;
22ea082fa9SKumar Gala		ethernet1 = &enet1;
23ea082fa9SKumar Gala		serial0 = &serial0;
24ea082fa9SKumar Gala		serial1 = &serial1;
25ea082fa9SKumar Gala		pci0 = &pci0;
26ea082fa9SKumar Gala	};
27ea082fa9SKumar Gala
28b359049fSKim Phillips	cpus {
29b359049fSKim Phillips		#address-cells = <1>;
30b359049fSKim Phillips		#size-cells = <0>;
31b359049fSKim Phillips
32b359049fSKim Phillips		PowerPC,8313@0 {
33b359049fSKim Phillips			device_type = "cpu";
34cda13dd1SPaul Gortmaker			reg = <0x0>;
35cda13dd1SPaul Gortmaker			d-cache-line-size = <32>;
36cda13dd1SPaul Gortmaker			i-cache-line-size = <32>;
37cda13dd1SPaul Gortmaker			d-cache-size = <16384>;
38cda13dd1SPaul Gortmaker			i-cache-size = <16384>;
39b359049fSKim Phillips			timebase-frequency = <0>;	// from bootloader
40b359049fSKim Phillips			bus-frequency = <0>;		// from bootloader
41b359049fSKim Phillips			clock-frequency = <0>;		// from bootloader
42b359049fSKim Phillips		};
43b359049fSKim Phillips	};
44b359049fSKim Phillips
45b359049fSKim Phillips	memory {
46b359049fSKim Phillips		device_type = "memory";
47cda13dd1SPaul Gortmaker		reg = <0x00000000 0x08000000>;	// 128MB at 0
48b359049fSKim Phillips	};
49b359049fSKim Phillips
50ff5ac760SScott Wood	localbus@e0005000 {
51ff5ac760SScott Wood		#address-cells = <2>;
52ff5ac760SScott Wood		#size-cells = <1>;
53ff5ac760SScott Wood		compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";
54cda13dd1SPaul Gortmaker		reg = <0xe0005000 0x1000>;
55cda13dd1SPaul Gortmaker		interrupts = <77 0x8>;
56ff5ac760SScott Wood		interrupt-parent = <&ipic>;
57ff5ac760SScott Wood
58ff5ac760SScott Wood		// CS0 and CS1 are swapped when
59ff5ac760SScott Wood		// booting from nand, but the
60ff5ac760SScott Wood		// addresses are the same.
61cda13dd1SPaul Gortmaker		ranges = <0x0 0x0 0xfe000000 0x00800000
62cda13dd1SPaul Gortmaker		          0x1 0x0 0xe2800000 0x00008000
63cda13dd1SPaul Gortmaker		          0x2 0x0 0xf0000000 0x00020000
64cda13dd1SPaul Gortmaker		          0x3 0x0 0xfa000000 0x00008000>;
65ff5ac760SScott Wood
6612600e48SScott Wood		flash@0,0 {
6712600e48SScott Wood			#address-cells = <1>;
6812600e48SScott Wood			#size-cells = <1>;
6912600e48SScott Wood			compatible = "cfi-flash";
70cda13dd1SPaul Gortmaker			reg = <0x0 0x0 0x800000>;
7112600e48SScott Wood			bank-width = <2>;
7212600e48SScott Wood			device-width = <1>;
7312600e48SScott Wood		};
7412600e48SScott Wood
75ff5ac760SScott Wood		nand@1,0 {
76ff5ac760SScott Wood			#address-cells = <1>;
77ff5ac760SScott Wood			#size-cells = <1>;
78ff5ac760SScott Wood			compatible = "fsl,mpc8313-fcm-nand",
79ff5ac760SScott Wood			             "fsl,elbc-fcm-nand";
80cda13dd1SPaul Gortmaker			reg = <0x1 0x0 0x2000>;
81ff5ac760SScott Wood
82ff5ac760SScott Wood			u-boot@0 {
83cda13dd1SPaul Gortmaker				reg = <0x0 0x100000>;
84ff5ac760SScott Wood				read-only;
85ff5ac760SScott Wood			};
86ff5ac760SScott Wood
87ff5ac760SScott Wood			kernel@100000 {
88cda13dd1SPaul Gortmaker				reg = <0x100000 0x300000>;
89ff5ac760SScott Wood			};
90ff5ac760SScott Wood
91ff5ac760SScott Wood			fs@400000 {
92cda13dd1SPaul Gortmaker				reg = <0x400000 0x1c00000>;
93ff5ac760SScott Wood			};
94ff5ac760SScott Wood		};
95ff5ac760SScott Wood	};
96ff5ac760SScott Wood
97b359049fSKim Phillips	soc8313@e0000000 {
98b359049fSKim Phillips		#address-cells = <1>;
99b359049fSKim Phillips		#size-cells = <1>;
100b359049fSKim Phillips		device_type = "soc";
101ff5ac760SScott Wood		compatible = "simple-bus";
102cda13dd1SPaul Gortmaker		ranges = <0x0 0xe0000000 0x00100000>;
103cda13dd1SPaul Gortmaker		reg = <0xe0000000 0x00000200>;
104b359049fSKim Phillips		bus-frequency = <0>;
105b359049fSKim Phillips
106b359049fSKim Phillips		wdt@200 {
107b359049fSKim Phillips			device_type = "watchdog";
108b359049fSKim Phillips			compatible = "mpc83xx_wdt";
109cda13dd1SPaul Gortmaker			reg = <0x200 0x100>;
110b359049fSKim Phillips		};
111b359049fSKim Phillips
11257436612SScott Wood		sleep-nexus {
11357436612SScott Wood			#address-cells = <1>;
11457436612SScott Wood			#size-cells = <1>;
11557436612SScott Wood			compatible = "simple-bus";
11657436612SScott Wood			sleep = <&pmc 0x03000000>;
11757436612SScott Wood			ranges;
11857436612SScott Wood
119b359049fSKim Phillips			i2c@3000 {
120ec9686c4SKumar Gala				#address-cells = <1>;
121ec9686c4SKumar Gala				#size-cells = <0>;
122ec9686c4SKumar Gala				cell-index = <0>;
123b359049fSKim Phillips				compatible = "fsl-i2c";
124cda13dd1SPaul Gortmaker				reg = <0x3000 0x100>;
125cda13dd1SPaul Gortmaker				interrupts = <14 0x8>;
126d71a1dc6SKumar Gala				interrupt-parent = <&ipic>;
127b359049fSKim Phillips				dfsrr;
1285cfade18SKim Phillips				rtc@68 {
1295cfade18SKim Phillips					compatible = "dallas,ds1339";
1305cfade18SKim Phillips					reg = <0x68>;
1315cfade18SKim Phillips				};
132b359049fSKim Phillips			};
133b359049fSKim Phillips
13457436612SScott Wood			crypto@30000 {
13557436612SScott Wood				compatible = "fsl,sec2.2", "fsl,sec2.1",
13657436612SScott Wood				             "fsl,sec2.0";
13757436612SScott Wood				reg = <0x30000 0x10000>;
13857436612SScott Wood				interrupts = <11 0x8>;
13957436612SScott Wood				interrupt-parent = <&ipic>;
14057436612SScott Wood				fsl,num-channels = <1>;
14157436612SScott Wood				fsl,channel-fifo-len = <24>;
14257436612SScott Wood				fsl,exec-units-mask = <0x4c>;
14357436612SScott Wood				fsl,descriptor-types-mask = <0x0122003f>;
14457436612SScott Wood			};
14557436612SScott Wood		};
14657436612SScott Wood
147b359049fSKim Phillips		i2c@3100 {
148ec9686c4SKumar Gala			#address-cells = <1>;
149ec9686c4SKumar Gala			#size-cells = <0>;
150ec9686c4SKumar Gala			cell-index = <1>;
151b359049fSKim Phillips			compatible = "fsl-i2c";
152cda13dd1SPaul Gortmaker			reg = <0x3100 0x100>;
153cda13dd1SPaul Gortmaker			interrupts = <15 0x8>;
154d71a1dc6SKumar Gala			interrupt-parent = <&ipic>;
155b359049fSKim Phillips			dfsrr;
156b359049fSKim Phillips		};
157b359049fSKim Phillips
158b359049fSKim Phillips		spi@7000 {
159f3a2b29dSAnton Vorontsov			cell-index = <0>;
160f3a2b29dSAnton Vorontsov			compatible = "fsl,spi";
161cda13dd1SPaul Gortmaker			reg = <0x7000 0x1000>;
162cda13dd1SPaul Gortmaker			interrupts = <16 0x8>;
163d71a1dc6SKumar Gala			interrupt-parent = <&ipic>;
16433799e33SPeter Korsgaard			mode = "cpu";
165b359049fSKim Phillips		};
166b359049fSKim Phillips
167b359049fSKim Phillips		/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
168b359049fSKim Phillips		usb@23000 {
169b359049fSKim Phillips			compatible = "fsl-usb2-dr";
170cda13dd1SPaul Gortmaker			reg = <0x23000 0x1000>;
171b359049fSKim Phillips			#address-cells = <1>;
172b359049fSKim Phillips			#size-cells = <0>;
173d71a1dc6SKumar Gala			interrupt-parent = <&ipic>;
174cda13dd1SPaul Gortmaker			interrupts = <38 0x8>;
175b359049fSKim Phillips			phy_type = "utmi_wide";
17657436612SScott Wood			sleep = <&pmc 0x00300000>;
177b359049fSKim Phillips		};
178b359049fSKim Phillips
17957436612SScott Wood		enet0: ethernet@24000 {
18057436612SScott Wood			#address-cells = <1>;
18157436612SScott Wood			#size-cells = <1>;
18257436612SScott Wood			sleep = <&pmc 0x20000000>;
183a6ecb7e9SKumar Gala			ranges = <0x0 0x24000 0x1000>;
18457436612SScott Wood
18557436612SScott Wood			cell-index = <0>;
18657436612SScott Wood			device_type = "network";
18757436612SScott Wood			model = "eTSEC";
188344b6287SLi Yang			compatible = "gianfar";
18957436612SScott Wood			reg = <0x24000 0x1000>;
19057436612SScott Wood			local-mac-address = [ 00 00 00 00 00 00 ];
19157436612SScott Wood			interrupts = <37 0x8 36 0x8 35 0x8>;
19257436612SScott Wood			interrupt-parent = <&ipic>;
193b31a1d8bSAndy Fleming			tbi-handle = < &tbi0 >;
194e85477f5SAnton Vorontsov			/* Vitesse 7385 isn't on the MDIO bus */
195e85477f5SAnton Vorontsov			fixed-link = <1 1 1000 0 0>;
19657436612SScott Wood			fsl,magic-packet;
19757436612SScott Wood
198a6ecb7e9SKumar Gala			mdio@520 {
199b359049fSKim Phillips				#address-cells = <1>;
200b359049fSKim Phillips				#size-cells = <0>;
201e77b28ebSKumar Gala				compatible = "fsl,gianfar-mdio";
202a6ecb7e9SKumar Gala				reg = <0x520 0x20>;
203d71a1dc6SKumar Gala				phy4: ethernet-phy@4 {
204d71a1dc6SKumar Gala					interrupt-parent = <&ipic>;
205cda13dd1SPaul Gortmaker					interrupts = <20 0x8>;
206cda13dd1SPaul Gortmaker					reg = <0x4>;
207b359049fSKim Phillips					device_type = "ethernet-phy";
208b359049fSKim Phillips				};
209b31a1d8bSAndy Fleming				tbi0: tbi-phy@11 {
210b31a1d8bSAndy Fleming					reg = <0x11>;
211b31a1d8bSAndy Fleming					device_type = "tbi-phy";
212b31a1d8bSAndy Fleming				};
213b359049fSKim Phillips			};
214b359049fSKim Phillips		};
215b359049fSKim Phillips
216e77b28ebSKumar Gala		enet1: ethernet@25000 {
2171f0d4d16SAnton Vorontsov			#address-cells = <1>;
2181f0d4d16SAnton Vorontsov			#size-cells = <1>;
219e77b28ebSKumar Gala			cell-index = <1>;
220b359049fSKim Phillips			device_type = "network";
221b359049fSKim Phillips			model = "eTSEC";
222b359049fSKim Phillips			compatible = "gianfar";
223cda13dd1SPaul Gortmaker			reg = <0x25000 0x1000>;
224a6ecb7e9SKumar Gala			ranges = <0x0 0x25000 0x1000>;
225b359049fSKim Phillips			local-mac-address = [ 00 00 00 00 00 00 ];
226cda13dd1SPaul Gortmaker			interrupts = <34 0x8 33 0x8 32 0x8>;
227d71a1dc6SKumar Gala			interrupt-parent = <&ipic>;
228b31a1d8bSAndy Fleming			tbi-handle = < &tbi1 >;
229d71a1dc6SKumar Gala			phy-handle = < &phy4 >;
23057436612SScott Wood			sleep = <&pmc 0x10000000>;
23157436612SScott Wood			fsl,magic-packet;
232b31a1d8bSAndy Fleming
233a6ecb7e9SKumar Gala			mdio@520 {
234b31a1d8bSAndy Fleming				#address-cells = <1>;
235b31a1d8bSAndy Fleming				#size-cells = <0>;
236b31a1d8bSAndy Fleming				compatible = "fsl,gianfar-tbi";
237a6ecb7e9SKumar Gala				reg = <0x520 0x20>;
238b31a1d8bSAndy Fleming
239b31a1d8bSAndy Fleming				tbi1: tbi-phy@11 {
240b31a1d8bSAndy Fleming					reg = <0x11>;
241b31a1d8bSAndy Fleming					device_type = "tbi-phy";
242b31a1d8bSAndy Fleming				};
243b31a1d8bSAndy Fleming			};
244b31a1d8bSAndy Fleming
245b31a1d8bSAndy Fleming
246b359049fSKim Phillips		};
247b359049fSKim Phillips
248ea082fa9SKumar Gala		serial0: serial@4500 {
249ea082fa9SKumar Gala			cell-index = <0>;
250b359049fSKim Phillips			device_type = "serial";
251b359049fSKim Phillips			compatible = "ns16550";
252cda13dd1SPaul Gortmaker			reg = <0x4500 0x100>;
253b359049fSKim Phillips			clock-frequency = <0>;
254cda13dd1SPaul Gortmaker			interrupts = <9 0x8>;
255d71a1dc6SKumar Gala			interrupt-parent = <&ipic>;
256b359049fSKim Phillips		};
257b359049fSKim Phillips
258ea082fa9SKumar Gala		serial1: serial@4600 {
259ea082fa9SKumar Gala			cell-index = <1>;
260b359049fSKim Phillips			device_type = "serial";
261b359049fSKim Phillips			compatible = "ns16550";
262cda13dd1SPaul Gortmaker			reg = <0x4600 0x100>;
263b359049fSKim Phillips			clock-frequency = <0>;
264cda13dd1SPaul Gortmaker			interrupts = <10 0x8>;
265d71a1dc6SKumar Gala			interrupt-parent = <&ipic>;
266b359049fSKim Phillips		};
267b359049fSKim Phillips
268b359049fSKim Phillips		/* IPIC
269b359049fSKim Phillips		 * interrupts cell = <intr #, sense>
270b359049fSKim Phillips		 * sense values match linux IORESOURCE_IRQ_* defines:
271b359049fSKim Phillips		 * sense == 8: Level, low assertion
272b359049fSKim Phillips		 * sense == 2: Edge, high-to-low change
273b359049fSKim Phillips		 */
274d71a1dc6SKumar Gala		ipic: pic@700 {
275b359049fSKim Phillips			interrupt-controller;
276b359049fSKim Phillips			#address-cells = <0>;
277b359049fSKim Phillips			#interrupt-cells = <2>;
278cda13dd1SPaul Gortmaker			reg = <0x700 0x100>;
279b359049fSKim Phillips			device_type = "ipic";
280b359049fSKim Phillips		};
28157436612SScott Wood
28257436612SScott Wood		pmc: power@b00 {
28357436612SScott Wood			compatible = "fsl,mpc8313-pmc", "fsl,mpc8349-pmc";
28457436612SScott Wood			reg = <0xb00 0x100 0xa00 0x100>;
28557436612SScott Wood			interrupts = <80 8>;
28657436612SScott Wood			interrupt-parent = <&ipic>;
28757436612SScott Wood			fsl,mpc8313-wakeup-timer = <&gtm1>;
28857436612SScott Wood
28957436612SScott Wood			/* Remove this (or change to "okay") if you have
29057436612SScott Wood			 * a REVA3 or later board, if you apply one of the
29157436612SScott Wood			 * workarounds listed in section 8.5 of the board
29257436612SScott Wood			 * manual, or if you are adapting this device tree
29357436612SScott Wood			 * to a different board.
29457436612SScott Wood			 */
29557436612SScott Wood			status = "fail";
296b359049fSKim Phillips		};
2971b3c5cdaSKumar Gala
29857436612SScott Wood		gtm1: timer@500 {
29957436612SScott Wood			compatible = "fsl,mpc8313-gtm", "fsl,gtm";
30057436612SScott Wood			reg = <0x500 0x100>;
30157436612SScott Wood			interrupts = <90 8 78 8 84 8 72 8>;
30257436612SScott Wood			interrupt-parent = <&ipic>;
30357436612SScott Wood		};
30457436612SScott Wood
30557436612SScott Wood		timer@600 {
30657436612SScott Wood			compatible = "fsl,mpc8313-gtm", "fsl,gtm";
30757436612SScott Wood			reg = <0x600 0x100>;
30857436612SScott Wood			interrupts = <91 8 79 8 85 8 73 8>;
30957436612SScott Wood			interrupt-parent = <&ipic>;
31057436612SScott Wood		};
31157436612SScott Wood	};
31257436612SScott Wood
31357436612SScott Wood	sleep-nexus {
31457436612SScott Wood		#address-cells = <1>;
31557436612SScott Wood		#size-cells = <1>;
31657436612SScott Wood		compatible = "simple-bus";
31757436612SScott Wood		sleep = <&pmc 0x00010000>;
31857436612SScott Wood		ranges;
31957436612SScott Wood
320ea082fa9SKumar Gala		pci0: pci@e0008500 {
321ea082fa9SKumar Gala			cell-index = <1>;
322cda13dd1SPaul Gortmaker			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
3231b3c5cdaSKumar Gala			interrupt-map = <
3241b3c5cdaSKumar Gala					/* IDSEL 0x0E -mini PCI */
325cda13dd1SPaul Gortmaker					 0x7000 0x0 0x0 0x1 &ipic 18 0x8
326cda13dd1SPaul Gortmaker					 0x7000 0x0 0x0 0x2 &ipic 18 0x8
327cda13dd1SPaul Gortmaker					 0x7000 0x0 0x0 0x3 &ipic 18 0x8
328cda13dd1SPaul Gortmaker					 0x7000 0x0 0x0 0x4 &ipic 18 0x8
3291b3c5cdaSKumar Gala
3301b3c5cdaSKumar Gala					/* IDSEL 0x0F - PCI slot */
331cda13dd1SPaul Gortmaker					 0x7800 0x0 0x0 0x1 &ipic 17 0x8
332cda13dd1SPaul Gortmaker					 0x7800 0x0 0x0 0x2 &ipic 18 0x8
333cda13dd1SPaul Gortmaker					 0x7800 0x0 0x0 0x3 &ipic 17 0x8
334cda13dd1SPaul Gortmaker					 0x7800 0x0 0x0 0x4 &ipic 18 0x8>;
3351b3c5cdaSKumar Gala			interrupt-parent = <&ipic>;
336cda13dd1SPaul Gortmaker			interrupts = <66 0x8>;
337cda13dd1SPaul Gortmaker			bus-range = <0x0 0x0>;
338cda13dd1SPaul Gortmaker			ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
339cda13dd1SPaul Gortmaker				  0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
340cda13dd1SPaul Gortmaker				  0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
341cda13dd1SPaul Gortmaker			clock-frequency = <66666666>;
3421b3c5cdaSKumar Gala			#interrupt-cells = <1>;
3431b3c5cdaSKumar Gala			#size-cells = <2>;
3441b3c5cdaSKumar Gala			#address-cells = <3>;
3455b70a097SJohn Rigby			reg = <0xe0008500 0x100		/* internal registers */
3465b70a097SJohn Rigby			       0xe0008300 0x8>;		/* config space access registers */
3471b3c5cdaSKumar Gala			compatible = "fsl,mpc8349-pci";
3481b3c5cdaSKumar Gala			device_type = "pci";
3491b3c5cdaSKumar Gala		};
35057436612SScott Wood
35157436612SScott Wood		dma@82a8 {
35257436612SScott Wood			#address-cells = <1>;
35357436612SScott Wood			#size-cells = <1>;
35457436612SScott Wood			compatible = "fsl,mpc8313-dma", "fsl,elo-dma";
35557436612SScott Wood			reg = <0xe00082a8 4>;
35657436612SScott Wood			ranges = <0 0xe0008100 0x1a8>;
35757436612SScott Wood			interrupt-parent = <&ipic>;
35857436612SScott Wood			interrupts = <71 8>;
35957436612SScott Wood
36057436612SScott Wood			dma-channel@0 {
36157436612SScott Wood				compatible = "fsl,mpc8313-dma-channel",
36257436612SScott Wood				             "fsl,elo-dma-channel";
36357436612SScott Wood				reg = <0 0x28>;
36457436612SScott Wood				interrupt-parent = <&ipic>;
36557436612SScott Wood				interrupts = <71 8>;
36657436612SScott Wood				cell-index = <0>;
36757436612SScott Wood			};
36857436612SScott Wood
36957436612SScott Wood			dma-channel@80 {
37057436612SScott Wood				compatible = "fsl,mpc8313-dma-channel",
37157436612SScott Wood				             "fsl,elo-dma-channel";
37257436612SScott Wood				reg = <0x80 0x28>;
37357436612SScott Wood				interrupt-parent = <&ipic>;
37457436612SScott Wood				interrupts = <71 8>;
37557436612SScott Wood				cell-index = <1>;
37657436612SScott Wood			};
37757436612SScott Wood
37857436612SScott Wood			dma-channel@100 {
37957436612SScott Wood				compatible = "fsl,mpc8313-dma-channel",
38057436612SScott Wood				             "fsl,elo-dma-channel";
38157436612SScott Wood				reg = <0x100 0x28>;
38257436612SScott Wood				interrupt-parent = <&ipic>;
38357436612SScott Wood				interrupts = <71 8>;
38457436612SScott Wood				cell-index = <2>;
38557436612SScott Wood			};
38657436612SScott Wood
38757436612SScott Wood			dma-channel@180 {
38857436612SScott Wood				compatible = "fsl,mpc8313-dma-channel",
38957436612SScott Wood				             "fsl,elo-dma-channel";
39057436612SScott Wood				reg = <0x180 0x28>;
39157436612SScott Wood				interrupt-parent = <&ipic>;
39257436612SScott Wood				interrupts = <71 8>;
39357436612SScott Wood				cell-index = <3>;
39457436612SScott Wood			};
39557436612SScott Wood		};
39657436612SScott Wood	};
397b359049fSKim Phillips};
398