blob: dc121b3cb4a9654a9b6bf48355989651f34b3767 [file] [log] [blame]
Kim Phillips1b9a93e2006-08-29 18:13:31 -05001/*
2 * MPC8349E MDS Device Tree Source
3 *
4 * Copyright 2005, 2006 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/ {
13 model = "MPC8349EMDS";
14 compatible = "MPC834xMDS";
15 #address-cells = <1>;
16 #size-cells = <1>;
17
18 cpus {
19 #cpus = <1>;
20 #address-cells = <1>;
21 #size-cells = <0>;
22
23 PowerPC,8349@0 {
24 device_type = "cpu";
25 reg = <0>;
26 d-cache-line-size = <20>; // 32 bytes
27 i-cache-line-size = <20>; // 32 bytes
28 d-cache-size = <8000>; // L1, 32K
29 i-cache-size = <8000>; // L1, 32K
30 timebase-frequency = <0>; // from bootloader
31 bus-frequency = <0>; // from bootloader
32 clock-frequency = <0>; // from bootloader
33 32-bit;
34 };
35 };
36
37 memory {
38 device_type = "memory";
39 reg = <00000000 10000000>; // 256MB at 0
40 };
41
Li Yangea5b7a62007-02-07 13:51:09 +080042 bcsr@e2400000 {
43 device_type = "board-control";
44 reg = <e2400000 8000>;
45 };
46
Kim Phillips1b9a93e2006-08-29 18:13:31 -050047 soc8349@e0000000 {
48 #address-cells = <1>;
49 #size-cells = <1>;
50 #interrupt-cells = <2>;
51 device_type = "soc";
52 ranges = <0 e0000000 00100000>;
53 reg = <e0000000 00000200>;
54 bus-frequency = <0>;
55
56 wdt@200 {
57 device_type = "watchdog";
58 compatible = "mpc83xx_wdt";
59 reg = <200 100>;
60 };
61
62 i2c@3000 {
63 device_type = "i2c";
64 compatible = "fsl-i2c";
65 reg = <3000 100>;
66 interrupts = <e 8>;
67 interrupt-parent = <700>;
68 dfsrr;
69 };
70
71 i2c@3100 {
72 device_type = "i2c";
73 compatible = "fsl-i2c";
74 reg = <3100 100>;
75 interrupts = <f 8>;
76 interrupt-parent = <700>;
77 dfsrr;
78 };
79
80 spi@7000 {
81 device_type = "spi";
82 compatible = "mpc83xx_spi";
83 reg = <7000 1000>;
84 interrupts = <10 8>;
85 interrupt-parent = <700>;
86 mode = <0>;
87 };
88
89 /* phy type (ULPI or SERIAL) are only types supportted for MPH */
90 /* port = 0 or 1 */
91 usb@22000 {
92 device_type = "usb";
93 compatible = "fsl-usb2-mph";
94 reg = <22000 1000>;
95 #address-cells = <1>;
96 #size-cells = <0>;
97 interrupt-parent = <700>;
98 interrupts = <27 2>;
99 phy_type = "ulpi";
100 port1;
101 };
102 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
103 usb@23000 {
104 device_type = "usb";
105 compatible = "fsl-usb2-dr";
106 reg = <23000 1000>;
107 #address-cells = <1>;
108 #size-cells = <0>;
109 interrupt-parent = <700>;
110 interrupts = <26 2>;
Li Yangea5b7a62007-02-07 13:51:09 +0800111 dr_mode = "otg";
Kim Phillips1b9a93e2006-08-29 18:13:31 -0500112 phy_type = "ulpi";
113 };
114
115 mdio@24520 {
116 device_type = "mdio";
117 compatible = "gianfar";
118 reg = <24520 20>;
119 #address-cells = <1>;
120 #size-cells = <0>;
121 linux,phandle = <24520>;
122 ethernet-phy@0 {
123 linux,phandle = <2452000>;
124 interrupt-parent = <700>;
125 interrupts = <11 2>;
126 reg = <0>;
127 device_type = "ethernet-phy";
128 };
129 ethernet-phy@1 {
130 linux,phandle = <2452001>;
131 interrupt-parent = <700>;
132 interrupts = <12 2>;
133 reg = <1>;
134 device_type = "ethernet-phy";
135 };
136 };
137
138 ethernet@24000 {
139 device_type = "network";
140 model = "TSEC";
141 compatible = "gianfar";
142 reg = <24000 1000>;
143 address = [ 00 00 00 00 00 00 ];
144 local-mac-address = [ 00 00 00 00 00 00 ];
145 interrupts = <20 8 21 8 22 8>;
146 interrupt-parent = <700>;
147 phy-handle = <2452000>;
148 };
149
150 ethernet@25000 {
151 #address-cells = <1>;
152 #size-cells = <0>;
153 device_type = "network";
154 model = "TSEC";
155 compatible = "gianfar";
156 reg = <25000 1000>;
157 address = [ 00 00 00 00 00 00 ];
158 local-mac-address = [ 00 00 00 00 00 00 ];
159 interrupts = <23 8 24 8 25 8>;
160 interrupt-parent = <700>;
161 phy-handle = <2452001>;
162 };
163
164 serial@4500 {
165 device_type = "serial";
166 compatible = "ns16550";
167 reg = <4500 100>;
168 clock-frequency = <0>;
169 interrupts = <9 8>;
170 interrupt-parent = <700>;
171 };
172
173 serial@4600 {
174 device_type = "serial";
175 compatible = "ns16550";
176 reg = <4600 100>;
177 clock-frequency = <0>;
178 interrupts = <a 8>;
179 interrupt-parent = <700>;
180 };
181
182 pci@8500 {
183 interrupt-map-mask = <f800 0 0 7>;
184 interrupt-map = <
185
186 /* IDSEL 0x11 */
187 8800 0 0 1 700 14 8
188 8800 0 0 2 700 15 8
189 8800 0 0 3 700 16 8
190 8800 0 0 4 700 17 8
191
192 /* IDSEL 0x12 */
193 9000 0 0 1 700 16 8
194 9000 0 0 2 700 17 8
195 9000 0 0 3 700 14 8
196 9000 0 0 4 700 15 8
197
198 /* IDSEL 0x13 */
199 9800 0 0 1 700 17 8
200 9800 0 0 2 700 14 8
201 9800 0 0 3 700 15 8
202 9800 0 0 4 700 16 8
203
204 /* IDSEL 0x15 */
205 a800 0 0 1 700 14 8
206 a800 0 0 2 700 15 8
207 a800 0 0 3 700 16 8
208 a800 0 0 4 700 17 8
209
210 /* IDSEL 0x16 */
211 b000 0 0 1 700 17 8
212 b000 0 0 2 700 14 8
213 b000 0 0 3 700 15 8
214 b000 0 0 4 700 16 8
215
216 /* IDSEL 0x17 */
217 b800 0 0 1 700 16 8
218 b800 0 0 2 700 17 8
219 b800 0 0 3 700 14 8
220 b800 0 0 4 700 15 8
221
222 /* IDSEL 0x18 */
Kim Phillips7dcd86e2006-09-13 17:41:55 -0500223 c000 0 0 1 700 15 8
224 c000 0 0 2 700 16 8
225 c000 0 0 3 700 17 8
226 c000 0 0 4 700 14 8>;
Kim Phillips1b9a93e2006-08-29 18:13:31 -0500227 interrupt-parent = <700>;
228 interrupts = <42 8>;
229 bus-range = <0 0>;
230 ranges = <02000000 0 a0000000 a0000000 0 10000000
231 42000000 0 80000000 80000000 0 10000000
232 01000000 0 00000000 e2000000 0 00100000>;
233 clock-frequency = <3f940aa>;
234 #interrupt-cells = <1>;
235 #size-cells = <2>;
236 #address-cells = <3>;
237 reg = <8500 100>;
238 compatible = "83xx";
239 device_type = "pci";
240 };
241
242 pci@8600 {
243 interrupt-map-mask = <f800 0 0 7>;
244 interrupt-map = <
245
246 /* IDSEL 0x11 */
247 8800 0 0 1 700 14 8
248 8800 0 0 2 700 15 8
249 8800 0 0 3 700 16 8
250 8800 0 0 4 700 17 8
251
252 /* IDSEL 0x12 */
253 9000 0 0 1 700 16 8
254 9000 0 0 2 700 17 8
255 9000 0 0 3 700 14 8
256 9000 0 0 4 700 15 8
257
258 /* IDSEL 0x13 */
259 9800 0 0 1 700 17 8
260 9800 0 0 2 700 14 8
261 9800 0 0 3 700 15 8
262 9800 0 0 4 700 16 8
263
264 /* IDSEL 0x15 */
265 a800 0 0 1 700 14 8
266 a800 0 0 2 700 15 8
267 a800 0 0 3 700 16 8
268 a800 0 0 4 700 17 8
269
270 /* IDSEL 0x16 */
271 b000 0 0 1 700 17 8
272 b000 0 0 2 700 14 8
273 b000 0 0 3 700 15 8
274 b000 0 0 4 700 16 8
275
276 /* IDSEL 0x17 */
277 b800 0 0 1 700 16 8
278 b800 0 0 2 700 17 8
279 b800 0 0 3 700 14 8
280 b800 0 0 4 700 15 8
281
282 /* IDSEL 0x18 */
Kim Phillips7dcd86e2006-09-13 17:41:55 -0500283 c000 0 0 1 700 15 8
284 c000 0 0 2 700 16 8
285 c000 0 0 3 700 17 8
286 c000 0 0 4 700 14 8>;
Kim Phillips1b9a93e2006-08-29 18:13:31 -0500287 interrupt-parent = <700>;
288 interrupts = <42 8>;
289 bus-range = <0 0>;
290 ranges = <02000000 0 b0000000 b0000000 0 10000000
291 42000000 0 90000000 90000000 0 10000000
292 01000000 0 00000000 e2100000 0 00100000>;
293 clock-frequency = <3f940aa>;
294 #interrupt-cells = <1>;
295 #size-cells = <2>;
296 #address-cells = <3>;
297 reg = <8600 100>;
298 compatible = "83xx";
299 device_type = "pci";
300 };
301
302 /* May need to remove if on a part without crypto engine */
303 crypto@30000 {
304 device_type = "crypto";
305 model = "SEC2";
306 compatible = "talitos";
307 reg = <30000 10000>;
308 interrupts = <b 8>;
309 interrupt-parent = <700>;
310 num-channels = <4>;
311 channel-fifo-len = <18>;
312 exec-units-mask = <0000007e>;
313 /* desc mask is for rev2.0,
314 * we need runtime fixup for >2.0 */
315 descriptor-types-mask = <01010ebf>;
316 };
317
318 /* IPIC
319 * interrupts cell = <intr #, sense>
320 * sense values match linux IORESOURCE_IRQ_* defines:
321 * sense == 8: Level, low assertion
322 * sense == 2: Edge, high-to-low change
323 */
324 pic@700 {
325 linux,phandle = <700>;
326 interrupt-controller;
327 #address-cells = <0>;
328 #interrupt-cells = <2>;
329 reg = <700 100>;
330 built-in;
331 device_type = "ipic";
332 };
333 };
334};