1/*
2 * Device Tree for the Embedded Planet EP8248E board running PlanetCore.
3 *
4 * Copyright 2007 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute  it and/or modify it
7 * under  the terms of  the GNU General  Public License as published by the
8 * Free Software Foundation;  either version 2 of the  License, or (at your
9 * option) any later version.
10 */
11
12/dts-v1/;
13/ {
14	model = "EP8248E";
15	compatible = "fsl,ep8248e";
16	#address-cells = <1>;
17	#size-cells = <1>;
18
19	aliases {
20		planetcore-SMC1 = &smc1;
21		planetcore-SCC1 = &scc1;
22		ethernet0 = &eth0;
23		ethernet1 = &eth1;
24		serial0 = &smc1;
25		serial1 = &scc1;
26	};
27
28	cpus {
29		#address-cells = <1>;
30		#size-cells = <0>;
31
32		PowerPC,8248@0 {
33			device_type = "cpu";
34			reg = <0>;
35			d-cache-line-size = <32>;
36			i-cache-line-size = <32>;
37			d-cache-size = <16384>;
38			i-cache-size = <16384>;
39			timebase-frequency = <0>;
40			clock-frequency = <0>;
41		};
42	};
43
44	localbus@f0010100 {
45		compatible = "fsl,mpc8248-localbus",
46		             "fsl,pq2-localbus",
47		             "simple-bus";
48		#address-cells = <2>;
49		#size-cells = <1>;
50		reg = <0xf0010100 0x40>;
51
52		ranges = <0 0 0xfc000000 0x04000000
53		          1 0 0xfa000000 0x00008000>;
54
55		flash@0,3800000 {
56			compatible = "cfi-flash";
57			reg = <0 0x3800000 0x800000>;
58			bank-width = <4>;
59			device-width = <2>;
60		};
61
62		bcsr@1,0 {
63			#address-cells = <2>;
64			#size-cells = <1>;
65			reg = <1 0 0x10>;
66			compatible = "fsl,ep8248e-bcsr";
67			ranges;
68
69			mdio {
70				device_type = "mdio";
71				compatible = "fsl,ep8248e-mdio-bitbang";
72				#address-cells = <1>;
73				#size-cells = <0>;
74				reg = <1 8 1>;
75
76				PHY0: ethernet-phy@0 {
77					interrupt-parent = <&PIC>;
78					reg = <0>;
79				};
80
81				PHY1: ethernet-phy@1 {
82					interrupt-parent = <&PIC>;
83					reg = <1>;
84				};
85			};
86		};
87	};
88
89	memory {
90		device_type = "memory";
91		reg = <0 0>;
92	};
93
94	soc@f0000000 {
95		#address-cells = <1>;
96		#size-cells = <1>;
97		compatible = "fsl,mpc8248-immr", "fsl,pq2-soc", "simple-bus";
98		ranges = <0x00000000 0xf0000000 0x00053000>;
99
100		// Temporary until code stops depending on it.
101		device_type = "soc";
102
103		// Temporary -- will go away once kernel uses ranges for get_immrbase().
104		reg = <0xf0000000 0x00053000>;
105
106		cpm@119c0 {
107			#address-cells = <1>;
108			#size-cells = <1>;
109			#interrupt-cells = <2>;
110			compatible = "fsl,mpc8248-cpm", "fsl,cpm2",
111			             "simple-bus";
112			reg = <0x119c0 0x30>;
113			ranges;
114
115			muram {
116				#address-cells = <1>;
117				#size-cells = <1>;
118				ranges = <0 0 0x10000>;
119
120				data@0 {
121					compatible = "fsl,cpm-muram-data";
122					reg = <0 0x2000 0x9800 0x800>;
123				};
124			};
125
126			brg@119f0 {
127				compatible = "fsl,mpc8248-brg",
128				             "fsl,cpm2-brg",
129				             "fsl,cpm-brg";
130				reg = <0x119f0 0x10 0x115f0 0x10>;
131			};
132
133			/* Monitor port/SMC1 */
134			smc1: serial@11a80 {
135				device_type = "serial";
136				compatible = "fsl,mpc8248-smc-uart",
137				             "fsl,cpm2-smc-uart";
138				reg = <0x11a80 0x20 0x87fc 2>;
139				interrupts = <4 8>;
140				interrupt-parent = <&PIC>;
141				fsl,cpm-brg = <7>;
142				fsl,cpm-command = <0x1d000000>;
143				linux,planetcore-label = "SMC1";
144			};
145
146			/* "Serial" port/SCC1 */
147			scc1: serial@11a00 {
148				device_type = "serial";
149				compatible = "fsl,mpc8248-scc-uart",
150				             "fsl,cpm2-scc-uart";
151				reg = <0x11a00 0x20 0x8000 0x100>;
152				interrupts = <40 8>;
153				interrupt-parent = <&PIC>;
154				fsl,cpm-brg = <1>;
155				fsl,cpm-command = <0x00800000>;
156				linux,planetcore-label = "SCC1";
157			};
158
159			eth0: ethernet@11300 {
160				device_type = "network";
161				compatible = "fsl,mpc8248-fcc-enet",
162				             "fsl,cpm2-fcc-enet";
163				reg = <0x11300 0x20 0x8400 0x100 0x11390 1>;
164				local-mac-address = [ 00 00 00 00 00 00 ];
165				interrupts = <32 8>;
166				interrupt-parent = <&PIC>;
167				phy-handle = <&PHY0>;
168				linux,network-index = <0>;
169				fsl,cpm-command = <0x12000300>;
170			};
171
172			eth1: ethernet@11320 {
173				device_type = "network";
174				compatible = "fsl,mpc8248-fcc-enet",
175				             "fsl,cpm2-fcc-enet";
176				reg = <0x11320 0x20 0x8500 0x100 0x113b0 1>;
177				local-mac-address = [ 00 00 00 00 00 00 ];
178				interrupts = <33 8>;
179				interrupt-parent = <&PIC>;
180				phy-handle = <&PHY1>;
181				linux,network-index = <1>;
182				fsl,cpm-command = <0x16200300>;
183			};
184
185			usb@11b60 {
186				#address-cells = <1>;
187				#size-cells = <0>;
188				compatible = "fsl,mpc8248-usb",
189				             "fsl,cpm2-usb";
190				reg = <0x11b60 0x18 0x8b00 0x100>;
191				interrupt-parent = <&PIC>;
192				interrupts = <11 8>;
193				fsl,cpm-command = <0x2e600000>;
194			};
195		};
196
197		PIC: interrupt-controller@10c00 {
198			#interrupt-cells = <2>;
199			interrupt-controller;
200			reg = <0x10c00 0x80>;
201			compatible = "fsl,mpc8248-pic", "fsl,pq2-pic";
202		};
203	};
204};
205