Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * MPC8610 HPCD Device Tree Source
4 *
5 * Copyright 2007-2008 Freescale Semiconductor Inc.
6 */
7
8/dts-v1/;
9
10/ {
11 model = "MPC8610HPCD";
12 compatible = "fsl,MPC8610HPCD";
13 #address-cells = <1>;
14 #size-cells = <1>;
15
16 aliases {
17 serial0 = &serial0;
18 serial1 = &serial1;
19 pci0 = &pci0;
20 pci1 = &pci1;
21 pci2 = &pci2;
22 };
23
24 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 PowerPC,8610@0 {
29 device_type = "cpu";
30 reg = <0>;
31 d-cache-line-size = <32>;
32 i-cache-line-size = <32>;
33 d-cache-size = <32768>; // L1
34 i-cache-size = <32768>; // L1
35 sleep = <&pmc 0x00008000 0 // core
36 &pmc 0x00004000 0>; // timebase
37 timebase-frequency = <0>; // From uboot
38 bus-frequency = <0>; // From uboot
39 clock-frequency = <0>; // From uboot
40 };
41 };
42
43 memory {
44 device_type = "memory";
45 reg = <0x00000000 0x20000000>; // 512M at 0x0
46 };
47
48 localbus@e0005000 {
49 #address-cells = <2>;
50 #size-cells = <1>;
51 compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus";
52 reg = <0xe0005000 0x1000>;
53 interrupts = <19 2>;
54 interrupt-parent = <&mpic>;
55 ranges = <0 0 0xf8000000 0x08000000
56 1 0 0xf0000000 0x08000000
57 2 0 0xe8400000 0x00008000
58 4 0 0xe8440000 0x00008000
59 5 0 0xe8480000 0x00008000
60 6 0 0xe84c0000 0x00008000
61 3 0 0xe8000000 0x00000020>;
62 sleep = <&pmc 0x08000000 0>;
63
64 flash@0,0 {
65 compatible = "cfi-flash";
66 reg = <0 0 0x8000000>;
67 bank-width = <2>;
68 device-width = <1>;
69 };
70
71 flash@1,0 {
72 compatible = "cfi-flash";
73 reg = <1 0 0x8000000>;
74 bank-width = <2>;
75 device-width = <1>;
76 };
77
78 flash@2,0 {
79 compatible = "fsl,mpc8610-fcm-nand",
80 "fsl,elbc-fcm-nand";
81 reg = <2 0 0x8000>;
82 };
83
84 flash@4,0 {
85 compatible = "fsl,mpc8610-fcm-nand",
86 "fsl,elbc-fcm-nand";
87 reg = <4 0 0x8000>;
88 };
89
90 flash@5,0 {
91 compatible = "fsl,mpc8610-fcm-nand",
92 "fsl,elbc-fcm-nand";
93 reg = <5 0 0x8000>;
94 };
95
96 flash@6,0 {
97 compatible = "fsl,mpc8610-fcm-nand",
98 "fsl,elbc-fcm-nand";
99 reg = <6 0 0x8000>;
100 };
101
102 board-control@3,0 {
103 #address-cells = <1>;
104 #size-cells = <1>;
105 compatible = "fsl,fpga-pixis";
106 reg = <3 0 0x20>;
107 ranges = <0 3 0 0x20>;
108 interrupt-parent = <&mpic>;
109 interrupts = <8 8>;
110
111 sdcsr_pio: gpio-controller@a {
112 #gpio-cells = <2>;
113 compatible = "fsl,fpga-pixis-gpio-bank";
114 reg = <0xa 1>;
115 gpio-controller;
116 };
117 };
118 };
119
120 soc@e0000000 {
121 #address-cells = <1>;
122 #size-cells = <1>;
123 #interrupt-cells = <2>;
124 device_type = "soc";
125 compatible = "fsl,mpc8610-immr", "simple-bus";
126 ranges = <0x0 0xe0000000 0x00100000>;
127 bus-frequency = <0>;
128
129 mcm-law@0 {
130 compatible = "fsl,mcm-law";
131 reg = <0x0 0x1000>;
132 fsl,num-laws = <10>;
133 };
134
135 mcm@1000 {
136 compatible = "fsl,mpc8610-mcm", "fsl,mcm";
137 reg = <0x1000 0x1000>;
138 interrupts = <17 2>;
139 interrupt-parent = <&mpic>;
140 };
141
142 i2c@3000 {
143 #address-cells = <1>;
144 #size-cells = <0>;
145 cell-index = <0>;
146 compatible = "fsl-i2c";
147 reg = <0x3000 0x100>;
148 interrupts = <43 2>;
149 interrupt-parent = <&mpic>;
150 dfsrr;
151
152 cs4270:codec@4f {
153 compatible = "cirrus,cs4270";
154 reg = <0x4f>;
155 /* MCLK source is a stand-alone oscillator */
156 clock-frequency = <12288000>;
157 };
158 };
159
160 i2c@3100 {
161 #address-cells = <1>;
162 #size-cells = <0>;
163 cell-index = <1>;
164 compatible = "fsl-i2c";
165 reg = <0x3100 0x100>;
166 interrupts = <43 2>;
167 interrupt-parent = <&mpic>;
168 sleep = <&pmc 0x00000004 0>;
169 dfsrr;
170 };
171
172 serial0: serial@4500 {
173 cell-index = <0>;
174 device_type = "serial";
175 compatible = "fsl,ns16550", "ns16550";
176 reg = <0x4500 0x100>;
177 clock-frequency = <0>;
178 interrupts = <42 2>;
179 interrupt-parent = <&mpic>;
180 sleep = <&pmc 0x00000002 0>;
181 };
182
183 serial1: serial@4600 {
184 cell-index = <1>;
185 device_type = "serial";
186 compatible = "fsl,ns16550", "ns16550";
187 reg = <0x4600 0x100>;
188 clock-frequency = <0>;
189 interrupts = <42 2>;
190 interrupt-parent = <&mpic>;
191 sleep = <&pmc 0x00000008 0>;
192 };
193
194 spi@7000 {
195 #address-cells = <1>;
196 #size-cells = <0>;
197 compatible = "fsl,mpc8610-spi", "fsl,spi";
198 reg = <0x7000 0x40>;
199 cell-index = <0>;
200 interrupts = <59 2>;
201 interrupt-parent = <&mpic>;
202 mode = "cpu";
203 cs-gpios = <&sdcsr_pio 7 0>;
204 sleep = <&pmc 0x00000800 0>;
205
206 mmc-slot@0 {
207 compatible = "fsl,mpc8610hpcd-mmc-slot",
208 "mmc-spi-slot";
209 reg = <0>;
210 gpios = <&sdcsr_pio 0 1 /* nCD */
211 &sdcsr_pio 1 0>; /* WP */
212 voltage-ranges = <3300 3300>;
213 spi-max-frequency = <50000000>;
214 };
215 };
216
217 display@2c000 {
218 compatible = "fsl,diu";
219 reg = <0x2c000 100>;
220 interrupts = <72 2>;
221 interrupt-parent = <&mpic>;
222 sleep = <&pmc 0x04000000 0>;
223 };
224
225 mpic: interrupt-controller@40000 {
226 interrupt-controller;
227 #address-cells = <0>;
228 #interrupt-cells = <2>;
229 reg = <0x40000 0x40000>;
230 compatible = "chrp,open-pic";
231 device_type = "open-pic";
232 };
233
234 msi@41600 {
235 compatible = "fsl,mpc8610-msi", "fsl,mpic-msi";
236 reg = <0x41600 0x80>;
237 msi-available-ranges = <0 0x100>;
238 interrupts = <
239 0xe0 0
240 0xe1 0
241 0xe2 0
242 0xe3 0
243 0xe4 0
244 0xe5 0
245 0xe6 0
246 0xe7 0>;
247 interrupt-parent = <&mpic>;
248 };
249
250 global-utilities@e0000 {
251 #address-cells = <1>;
252 #size-cells = <1>;
253 compatible = "fsl,mpc8610-guts";
254 reg = <0xe0000 0x1000>;
255 ranges = <0 0xe0000 0x1000>;
256 fsl,has-rstcr;
257
258 pmc: power@70 {
259 compatible = "fsl,mpc8610-pmc",
260 "fsl,mpc8641d-pmc";
261 reg = <0x70 0x20>;
262 };
263 };
264
265 wdt@e4000 {
266 compatible = "fsl,mpc8610-wdt";
267 reg = <0xe4000 0x100>;
268 };
269
270 ssi@16000 {
271 compatible = "fsl,mpc8610-ssi";
272 cell-index = <0>;
273 reg = <0x16000 0x100>;
274 interrupt-parent = <&mpic>;
275 interrupts = <62 2>;
276 fsl,mode = "i2s-slave";
277 codec-handle = <&cs4270>;
278 fsl,playback-dma = <&dma00>;
279 fsl,capture-dma = <&dma01>;
280 fsl,fifo-depth = <8>;
281 sleep = <&pmc 0 0x08000000>;
282 };
283
284 ssi@16100 {
285 compatible = "fsl,mpc8610-ssi";
286 status = "disabled";
287 cell-index = <1>;
288 reg = <0x16100 0x100>;
289 interrupt-parent = <&mpic>;
290 interrupts = <63 2>;
291 fsl,fifo-depth = <8>;
292 sleep = <&pmc 0 0x04000000>;
293 };
294
295 dma@21300 {
296 #address-cells = <1>;
297 #size-cells = <1>;
298 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
299 cell-index = <0>;
300 reg = <0x21300 0x4>; /* DMA general status register */
301 ranges = <0x0 0x21100 0x200>;
302 sleep = <&pmc 0x00000400 0>;
303
304 dma00: dma-channel@0 {
305 compatible = "fsl,mpc8610-dma-channel",
306 "fsl,ssi-dma-channel";
307 cell-index = <0>;
308 reg = <0x0 0x80>;
309 interrupt-parent = <&mpic>;
310 interrupts = <20 2>;
311 };
312 dma01: dma-channel@1 {
313 compatible = "fsl,mpc8610-dma-channel",
314 "fsl,ssi-dma-channel";
315 cell-index = <1>;
316 reg = <0x80 0x80>;
317 interrupt-parent = <&mpic>;
318 interrupts = <21 2>;
319 };
320 dma-channel@2 {
321 compatible = "fsl,mpc8610-dma-channel",
322 "fsl,eloplus-dma-channel";
323 cell-index = <2>;
324 reg = <0x100 0x80>;
325 interrupt-parent = <&mpic>;
326 interrupts = <22 2>;
327 };
328 dma-channel@3 {
329 compatible = "fsl,mpc8610-dma-channel",
330 "fsl,eloplus-dma-channel";
331 cell-index = <3>;
332 reg = <0x180 0x80>;
333 interrupt-parent = <&mpic>;
334 interrupts = <23 2>;
335 };
336 };
337
338 dma@c300 {
339 #address-cells = <1>;
340 #size-cells = <1>;
341 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
342 cell-index = <1>;
343 reg = <0xc300 0x4>; /* DMA general status register */
344 ranges = <0x0 0xc100 0x200>;
345 sleep = <&pmc 0x00000200 0>;
346
347 dma-channel@0 {
348 compatible = "fsl,mpc8610-dma-channel",
349 "fsl,eloplus-dma-channel";
350 cell-index = <0>;
351 reg = <0x0 0x80>;
352 interrupt-parent = <&mpic>;
353 interrupts = <76 2>;
354 };
355 dma-channel@1 {
356 compatible = "fsl,mpc8610-dma-channel",
357 "fsl,eloplus-dma-channel";
358 cell-index = <1>;
359 reg = <0x80 0x80>;
360 interrupt-parent = <&mpic>;
361 interrupts = <77 2>;
362 };
363 dma-channel@2 {
364 compatible = "fsl,mpc8610-dma-channel",
365 "fsl,eloplus-dma-channel";
366 cell-index = <2>;
367 reg = <0x100 0x80>;
368 interrupt-parent = <&mpic>;
369 interrupts = <78 2>;
370 };
371 dma-channel@3 {
372 compatible = "fsl,mpc8610-dma-channel",
373 "fsl,eloplus-dma-channel";
374 cell-index = <3>;
375 reg = <0x180 0x80>;
376 interrupt-parent = <&mpic>;
377 interrupts = <79 2>;
378 };
379 };
380
381 };
382
383 pci0: pci@e0008000 {
384 compatible = "fsl,mpc8610-pci";
385 device_type = "pci";
386 #interrupt-cells = <1>;
387 #size-cells = <2>;
388 #address-cells = <3>;
389 reg = <0xe0008000 0x1000>;
390 bus-range = <0 0>;
391 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000
392 0x01000000 0x0 0x00000000 0xe1000000 0x0 0x00100000>;
393 sleep = <&pmc 0x80000000 0>;
394 clock-frequency = <33333333>;
395 interrupt-parent = <&mpic>;
396 interrupts = <24 2>;
397 interrupt-map-mask = <0xf800 0 0 7>;
398 interrupt-map = <
399 /* IDSEL 0x11 */
400 0x8800 0 0 1 &mpic 4 1
401 0x8800 0 0 2 &mpic 5 1
402 0x8800 0 0 3 &mpic 6 1
403 0x8800 0 0 4 &mpic 7 1
404
405 /* IDSEL 0x12 */
406 0x9000 0 0 1 &mpic 5 1
407 0x9000 0 0 2 &mpic 6 1
408 0x9000 0 0 3 &mpic 7 1
409 0x9000 0 0 4 &mpic 4 1
410 >;
411 };
412
413 pci1: pcie@e000a000 {
414 compatible = "fsl,mpc8641-pcie";
415 device_type = "pci";
416 #interrupt-cells = <1>;
417 #size-cells = <2>;
418 #address-cells = <3>;
419 reg = <0xe000a000 0x1000>;
420 bus-range = <1 3>;
421 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
422 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>;
423 sleep = <&pmc 0x40000000 0>;
424 clock-frequency = <33333333>;
425 interrupt-parent = <&mpic>;
426 interrupts = <26 2>;
427 interrupt-map-mask = <0xf800 0 0 7>;
428
429 interrupt-map = <
430 /* IDSEL 0x1b */
431 0xd800 0 0 1 &mpic 2 1
432
433 /* IDSEL 0x1c*/
434 0xe000 0 0 1 &mpic 1 1
435 0xe000 0 0 2 &mpic 1 1
436 0xe000 0 0 3 &mpic 1 1
437 0xe000 0 0 4 &mpic 1 1
438
439 /* IDSEL 0x1f */
440 0xf800 0 0 1 &mpic 3 2
441 0xf800 0 0 2 &mpic 0 1
442 >;
443
444 pcie@0 {
445 reg = <0 0 0 0 0>;
446 #size-cells = <2>;
447 #address-cells = <3>;
448 device_type = "pci";
449 ranges = <0x02000000 0x0 0xa0000000
450 0x02000000 0x0 0xa0000000
451 0x0 0x10000000
452 0x01000000 0x0 0x00000000
453 0x01000000 0x0 0x00000000
454 0x0 0x00100000>;
455 uli1575@0 {
456 reg = <0 0 0 0 0>;
457 #size-cells = <2>;
458 #address-cells = <3>;
459 ranges = <0x02000000 0x0 0xa0000000
460 0x02000000 0x0 0xa0000000
461 0x0 0x10000000
462 0x01000000 0x0 0x00000000
463 0x01000000 0x0 0x00000000
464 0x0 0x00100000>;
465
466 isa@1e {
467 device_type = "isa";
468 #size-cells = <1>;
469 #address-cells = <2>;
470 reg = <0xf000 0 0 0 0>;
471 ranges = <1 0 0x01000000 0 0
472 0x00001000>;
473
474 rtc@70 {
475 compatible = "pnpPNP,b00";
476 reg = <1 0x70 2>;
477 };
478 };
479 };
480 };
481 };
482
483 pci2: pcie@e0009000 {
484 #address-cells = <3>;
485 #size-cells = <2>;
486 #interrupt-cells = <1>;
487 device_type = "pci";
488 compatible = "fsl,mpc8641-pcie";
489 reg = <0xe0009000 0x00001000>;
490 ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000
491 0x01000000 0 0x00000000 0xe2000000 0 0x00100000>;
492 bus-range = <0 255>;
493 interrupt-map-mask = <0xf800 0 0 7>;
494 interrupt-map = <0x0000 0 0 1 &mpic 4 1
495 0x0000 0 0 2 &mpic 5 1
496 0x0000 0 0 3 &mpic 6 1
497 0x0000 0 0 4 &mpic 7 1>;
498 interrupt-parent = <&mpic>;
499 interrupts = <25 2>;
500 sleep = <&pmc 0x20000000 0>;
501 clock-frequency = <33333333>;
502 };
503};
1/*
2 * MPC8610 HPCD Device Tree Source
3 *
4 * Copyright 2007-2008 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 Version 2 as published
8 * by the Free Software Foundation.
9 */
10
11/dts-v1/;
12
13/ {
14 model = "MPC8610HPCD";
15 compatible = "fsl,MPC8610HPCD";
16 #address-cells = <1>;
17 #size-cells = <1>;
18
19 aliases {
20 serial0 = &serial0;
21 serial1 = &serial1;
22 pci0 = &pci0;
23 pci1 = &pci1;
24 pci2 = &pci2;
25 };
26
27 cpus {
28 #address-cells = <1>;
29 #size-cells = <0>;
30
31 PowerPC,8610@0 {
32 device_type = "cpu";
33 reg = <0>;
34 d-cache-line-size = <32>;
35 i-cache-line-size = <32>;
36 d-cache-size = <32768>; // L1
37 i-cache-size = <32768>; // L1
38 sleep = <&pmc 0x00008000 0 // core
39 &pmc 0x00004000 0>; // timebase
40 timebase-frequency = <0>; // From uboot
41 bus-frequency = <0>; // From uboot
42 clock-frequency = <0>; // From uboot
43 };
44 };
45
46 memory {
47 device_type = "memory";
48 reg = <0x00000000 0x20000000>; // 512M at 0x0
49 };
50
51 localbus@e0005000 {
52 #address-cells = <2>;
53 #size-cells = <1>;
54 compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus";
55 reg = <0xe0005000 0x1000>;
56 interrupts = <19 2>;
57 interrupt-parent = <&mpic>;
58 ranges = <0 0 0xf8000000 0x08000000
59 1 0 0xf0000000 0x08000000
60 2 0 0xe8400000 0x00008000
61 4 0 0xe8440000 0x00008000
62 5 0 0xe8480000 0x00008000
63 6 0 0xe84c0000 0x00008000
64 3 0 0xe8000000 0x00000020>;
65 sleep = <&pmc 0x08000000 0>;
66
67 flash@0,0 {
68 compatible = "cfi-flash";
69 reg = <0 0 0x8000000>;
70 bank-width = <2>;
71 device-width = <1>;
72 };
73
74 flash@1,0 {
75 compatible = "cfi-flash";
76 reg = <1 0 0x8000000>;
77 bank-width = <2>;
78 device-width = <1>;
79 };
80
81 flash@2,0 {
82 compatible = "fsl,mpc8610-fcm-nand",
83 "fsl,elbc-fcm-nand";
84 reg = <2 0 0x8000>;
85 };
86
87 flash@4,0 {
88 compatible = "fsl,mpc8610-fcm-nand",
89 "fsl,elbc-fcm-nand";
90 reg = <4 0 0x8000>;
91 };
92
93 flash@5,0 {
94 compatible = "fsl,mpc8610-fcm-nand",
95 "fsl,elbc-fcm-nand";
96 reg = <5 0 0x8000>;
97 };
98
99 flash@6,0 {
100 compatible = "fsl,mpc8610-fcm-nand",
101 "fsl,elbc-fcm-nand";
102 reg = <6 0 0x8000>;
103 };
104
105 board-control@3,0 {
106 #address-cells = <1>;
107 #size-cells = <1>;
108 compatible = "fsl,fpga-pixis";
109 reg = <3 0 0x20>;
110 ranges = <0 3 0 0x20>;
111 interrupt-parent = <&mpic>;
112 interrupts = <8 8>;
113
114 sdcsr_pio: gpio-controller@a {
115 #gpio-cells = <2>;
116 compatible = "fsl,fpga-pixis-gpio-bank";
117 reg = <0xa 1>;
118 gpio-controller;
119 };
120 };
121 };
122
123 soc@e0000000 {
124 #address-cells = <1>;
125 #size-cells = <1>;
126 #interrupt-cells = <2>;
127 device_type = "soc";
128 compatible = "fsl,mpc8610-immr", "simple-bus";
129 ranges = <0x0 0xe0000000 0x00100000>;
130 bus-frequency = <0>;
131
132 mcm-law@0 {
133 compatible = "fsl,mcm-law";
134 reg = <0x0 0x1000>;
135 fsl,num-laws = <10>;
136 };
137
138 mcm@1000 {
139 compatible = "fsl,mpc8610-mcm", "fsl,mcm";
140 reg = <0x1000 0x1000>;
141 interrupts = <17 2>;
142 interrupt-parent = <&mpic>;
143 };
144
145 i2c@3000 {
146 #address-cells = <1>;
147 #size-cells = <0>;
148 cell-index = <0>;
149 compatible = "fsl-i2c";
150 reg = <0x3000 0x100>;
151 interrupts = <43 2>;
152 interrupt-parent = <&mpic>;
153 dfsrr;
154
155 cs4270:codec@4f {
156 compatible = "cirrus,cs4270";
157 reg = <0x4f>;
158 /* MCLK source is a stand-alone oscillator */
159 clock-frequency = <12288000>;
160 };
161 };
162
163 i2c@3100 {
164 #address-cells = <1>;
165 #size-cells = <0>;
166 cell-index = <1>;
167 compatible = "fsl-i2c";
168 reg = <0x3100 0x100>;
169 interrupts = <43 2>;
170 interrupt-parent = <&mpic>;
171 sleep = <&pmc 0x00000004 0>;
172 dfsrr;
173 };
174
175 serial0: serial@4500 {
176 cell-index = <0>;
177 device_type = "serial";
178 compatible = "ns16550";
179 reg = <0x4500 0x100>;
180 clock-frequency = <0>;
181 interrupts = <42 2>;
182 interrupt-parent = <&mpic>;
183 sleep = <&pmc 0x00000002 0>;
184 };
185
186 serial1: serial@4600 {
187 cell-index = <1>;
188 device_type = "serial";
189 compatible = "ns16550";
190 reg = <0x4600 0x100>;
191 clock-frequency = <0>;
192 interrupts = <42 2>;
193 interrupt-parent = <&mpic>;
194 sleep = <&pmc 0x00000008 0>;
195 };
196
197 spi@7000 {
198 #address-cells = <1>;
199 #size-cells = <0>;
200 compatible = "fsl,mpc8610-spi", "fsl,spi";
201 reg = <0x7000 0x40>;
202 cell-index = <0>;
203 interrupts = <59 2>;
204 interrupt-parent = <&mpic>;
205 mode = "cpu";
206 gpios = <&sdcsr_pio 7 0>;
207 sleep = <&pmc 0x00000800 0>;
208
209 mmc-slot@0 {
210 compatible = "fsl,mpc8610hpcd-mmc-slot",
211 "mmc-spi-slot";
212 reg = <0>;
213 gpios = <&sdcsr_pio 0 1 /* nCD */
214 &sdcsr_pio 1 0>; /* WP */
215 voltage-ranges = <3300 3300>;
216 spi-max-frequency = <50000000>;
217 };
218 };
219
220 display@2c000 {
221 compatible = "fsl,diu";
222 reg = <0x2c000 100>;
223 interrupts = <72 2>;
224 interrupt-parent = <&mpic>;
225 sleep = <&pmc 0x04000000 0>;
226 };
227
228 mpic: interrupt-controller@40000 {
229 interrupt-controller;
230 #address-cells = <0>;
231 #interrupt-cells = <2>;
232 reg = <0x40000 0x40000>;
233 compatible = "chrp,open-pic";
234 device_type = "open-pic";
235 };
236
237 msi@41600 {
238 compatible = "fsl,mpc8610-msi", "fsl,mpic-msi";
239 reg = <0x41600 0x80>;
240 msi-available-ranges = <0 0x100>;
241 interrupts = <
242 0xe0 0
243 0xe1 0
244 0xe2 0
245 0xe3 0
246 0xe4 0
247 0xe5 0
248 0xe6 0
249 0xe7 0>;
250 interrupt-parent = <&mpic>;
251 };
252
253 global-utilities@e0000 {
254 #address-cells = <1>;
255 #size-cells = <1>;
256 compatible = "fsl,mpc8610-guts";
257 reg = <0xe0000 0x1000>;
258 ranges = <0 0xe0000 0x1000>;
259 fsl,has-rstcr;
260
261 pmc: power@70 {
262 compatible = "fsl,mpc8610-pmc",
263 "fsl,mpc8641d-pmc";
264 reg = <0x70 0x20>;
265 };
266 };
267
268 wdt@e4000 {
269 compatible = "fsl,mpc8610-wdt";
270 reg = <0xe4000 0x100>;
271 };
272
273 ssi@16000 {
274 compatible = "fsl,mpc8610-ssi";
275 cell-index = <0>;
276 reg = <0x16000 0x100>;
277 interrupt-parent = <&mpic>;
278 interrupts = <62 2>;
279 fsl,mode = "i2s-slave";
280 codec-handle = <&cs4270>;
281 fsl,playback-dma = <&dma00>;
282 fsl,capture-dma = <&dma01>;
283 fsl,fifo-depth = <8>;
284 sleep = <&pmc 0 0x08000000>;
285 };
286
287 ssi@16100 {
288 compatible = "fsl,mpc8610-ssi";
289 status = "disabled";
290 cell-index = <1>;
291 reg = <0x16100 0x100>;
292 interrupt-parent = <&mpic>;
293 interrupts = <63 2>;
294 fsl,fifo-depth = <8>;
295 sleep = <&pmc 0 0x04000000>;
296 };
297
298 dma@21300 {
299 #address-cells = <1>;
300 #size-cells = <1>;
301 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
302 cell-index = <0>;
303 reg = <0x21300 0x4>; /* DMA general status register */
304 ranges = <0x0 0x21100 0x200>;
305 sleep = <&pmc 0x00000400 0>;
306
307 dma00: dma-channel@0 {
308 compatible = "fsl,mpc8610-dma-channel",
309 "fsl,ssi-dma-channel";
310 cell-index = <0>;
311 reg = <0x0 0x80>;
312 interrupt-parent = <&mpic>;
313 interrupts = <20 2>;
314 };
315 dma01: dma-channel@1 {
316 compatible = "fsl,mpc8610-dma-channel",
317 "fsl,ssi-dma-channel";
318 cell-index = <1>;
319 reg = <0x80 0x80>;
320 interrupt-parent = <&mpic>;
321 interrupts = <21 2>;
322 };
323 dma-channel@2 {
324 compatible = "fsl,mpc8610-dma-channel",
325 "fsl,eloplus-dma-channel";
326 cell-index = <2>;
327 reg = <0x100 0x80>;
328 interrupt-parent = <&mpic>;
329 interrupts = <22 2>;
330 };
331 dma-channel@3 {
332 compatible = "fsl,mpc8610-dma-channel",
333 "fsl,eloplus-dma-channel";
334 cell-index = <3>;
335 reg = <0x180 0x80>;
336 interrupt-parent = <&mpic>;
337 interrupts = <23 2>;
338 };
339 };
340
341 dma@c300 {
342 #address-cells = <1>;
343 #size-cells = <1>;
344 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
345 cell-index = <1>;
346 reg = <0xc300 0x4>; /* DMA general status register */
347 ranges = <0x0 0xc100 0x200>;
348 sleep = <&pmc 0x00000200 0>;
349
350 dma-channel@0 {
351 compatible = "fsl,mpc8610-dma-channel",
352 "fsl,eloplus-dma-channel";
353 cell-index = <0>;
354 reg = <0x0 0x80>;
355 interrupt-parent = <&mpic>;
356 interrupts = <76 2>;
357 };
358 dma-channel@1 {
359 compatible = "fsl,mpc8610-dma-channel",
360 "fsl,eloplus-dma-channel";
361 cell-index = <1>;
362 reg = <0x80 0x80>;
363 interrupt-parent = <&mpic>;
364 interrupts = <77 2>;
365 };
366 dma-channel@2 {
367 compatible = "fsl,mpc8610-dma-channel",
368 "fsl,eloplus-dma-channel";
369 cell-index = <2>;
370 reg = <0x100 0x80>;
371 interrupt-parent = <&mpic>;
372 interrupts = <78 2>;
373 };
374 dma-channel@3 {
375 compatible = "fsl,mpc8610-dma-channel",
376 "fsl,eloplus-dma-channel";
377 cell-index = <3>;
378 reg = <0x180 0x80>;
379 interrupt-parent = <&mpic>;
380 interrupts = <79 2>;
381 };
382 };
383
384 };
385
386 pci0: pci@e0008000 {
387 compatible = "fsl,mpc8610-pci";
388 device_type = "pci";
389 #interrupt-cells = <1>;
390 #size-cells = <2>;
391 #address-cells = <3>;
392 reg = <0xe0008000 0x1000>;
393 bus-range = <0 0>;
394 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000
395 0x01000000 0x0 0x00000000 0xe1000000 0x0 0x00100000>;
396 sleep = <&pmc 0x80000000 0>;
397 clock-frequency = <33333333>;
398 interrupt-parent = <&mpic>;
399 interrupts = <24 2>;
400 interrupt-map-mask = <0xf800 0 0 7>;
401 interrupt-map = <
402 /* IDSEL 0x11 */
403 0x8800 0 0 1 &mpic 4 1
404 0x8800 0 0 2 &mpic 5 1
405 0x8800 0 0 3 &mpic 6 1
406 0x8800 0 0 4 &mpic 7 1
407
408 /* IDSEL 0x12 */
409 0x9000 0 0 1 &mpic 5 1
410 0x9000 0 0 2 &mpic 6 1
411 0x9000 0 0 3 &mpic 7 1
412 0x9000 0 0 4 &mpic 4 1
413 >;
414 };
415
416 pci1: pcie@e000a000 {
417 compatible = "fsl,mpc8641-pcie";
418 device_type = "pci";
419 #interrupt-cells = <1>;
420 #size-cells = <2>;
421 #address-cells = <3>;
422 reg = <0xe000a000 0x1000>;
423 bus-range = <1 3>;
424 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
425 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>;
426 sleep = <&pmc 0x40000000 0>;
427 clock-frequency = <33333333>;
428 interrupt-parent = <&mpic>;
429 interrupts = <26 2>;
430 interrupt-map-mask = <0xf800 0 0 7>;
431
432 interrupt-map = <
433 /* IDSEL 0x1b */
434 0xd800 0 0 1 &mpic 2 1
435
436 /* IDSEL 0x1c*/
437 0xe000 0 0 1 &mpic 1 1
438 0xe000 0 0 2 &mpic 1 1
439 0xe000 0 0 3 &mpic 1 1
440 0xe000 0 0 4 &mpic 1 1
441
442 /* IDSEL 0x1f */
443 0xf800 0 0 1 &mpic 3 2
444 0xf800 0 0 2 &mpic 0 1
445 >;
446
447 pcie@0 {
448 reg = <0 0 0 0 0>;
449 #size-cells = <2>;
450 #address-cells = <3>;
451 device_type = "pci";
452 ranges = <0x02000000 0x0 0xa0000000
453 0x02000000 0x0 0xa0000000
454 0x0 0x10000000
455 0x01000000 0x0 0x00000000
456 0x01000000 0x0 0x00000000
457 0x0 0x00100000>;
458 uli1575@0 {
459 reg = <0 0 0 0 0>;
460 #size-cells = <2>;
461 #address-cells = <3>;
462 ranges = <0x02000000 0x0 0xa0000000
463 0x02000000 0x0 0xa0000000
464 0x0 0x10000000
465 0x01000000 0x0 0x00000000
466 0x01000000 0x0 0x00000000
467 0x0 0x00100000>;
468
469 isa@1e {
470 device_type = "isa";
471 #size-cells = <1>;
472 #address-cells = <2>;
473 reg = <0xf000 0 0 0 0>;
474 ranges = <1 0 0x01000000 0 0
475 0x00001000>;
476
477 rtc@70 {
478 compatible = "pnpPNP,b00";
479 reg = <1 0x70 2>;
480 };
481 };
482 };
483 };
484 };
485
486 pci2: pcie@e0009000 {
487 #address-cells = <3>;
488 #size-cells = <2>;
489 #interrupt-cells = <1>;
490 device_type = "pci";
491 compatible = "fsl,mpc8641-pcie";
492 reg = <0xe0009000 0x00001000>;
493 ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000
494 0x01000000 0 0x00000000 0xe2000000 0 0x00100000>;
495 bus-range = <0 255>;
496 interrupt-map-mask = <0xf800 0 0 7>;
497 interrupt-map = <0x0000 0 0 1 &mpic 4 1
498 0x0000 0 0 2 &mpic 5 1
499 0x0000 0 0 3 &mpic 6 1
500 0x0000 0 0 4 &mpic 7 1>;
501 interrupt-parent = <&mpic>;
502 interrupts = <25 2>;
503 sleep = <&pmc 0x20000000 0>;
504 clock-frequency = <33333333>;
505 };
506};