1 // SPDX-License-Identifier: GPL-2.0-only
3 * MPC8610 HPCD Device Tree Source
5 * Copyright 2007-2008 Freescale Semiconductor Inc.
11 model = "MPC8610HPCD";
12 compatible = "fsl,MPC8610HPCD";
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
44 device_type = "memory";
45 reg = <0x00000000 0x20000000>; // 512M at 0x0
51 compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus";
52 reg = <0xe0005000 0x1000>;
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>;
65 compatible = "cfi-flash";
66 reg = <0 0 0x8000000>;
72 compatible = "cfi-flash";
73 reg = <1 0 0x8000000>;
79 compatible = "fsl,mpc8610-fcm-nand",
85 compatible = "fsl,mpc8610-fcm-nand",
91 compatible = "fsl,mpc8610-fcm-nand",
97 compatible = "fsl,mpc8610-fcm-nand",
103 #address-cells = <1>;
105 compatible = "fsl,fpga-pixis";
107 ranges = <0 3 0 0x20>;
108 interrupt-parent = <&mpic>;
111 sdcsr_pio: gpio-controller@a {
113 compatible = "fsl,fpga-pixis-gpio-bank";
121 #address-cells = <1>;
123 #interrupt-cells = <2>;
125 compatible = "fsl,mpc8610-immr", "simple-bus";
126 ranges = <0x0 0xe0000000 0x00100000>;
130 compatible = "fsl,mcm-law";
136 compatible = "fsl,mpc8610-mcm", "fsl,mcm";
137 reg = <0x1000 0x1000>;
139 interrupt-parent = <&mpic>;
143 #address-cells = <1>;
146 compatible = "fsl-i2c";
147 reg = <0x3000 0x100>;
149 interrupt-parent = <&mpic>;
153 compatible = "cirrus,cs4270";
155 /* MCLK source is a stand-alone oscillator */
156 clock-frequency = <12288000>;
161 #address-cells = <1>;
164 compatible = "fsl-i2c";
165 reg = <0x3100 0x100>;
167 interrupt-parent = <&mpic>;
168 sleep = <&pmc 0x00000004 0>;
172 serial0: serial@4500 {
174 device_type = "serial";
175 compatible = "fsl,ns16550", "ns16550";
176 reg = <0x4500 0x100>;
177 clock-frequency = <0>;
179 interrupt-parent = <&mpic>;
180 sleep = <&pmc 0x00000002 0>;
183 serial1: serial@4600 {
185 device_type = "serial";
186 compatible = "fsl,ns16550", "ns16550";
187 reg = <0x4600 0x100>;
188 clock-frequency = <0>;
190 interrupt-parent = <&mpic>;
191 sleep = <&pmc 0x00000008 0>;
195 #address-cells = <1>;
197 compatible = "fsl,mpc8610-spi", "fsl,spi";
201 interrupt-parent = <&mpic>;
203 gpios = <&sdcsr_pio 7 0>;
204 sleep = <&pmc 0x00000800 0>;
207 compatible = "fsl,mpc8610hpcd-mmc-slot",
210 gpios = <&sdcsr_pio 0 1 /* nCD */
211 &sdcsr_pio 1 0>; /* WP */
212 voltage-ranges = <3300 3300>;
213 spi-max-frequency = <50000000>;
218 compatible = "fsl,diu";
221 interrupt-parent = <&mpic>;
222 sleep = <&pmc 0x04000000 0>;
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";
235 compatible = "fsl,mpc8610-msi", "fsl,mpic-msi";
236 reg = <0x41600 0x80>;
237 msi-available-ranges = <0 0x100>;
247 interrupt-parent = <&mpic>;
250 global-utilities@e0000 {
251 #address-cells = <1>;
253 compatible = "fsl,mpc8610-guts";
254 reg = <0xe0000 0x1000>;
255 ranges = <0 0xe0000 0x1000>;
259 compatible = "fsl,mpc8610-pmc",
266 compatible = "fsl,mpc8610-wdt";
267 reg = <0xe4000 0x100>;
271 compatible = "fsl,mpc8610-ssi";
273 reg = <0x16000 0x100>;
274 interrupt-parent = <&mpic>;
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>;
285 compatible = "fsl,mpc8610-ssi";
288 reg = <0x16100 0x100>;
289 interrupt-parent = <&mpic>;
291 fsl,fifo-depth = <8>;
292 sleep = <&pmc 0 0x04000000>;
296 #address-cells = <1>;
298 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
300 reg = <0x21300 0x4>; /* DMA general status register */
301 ranges = <0x0 0x21100 0x200>;
302 sleep = <&pmc 0x00000400 0>;
304 dma00: dma-channel@0 {
305 compatible = "fsl,mpc8610-dma-channel",
306 "fsl,ssi-dma-channel";
309 interrupt-parent = <&mpic>;
312 dma01: dma-channel@1 {
313 compatible = "fsl,mpc8610-dma-channel",
314 "fsl,ssi-dma-channel";
317 interrupt-parent = <&mpic>;
321 compatible = "fsl,mpc8610-dma-channel",
322 "fsl,eloplus-dma-channel";
325 interrupt-parent = <&mpic>;
329 compatible = "fsl,mpc8610-dma-channel",
330 "fsl,eloplus-dma-channel";
333 interrupt-parent = <&mpic>;
339 #address-cells = <1>;
341 compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma";
343 reg = <0xc300 0x4>; /* DMA general status register */
344 ranges = <0x0 0xc100 0x200>;
345 sleep = <&pmc 0x00000200 0>;
348 compatible = "fsl,mpc8610-dma-channel",
349 "fsl,eloplus-dma-channel";
352 interrupt-parent = <&mpic>;
356 compatible = "fsl,mpc8610-dma-channel",
357 "fsl,eloplus-dma-channel";
360 interrupt-parent = <&mpic>;
364 compatible = "fsl,mpc8610-dma-channel",
365 "fsl,eloplus-dma-channel";
368 interrupt-parent = <&mpic>;
372 compatible = "fsl,mpc8610-dma-channel",
373 "fsl,eloplus-dma-channel";
376 interrupt-parent = <&mpic>;
384 compatible = "fsl,mpc8610-pci";
386 #interrupt-cells = <1>;
388 #address-cells = <3>;
389 reg = <0xe0008000 0x1000>;
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>;
397 interrupt-map-mask = <0xf800 0 0 7>;
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
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
413 pci1: pcie@e000a000 {
414 compatible = "fsl,mpc8641-pcie";
416 #interrupt-cells = <1>;
418 #address-cells = <3>;
419 reg = <0xe000a000 0x1000>;
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>;
427 interrupt-map-mask = <0xf800 0 0 7>;
431 0xd800 0 0 1 &mpic 2 1
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
440 0xf800 0 0 1 &mpic 3 2
441 0xf800 0 0 2 &mpic 0 1
447 #address-cells = <3>;
449 ranges = <0x02000000 0x0 0xa0000000
450 0x02000000 0x0 0xa0000000
452 0x01000000 0x0 0x00000000
453 0x01000000 0x0 0x00000000
458 #address-cells = <3>;
459 ranges = <0x02000000 0x0 0xa0000000
460 0x02000000 0x0 0xa0000000
462 0x01000000 0x0 0x00000000
463 0x01000000 0x0 0x00000000
469 #address-cells = <2>;
470 reg = <0xf000 0 0 0 0>;
471 ranges = <1 0 0x01000000 0 0
475 compatible = "pnpPNP,b00";
483 pci2: pcie@e0009000 {
484 #address-cells = <3>;
486 #interrupt-cells = <1>;
488 compatible = "fsl,mpc8641-pcie";
489 reg = <0xe0009000 0x00001000>;
490 ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000
491 0x01000000 0 0x00000000 0xe2000000 0 0x00100000>;
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>;
500 sleep = <&pmc 0x20000000 0>;
501 clock-frequency = <33333333>;