Linux Audio

Check our new training course

Loading...
v6.2
  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};
v3.1
 
  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};