Linux Audio

Check our new training course

Loading...
v6.8
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * base MPC5121 Device Tree Source
  4 *
  5 * Copyright 2007-2008 Freescale Semiconductor Inc.
  6 */
  7
  8#include <dt-bindings/clock/mpc512x-clock.h>
  9
 10/dts-v1/;
 11
 12/ {
 13	model = "mpc5121";
 14	compatible = "fsl,mpc5121";
 15	#address-cells = <1>;
 16	#size-cells = <1>;
 17        interrupt-parent = <&ipic>;
 18
 19	aliases {
 20		ethernet0 = &eth0;
 21		pci = &pci;
 22	};
 23
 24	cpus {
 25		#address-cells = <1>;
 26		#size-cells = <0>;
 27
 28		PowerPC,5121@0 {
 29			device_type = "cpu";
 30			reg = <0>;
 31			d-cache-line-size = <0x20>;	/* 32 bytes */
 32			i-cache-line-size = <0x20>;	/* 32 bytes */
 33			d-cache-size = <0x8000>;	/* L1, 32K */
 34			i-cache-size = <0x8000>;	/* L1, 32K */
 35			timebase-frequency = <49500000>;/* 49.5 MHz (csb/4) */
 36			bus-frequency = <198000000>;	/* 198 MHz csb bus */
 37			clock-frequency = <396000000>;	/* 396 MHz ppc core */
 38		};
 39	};
 40
 41	memory {
 42		device_type = "memory";
 43		reg = <0x00000000 0x10000000>;	/* 256MB at 0 */
 44	};
 45
 46	mbx@20000000 {
 47		compatible = "fsl,mpc5121-mbx";
 48		reg = <0x20000000 0x4000>;
 49		interrupts = <66 0x8>;
 50		clocks = <&clks MPC512x_CLK_MBX_BUS>,
 51			 <&clks MPC512x_CLK_MBX_3D>,
 52			 <&clks MPC512x_CLK_MBX>;
 53		clock-names = "mbx-bus", "mbx-3d", "mbx";
 54	};
 55
 56	sram@30000000 {
 57		compatible = "fsl,mpc5121-sram";
 58		reg = <0x30000000 0x20000>;	/* 128K at 0x30000000 */
 59	};
 60
 61	nfc@40000000 {
 62		compatible = "fsl,mpc5121-nfc";
 63		reg = <0x40000000 0x100000>;	/* 1M at 0x40000000 */
 64		interrupts = <6 8>;
 65		#address-cells = <1>;
 66		#size-cells = <1>;
 67		clocks = <&clks MPC512x_CLK_NFC>;
 68		clock-names = "ipg";
 69	};
 70
 71	localbus@80000020 {
 72		compatible = "fsl,mpc5121-localbus";
 73		#address-cells = <2>;
 74		#size-cells = <1>;
 75		reg = <0x80000020 0x40>;
 76		ranges = <0x0 0x0 0xfc000000 0x04000000>;
 77	};
 78
 79	clocks {
 80		#address-cells = <1>;
 81		#size-cells = <0>;
 82
 83		osc: osc {
 84			compatible = "fixed-clock";
 85			#clock-cells = <0>;
 86			clock-frequency = <33000000>;
 87		};
 88	};
 89
 90	soc@80000000 {
 91		compatible = "fsl,mpc5121-immr";
 92		#address-cells = <1>;
 93		#size-cells = <1>;
 94		ranges = <0x0 0x80000000 0x400000>;
 95		reg = <0x80000000 0x400000>;
 96		bus-frequency = <66000000>;	/* 66 MHz ips bus */
 97
 98
 99		/*
100		 * IPIC
101		 * interrupts cell = <intr #, sense>
102		 * sense values match linux IORESOURCE_IRQ_* defines:
103		 * sense == 8: Level, low assertion
104		 * sense == 2: Edge, high-to-low change
105		 */
106		ipic: interrupt-controller@c00 {
107			compatible = "fsl,mpc5121-ipic", "fsl,ipic";
108			interrupt-controller;
109			#address-cells = <0>;
110			#interrupt-cells = <2>;
111			reg = <0xc00 0x100>;
112		};
113
114		/* Watchdog timer */
115		wdt@900 {
116			compatible = "fsl,mpc5121-wdt";
117			reg = <0x900 0x100>;
118		};
119
120		/* Real time clock */
121		rtc@a00 {
122			compatible = "fsl,mpc5121-rtc";
123			reg = <0xa00 0x100>;
124			interrupts = <79 0x8 80 0x8>;
125		};
126
127		/* Reset module */
128		reset@e00 {
129			compatible = "fsl,mpc5121-reset";
130			reg = <0xe00 0x100>;
131		};
132
133		/* Clock control */
134		clks: clock@f00 {
135			compatible = "fsl,mpc5121-clock";
136			reg = <0xf00 0x100>;
137			#clock-cells = <1>;
138			clocks = <&osc>;
139			clock-names = "osc";
140		};
141
142		/* Power Management Controller */
143		pmc@1000 {
144			compatible = "fsl,mpc5121-pmc";
145			reg = <0x1000 0x100>;
146			interrupts = <83 0x8>;
147		};
148
149		gpio@1100 {
150			compatible = "fsl,mpc5121-gpio";
151			reg = <0x1100 0x100>;
152			interrupts = <78 0x8>;
153		};
154
155		can@1300 {
156			compatible = "fsl,mpc5121-mscan";
157			reg = <0x1300 0x80>;
158			interrupts = <12 0x8>;
159			clocks = <&clks MPC512x_CLK_BDLC>,
160				 <&clks MPC512x_CLK_IPS>,
161				 <&clks MPC512x_CLK_SYS>,
162				 <&clks MPC512x_CLK_REF>,
163				 <&clks MPC512x_CLK_MSCAN0_MCLK>;
164			clock-names = "ipg", "ips", "sys", "ref", "mclk";
165		};
166
167		can@1380 {
168			compatible = "fsl,mpc5121-mscan";
169			reg = <0x1380 0x80>;
170			interrupts = <13 0x8>;
171			clocks = <&clks MPC512x_CLK_BDLC>,
172				 <&clks MPC512x_CLK_IPS>,
173				 <&clks MPC512x_CLK_SYS>,
174				 <&clks MPC512x_CLK_REF>,
175				 <&clks MPC512x_CLK_MSCAN1_MCLK>;
176			clock-names = "ipg", "ips", "sys", "ref", "mclk";
177		};
178
179		sdhc@1500 {
180			compatible = "fsl,mpc5121-sdhc";
181			reg = <0x1500 0x100>;
182			interrupts = <8 0x8>;
183			dmas = <&dma0 30>;
184			dma-names = "rx-tx";
185			clocks = <&clks MPC512x_CLK_IPS>,
186				 <&clks MPC512x_CLK_SDHC>;
187			clock-names = "ipg", "per";
188		};
189
190		i2c@1700 {
191			#address-cells = <1>;
192			#size-cells = <0>;
193			compatible = "fsl,mpc5121-i2c", "fsl-i2c";
194			reg = <0x1700 0x20>;
195			interrupts = <9 0x8>;
196			clocks = <&clks MPC512x_CLK_I2C>;
197			clock-names = "ipg";
198		};
199
200		i2c@1720 {
201			#address-cells = <1>;
202			#size-cells = <0>;
203			compatible = "fsl,mpc5121-i2c", "fsl-i2c";
204			reg = <0x1720 0x20>;
205			interrupts = <10 0x8>;
206			clocks = <&clks MPC512x_CLK_I2C>;
207			clock-names = "ipg";
208		};
209
210		i2c@1740 {
211			#address-cells = <1>;
212			#size-cells = <0>;
213			compatible = "fsl,mpc5121-i2c", "fsl-i2c";
214			reg = <0x1740 0x20>;
215			interrupts = <11 0x8>;
216			clocks = <&clks MPC512x_CLK_I2C>;
217			clock-names = "ipg";
218		};
219
220		i2ccontrol@1760 {
221			compatible = "fsl,mpc5121-i2c-ctrl";
222			reg = <0x1760 0x8>;
223		};
224
225		axe@2000 {
226			compatible = "fsl,mpc5121-axe";
227			reg = <0x2000 0x100>;
228			interrupts = <42 0x8>;
229			clocks = <&clks MPC512x_CLK_AXE>;
230			clock-names = "ipg";
231		};
232
233		display@2100 {
234			compatible = "fsl,mpc5121-diu";
235			reg = <0x2100 0x100>;
236			interrupts = <64 0x8>;
237			clocks = <&clks MPC512x_CLK_DIU>;
238			clock-names = "ipg";
239		};
240
241		can@2300 {
242			compatible = "fsl,mpc5121-mscan";
243			reg = <0x2300 0x80>;
244			interrupts = <90 0x8>;
245			clocks = <&clks MPC512x_CLK_BDLC>,
246				 <&clks MPC512x_CLK_IPS>,
247				 <&clks MPC512x_CLK_SYS>,
248				 <&clks MPC512x_CLK_REF>,
249				 <&clks MPC512x_CLK_MSCAN2_MCLK>;
250			clock-names = "ipg", "ips", "sys", "ref", "mclk";
251		};
252
253		can@2380 {
254			compatible = "fsl,mpc5121-mscan";
255			reg = <0x2380 0x80>;
256			interrupts = <91 0x8>;
257			clocks = <&clks MPC512x_CLK_BDLC>,
258				 <&clks MPC512x_CLK_IPS>,
259				 <&clks MPC512x_CLK_SYS>,
260				 <&clks MPC512x_CLK_REF>,
261				 <&clks MPC512x_CLK_MSCAN3_MCLK>;
262			clock-names = "ipg", "ips", "sys", "ref", "mclk";
263		};
264
265		viu@2400 {
266			compatible = "fsl,mpc5121-viu";
267			reg = <0x2400 0x400>;
268			interrupts = <67 0x8>;
269			clocks = <&clks MPC512x_CLK_VIU>;
270			clock-names = "ipg";
271		};
272
273		mdio@2800 {
274			compatible = "fsl,mpc5121-fec-mdio";
275			reg = <0x2800 0x800>;
276			#address-cells = <1>;
277			#size-cells = <0>;
278			clocks = <&clks MPC512x_CLK_FEC>;
279			clock-names = "per";
280		};
281
282		eth0: ethernet@2800 {
283			device_type = "network";
284			compatible = "fsl,mpc5121-fec";
285			reg = <0x2800 0x800>;
286			local-mac-address = [ 00 00 00 00 00 00 ];
287			interrupts = <4 0x8>;
288			clocks = <&clks MPC512x_CLK_FEC>;
289			clock-names = "per";
290		};
291
292		/* USB1 using external ULPI PHY */
293		usb@3000 {
294			compatible = "fsl,mpc5121-usb2-dr";
295			reg = <0x3000 0x600>;
296			#address-cells = <1>;
297			#size-cells = <0>;
298			interrupts = <43 0x8>;
299			dr_mode = "otg";
300			phy_type = "ulpi";
301			clocks = <&clks MPC512x_CLK_USB1>;
302			clock-names = "ipg";
303		};
304
305		/* USB0 using internal UTMI PHY */
306		usb@4000 {
307			compatible = "fsl,mpc5121-usb2-dr";
308			reg = <0x4000 0x600>;
309			#address-cells = <1>;
310			#size-cells = <0>;
311			interrupts = <44 0x8>;
312			dr_mode = "otg";
313			phy_type = "utmi_wide";
314			clocks = <&clks MPC512x_CLK_USB2>;
315			clock-names = "ipg";
316		};
317
318		/* IO control */
319		ioctl@a000 {
320			compatible = "fsl,mpc5121-ioctl";
321			reg = <0xA000 0x1000>;
322		};
323
324		/* LocalPlus controller */
325		lpc@10000 {
326			compatible = "fsl,mpc5121-lpc";
327			reg = <0x10000 0x100>;
328		};
329
330		sclpc@10100 {
331			compatible = "fsl,mpc512x-lpbfifo";
332			reg = <0x10100 0x50>;
333			interrupts = <7 0x8>;
334			dmas = <&dma0 26>;
335			dma-names = "rx-tx";
336		};
337
338		pata@10200 {
339			compatible = "fsl,mpc5121-pata";
340			reg = <0x10200 0x100>;
341			interrupts = <5 0x8>;
342			clocks = <&clks MPC512x_CLK_PATA>;
343			clock-names = "ipg";
344		};
345
346		/* 512x PSCs are not 52xx PSC compatible */
347
348		/* PSC0 */
349		psc@11000 {
350			compatible = "fsl,mpc5121-psc";
351			reg = <0x11000 0x100>;
352			interrupts = <40 0x8>;
353			fsl,rx-fifo-size = <16>;
354			fsl,tx-fifo-size = <16>;
355			clocks = <&clks MPC512x_CLK_PSC0>,
356				 <&clks MPC512x_CLK_PSC0_MCLK>;
357			clock-names = "ipg", "mclk";
358		};
359
360		/* PSC1 */
361		psc@11100 {
362			compatible = "fsl,mpc5121-psc";
363			reg = <0x11100 0x100>;
364			interrupts = <40 0x8>;
365			fsl,rx-fifo-size = <16>;
366			fsl,tx-fifo-size = <16>;
367			clocks = <&clks MPC512x_CLK_PSC1>,
368				 <&clks MPC512x_CLK_PSC1_MCLK>;
369			clock-names = "ipg", "mclk";
370		};
371
372		/* PSC2 */
373		psc@11200 {
374			compatible = "fsl,mpc5121-psc";
375			reg = <0x11200 0x100>;
376			interrupts = <40 0x8>;
377			fsl,rx-fifo-size = <16>;
378			fsl,tx-fifo-size = <16>;
379			clocks = <&clks MPC512x_CLK_PSC2>,
380				 <&clks MPC512x_CLK_PSC2_MCLK>;
381			clock-names = "ipg", "mclk";
382		};
383
384		/* PSC3 */
385		psc@11300 {
386			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
387			reg = <0x11300 0x100>;
388			interrupts = <40 0x8>;
389			fsl,rx-fifo-size = <16>;
390			fsl,tx-fifo-size = <16>;
391			clocks = <&clks MPC512x_CLK_PSC3>,
392				 <&clks MPC512x_CLK_PSC3_MCLK>;
393			clock-names = "ipg", "mclk";
394		};
395
396		/* PSC4 */
397		psc@11400 {
398			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
399			reg = <0x11400 0x100>;
400			interrupts = <40 0x8>;
401			fsl,rx-fifo-size = <16>;
402			fsl,tx-fifo-size = <16>;
403			clocks = <&clks MPC512x_CLK_PSC4>,
404				 <&clks MPC512x_CLK_PSC4_MCLK>;
405			clock-names = "ipg", "mclk";
406		};
407
408		/* PSC5 */
409		psc@11500 {
410			compatible = "fsl,mpc5121-psc";
411			reg = <0x11500 0x100>;
412			interrupts = <40 0x8>;
413			fsl,rx-fifo-size = <16>;
414			fsl,tx-fifo-size = <16>;
415			clocks = <&clks MPC512x_CLK_PSC5>,
416				 <&clks MPC512x_CLK_PSC5_MCLK>;
417			clock-names = "ipg", "mclk";
418		};
419
420		/* PSC6 */
421		psc@11600 {
422			compatible = "fsl,mpc5121-psc";
423			reg = <0x11600 0x100>;
424			interrupts = <40 0x8>;
425			fsl,rx-fifo-size = <16>;
426			fsl,tx-fifo-size = <16>;
427			clocks = <&clks MPC512x_CLK_PSC6>,
428				 <&clks MPC512x_CLK_PSC6_MCLK>;
429			clock-names = "ipg", "mclk";
430		};
431
432		/* PSC7 */
433		psc@11700 {
434			compatible = "fsl,mpc5121-psc";
435			reg = <0x11700 0x100>;
436			interrupts = <40 0x8>;
437			fsl,rx-fifo-size = <16>;
438			fsl,tx-fifo-size = <16>;
439			clocks = <&clks MPC512x_CLK_PSC7>,
440				 <&clks MPC512x_CLK_PSC7_MCLK>;
441			clock-names = "ipg", "mclk";
442		};
443
444		/* PSC8 */
445		psc@11800 {
446			compatible = "fsl,mpc5121-psc";
447			reg = <0x11800 0x100>;
448			interrupts = <40 0x8>;
449			fsl,rx-fifo-size = <16>;
450			fsl,tx-fifo-size = <16>;
451			clocks = <&clks MPC512x_CLK_PSC8>,
452				 <&clks MPC512x_CLK_PSC8_MCLK>;
453			clock-names = "ipg", "mclk";
454		};
455
456		/* PSC9 */
457		psc@11900 {
458			compatible = "fsl,mpc5121-psc";
459			reg = <0x11900 0x100>;
460			interrupts = <40 0x8>;
461			fsl,rx-fifo-size = <16>;
462			fsl,tx-fifo-size = <16>;
463			clocks = <&clks MPC512x_CLK_PSC9>,
464				 <&clks MPC512x_CLK_PSC9_MCLK>;
465			clock-names = "ipg", "mclk";
466		};
467
468		/* PSC10 */
469		psc@11a00 {
470			compatible = "fsl,mpc5121-psc";
471			reg = <0x11a00 0x100>;
472			interrupts = <40 0x8>;
473			fsl,rx-fifo-size = <16>;
474			fsl,tx-fifo-size = <16>;
475			clocks = <&clks MPC512x_CLK_PSC10>,
476				 <&clks MPC512x_CLK_PSC10_MCLK>;
477			clock-names = "ipg", "mclk";
478		};
479
480		/* PSC11 */
481		psc@11b00 {
482			compatible = "fsl,mpc5121-psc";
483			reg = <0x11b00 0x100>;
484			interrupts = <40 0x8>;
485			fsl,rx-fifo-size = <16>;
486			fsl,tx-fifo-size = <16>;
487			clocks = <&clks MPC512x_CLK_PSC11>,
488				 <&clks MPC512x_CLK_PSC11_MCLK>;
489			clock-names = "ipg", "mclk";
490		};
491
492		pscfifo@11f00 {
493			compatible = "fsl,mpc5121-psc-fifo";
494			reg = <0x11f00 0x100>;
495			interrupts = <40 0x8>;
496			clocks = <&clks MPC512x_CLK_PSC_FIFO>;
497			clock-names = "ipg";
498		};
499
500		dma0: dma@14000 {
501			compatible = "fsl,mpc5121-dma";
502			reg = <0x14000 0x1800>;
503			interrupts = <65 0x8>;
504			#dma-cells = <1>;
505		};
506	};
507
508	pci: pci@80008500 {
509		compatible = "fsl,mpc5121-pci";
510		device_type = "pci";
511		interrupts = <1 0x8>;
512		clock-frequency = <0>;
513		#address-cells = <3>;
514		#size-cells = <2>;
515		#interrupt-cells = <1>;
516		clocks = <&clks MPC512x_CLK_PCI>;
517		clock-names = "ipg";
518
519		reg = <0x80008500 0x100	/* internal registers */
520		       0x80008300 0x8>;	/* config space access registers */
521		bus-range = <0x0 0x0>;
522		ranges = <0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
523			  0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
524			  0x01000000 0x0 0x00000000 0x84000000 0x0 0x01000000>;
525	};
526};
v6.2
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * base MPC5121 Device Tree Source
  4 *
  5 * Copyright 2007-2008 Freescale Semiconductor Inc.
  6 */
  7
  8#include <dt-bindings/clock/mpc512x-clock.h>
  9
 10/dts-v1/;
 11
 12/ {
 13	model = "mpc5121";
 14	compatible = "fsl,mpc5121";
 15	#address-cells = <1>;
 16	#size-cells = <1>;
 17        interrupt-parent = <&ipic>;
 18
 19	aliases {
 20		ethernet0 = &eth0;
 21		pci = &pci;
 22	};
 23
 24	cpus {
 25		#address-cells = <1>;
 26		#size-cells = <0>;
 27
 28		PowerPC,5121@0 {
 29			device_type = "cpu";
 30			reg = <0>;
 31			d-cache-line-size = <0x20>;	/* 32 bytes */
 32			i-cache-line-size = <0x20>;	/* 32 bytes */
 33			d-cache-size = <0x8000>;	/* L1, 32K */
 34			i-cache-size = <0x8000>;	/* L1, 32K */
 35			timebase-frequency = <49500000>;/* 49.5 MHz (csb/4) */
 36			bus-frequency = <198000000>;	/* 198 MHz csb bus */
 37			clock-frequency = <396000000>;	/* 396 MHz ppc core */
 38		};
 39	};
 40
 41	memory {
 42		device_type = "memory";
 43		reg = <0x00000000 0x10000000>;	/* 256MB at 0 */
 44	};
 45
 46	mbx@20000000 {
 47		compatible = "fsl,mpc5121-mbx";
 48		reg = <0x20000000 0x4000>;
 49		interrupts = <66 0x8>;
 50		clocks = <&clks MPC512x_CLK_MBX_BUS>,
 51			 <&clks MPC512x_CLK_MBX_3D>,
 52			 <&clks MPC512x_CLK_MBX>;
 53		clock-names = "mbx-bus", "mbx-3d", "mbx";
 54	};
 55
 56	sram@30000000 {
 57		compatible = "fsl,mpc5121-sram";
 58		reg = <0x30000000 0x20000>;	/* 128K at 0x30000000 */
 59	};
 60
 61	nfc@40000000 {
 62		compatible = "fsl,mpc5121-nfc";
 63		reg = <0x40000000 0x100000>;	/* 1M at 0x40000000 */
 64		interrupts = <6 8>;
 65		#address-cells = <1>;
 66		#size-cells = <1>;
 67		clocks = <&clks MPC512x_CLK_NFC>;
 68		clock-names = "ipg";
 69	};
 70
 71	localbus@80000020 {
 72		compatible = "fsl,mpc5121-localbus";
 73		#address-cells = <2>;
 74		#size-cells = <1>;
 75		reg = <0x80000020 0x40>;
 76		ranges = <0x0 0x0 0xfc000000 0x04000000>;
 77	};
 78
 79	clocks {
 80		#address-cells = <1>;
 81		#size-cells = <0>;
 82
 83		osc: osc {
 84			compatible = "fixed-clock";
 85			#clock-cells = <0>;
 86			clock-frequency = <33000000>;
 87		};
 88	};
 89
 90	soc@80000000 {
 91		compatible = "fsl,mpc5121-immr";
 92		#address-cells = <1>;
 93		#size-cells = <1>;
 94		ranges = <0x0 0x80000000 0x400000>;
 95		reg = <0x80000000 0x400000>;
 96		bus-frequency = <66000000>;	/* 66 MHz ips bus */
 97
 98
 99		/*
100		 * IPIC
101		 * interrupts cell = <intr #, sense>
102		 * sense values match linux IORESOURCE_IRQ_* defines:
103		 * sense == 8: Level, low assertion
104		 * sense == 2: Edge, high-to-low change
105		 */
106		ipic: interrupt-controller@c00 {
107			compatible = "fsl,mpc5121-ipic", "fsl,ipic";
108			interrupt-controller;
109			#address-cells = <0>;
110			#interrupt-cells = <2>;
111			reg = <0xc00 0x100>;
112		};
113
114		/* Watchdog timer */
115		wdt@900 {
116			compatible = "fsl,mpc5121-wdt";
117			reg = <0x900 0x100>;
118		};
119
120		/* Real time clock */
121		rtc@a00 {
122			compatible = "fsl,mpc5121-rtc";
123			reg = <0xa00 0x100>;
124			interrupts = <79 0x8 80 0x8>;
125		};
126
127		/* Reset module */
128		reset@e00 {
129			compatible = "fsl,mpc5121-reset";
130			reg = <0xe00 0x100>;
131		};
132
133		/* Clock control */
134		clks: clock@f00 {
135			compatible = "fsl,mpc5121-clock";
136			reg = <0xf00 0x100>;
137			#clock-cells = <1>;
138			clocks = <&osc>;
139			clock-names = "osc";
140		};
141
142		/* Power Management Controller */
143		pmc@1000{
144			compatible = "fsl,mpc5121-pmc";
145			reg = <0x1000 0x100>;
146			interrupts = <83 0x8>;
147		};
148
149		gpio@1100 {
150			compatible = "fsl,mpc5121-gpio";
151			reg = <0x1100 0x100>;
152			interrupts = <78 0x8>;
153		};
154
155		can@1300 {
156			compatible = "fsl,mpc5121-mscan";
157			reg = <0x1300 0x80>;
158			interrupts = <12 0x8>;
159			clocks = <&clks MPC512x_CLK_BDLC>,
160				 <&clks MPC512x_CLK_IPS>,
161				 <&clks MPC512x_CLK_SYS>,
162				 <&clks MPC512x_CLK_REF>,
163				 <&clks MPC512x_CLK_MSCAN0_MCLK>;
164			clock-names = "ipg", "ips", "sys", "ref", "mclk";
165		};
166
167		can@1380 {
168			compatible = "fsl,mpc5121-mscan";
169			reg = <0x1380 0x80>;
170			interrupts = <13 0x8>;
171			clocks = <&clks MPC512x_CLK_BDLC>,
172				 <&clks MPC512x_CLK_IPS>,
173				 <&clks MPC512x_CLK_SYS>,
174				 <&clks MPC512x_CLK_REF>,
175				 <&clks MPC512x_CLK_MSCAN1_MCLK>;
176			clock-names = "ipg", "ips", "sys", "ref", "mclk";
177		};
178
179		sdhc@1500 {
180			compatible = "fsl,mpc5121-sdhc";
181			reg = <0x1500 0x100>;
182			interrupts = <8 0x8>;
183			dmas = <&dma0 30>;
184			dma-names = "rx-tx";
185			clocks = <&clks MPC512x_CLK_IPS>,
186				 <&clks MPC512x_CLK_SDHC>;
187			clock-names = "ipg", "per";
188		};
189
190		i2c@1700 {
191			#address-cells = <1>;
192			#size-cells = <0>;
193			compatible = "fsl,mpc5121-i2c", "fsl-i2c";
194			reg = <0x1700 0x20>;
195			interrupts = <9 0x8>;
196			clocks = <&clks MPC512x_CLK_I2C>;
197			clock-names = "ipg";
198		};
199
200		i2c@1720 {
201			#address-cells = <1>;
202			#size-cells = <0>;
203			compatible = "fsl,mpc5121-i2c", "fsl-i2c";
204			reg = <0x1720 0x20>;
205			interrupts = <10 0x8>;
206			clocks = <&clks MPC512x_CLK_I2C>;
207			clock-names = "ipg";
208		};
209
210		i2c@1740 {
211			#address-cells = <1>;
212			#size-cells = <0>;
213			compatible = "fsl,mpc5121-i2c", "fsl-i2c";
214			reg = <0x1740 0x20>;
215			interrupts = <11 0x8>;
216			clocks = <&clks MPC512x_CLK_I2C>;
217			clock-names = "ipg";
218		};
219
220		i2ccontrol@1760 {
221			compatible = "fsl,mpc5121-i2c-ctrl";
222			reg = <0x1760 0x8>;
223		};
224
225		axe@2000 {
226			compatible = "fsl,mpc5121-axe";
227			reg = <0x2000 0x100>;
228			interrupts = <42 0x8>;
229			clocks = <&clks MPC512x_CLK_AXE>;
230			clock-names = "ipg";
231		};
232
233		display@2100 {
234			compatible = "fsl,mpc5121-diu";
235			reg = <0x2100 0x100>;
236			interrupts = <64 0x8>;
237			clocks = <&clks MPC512x_CLK_DIU>;
238			clock-names = "ipg";
239		};
240
241		can@2300 {
242			compatible = "fsl,mpc5121-mscan";
243			reg = <0x2300 0x80>;
244			interrupts = <90 0x8>;
245			clocks = <&clks MPC512x_CLK_BDLC>,
246				 <&clks MPC512x_CLK_IPS>,
247				 <&clks MPC512x_CLK_SYS>,
248				 <&clks MPC512x_CLK_REF>,
249				 <&clks MPC512x_CLK_MSCAN2_MCLK>;
250			clock-names = "ipg", "ips", "sys", "ref", "mclk";
251		};
252
253		can@2380 {
254			compatible = "fsl,mpc5121-mscan";
255			reg = <0x2380 0x80>;
256			interrupts = <91 0x8>;
257			clocks = <&clks MPC512x_CLK_BDLC>,
258				 <&clks MPC512x_CLK_IPS>,
259				 <&clks MPC512x_CLK_SYS>,
260				 <&clks MPC512x_CLK_REF>,
261				 <&clks MPC512x_CLK_MSCAN3_MCLK>;
262			clock-names = "ipg", "ips", "sys", "ref", "mclk";
263		};
264
265		viu@2400 {
266			compatible = "fsl,mpc5121-viu";
267			reg = <0x2400 0x400>;
268			interrupts = <67 0x8>;
269			clocks = <&clks MPC512x_CLK_VIU>;
270			clock-names = "ipg";
271		};
272
273		mdio@2800 {
274			compatible = "fsl,mpc5121-fec-mdio";
275			reg = <0x2800 0x800>;
276			#address-cells = <1>;
277			#size-cells = <0>;
278			clocks = <&clks MPC512x_CLK_FEC>;
279			clock-names = "per";
280		};
281
282		eth0: ethernet@2800 {
283			device_type = "network";
284			compatible = "fsl,mpc5121-fec";
285			reg = <0x2800 0x800>;
286			local-mac-address = [ 00 00 00 00 00 00 ];
287			interrupts = <4 0x8>;
288			clocks = <&clks MPC512x_CLK_FEC>;
289			clock-names = "per";
290		};
291
292		/* USB1 using external ULPI PHY */
293		usb@3000 {
294			compatible = "fsl,mpc5121-usb2-dr";
295			reg = <0x3000 0x600>;
296			#address-cells = <1>;
297			#size-cells = <0>;
298			interrupts = <43 0x8>;
299			dr_mode = "otg";
300			phy_type = "ulpi";
301			clocks = <&clks MPC512x_CLK_USB1>;
302			clock-names = "ipg";
303		};
304
305		/* USB0 using internal UTMI PHY */
306		usb@4000 {
307			compatible = "fsl,mpc5121-usb2-dr";
308			reg = <0x4000 0x600>;
309			#address-cells = <1>;
310			#size-cells = <0>;
311			interrupts = <44 0x8>;
312			dr_mode = "otg";
313			phy_type = "utmi_wide";
314			clocks = <&clks MPC512x_CLK_USB2>;
315			clock-names = "ipg";
316		};
317
318		/* IO control */
319		ioctl@a000 {
320			compatible = "fsl,mpc5121-ioctl";
321			reg = <0xA000 0x1000>;
322		};
323
324		/* LocalPlus controller */
325		lpc@10000 {
326			compatible = "fsl,mpc5121-lpc";
327			reg = <0x10000 0x100>;
328		};
329
330		sclpc@10100 {
331			compatible = "fsl,mpc512x-lpbfifo";
332			reg = <0x10100 0x50>;
333			interrupts = <7 0x8>;
334			dmas = <&dma0 26>;
335			dma-names = "rx-tx";
336		};
337
338		pata@10200 {
339			compatible = "fsl,mpc5121-pata";
340			reg = <0x10200 0x100>;
341			interrupts = <5 0x8>;
342			clocks = <&clks MPC512x_CLK_PATA>;
343			clock-names = "ipg";
344		};
345
346		/* 512x PSCs are not 52xx PSC compatible */
347
348		/* PSC0 */
349		psc@11000 {
350			compatible = "fsl,mpc5121-psc";
351			reg = <0x11000 0x100>;
352			interrupts = <40 0x8>;
353			fsl,rx-fifo-size = <16>;
354			fsl,tx-fifo-size = <16>;
355			clocks = <&clks MPC512x_CLK_PSC0>,
356				 <&clks MPC512x_CLK_PSC0_MCLK>;
357			clock-names = "ipg", "mclk";
358		};
359
360		/* PSC1 */
361		psc@11100 {
362			compatible = "fsl,mpc5121-psc";
363			reg = <0x11100 0x100>;
364			interrupts = <40 0x8>;
365			fsl,rx-fifo-size = <16>;
366			fsl,tx-fifo-size = <16>;
367			clocks = <&clks MPC512x_CLK_PSC1>,
368				 <&clks MPC512x_CLK_PSC1_MCLK>;
369			clock-names = "ipg", "mclk";
370		};
371
372		/* PSC2 */
373		psc@11200 {
374			compatible = "fsl,mpc5121-psc";
375			reg = <0x11200 0x100>;
376			interrupts = <40 0x8>;
377			fsl,rx-fifo-size = <16>;
378			fsl,tx-fifo-size = <16>;
379			clocks = <&clks MPC512x_CLK_PSC2>,
380				 <&clks MPC512x_CLK_PSC2_MCLK>;
381			clock-names = "ipg", "mclk";
382		};
383
384		/* PSC3 */
385		psc@11300 {
386			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
387			reg = <0x11300 0x100>;
388			interrupts = <40 0x8>;
389			fsl,rx-fifo-size = <16>;
390			fsl,tx-fifo-size = <16>;
391			clocks = <&clks MPC512x_CLK_PSC3>,
392				 <&clks MPC512x_CLK_PSC3_MCLK>;
393			clock-names = "ipg", "mclk";
394		};
395
396		/* PSC4 */
397		psc@11400 {
398			compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
399			reg = <0x11400 0x100>;
400			interrupts = <40 0x8>;
401			fsl,rx-fifo-size = <16>;
402			fsl,tx-fifo-size = <16>;
403			clocks = <&clks MPC512x_CLK_PSC4>,
404				 <&clks MPC512x_CLK_PSC4_MCLK>;
405			clock-names = "ipg", "mclk";
406		};
407
408		/* PSC5 */
409		psc@11500 {
410			compatible = "fsl,mpc5121-psc";
411			reg = <0x11500 0x100>;
412			interrupts = <40 0x8>;
413			fsl,rx-fifo-size = <16>;
414			fsl,tx-fifo-size = <16>;
415			clocks = <&clks MPC512x_CLK_PSC5>,
416				 <&clks MPC512x_CLK_PSC5_MCLK>;
417			clock-names = "ipg", "mclk";
418		};
419
420		/* PSC6 */
421		psc@11600 {
422			compatible = "fsl,mpc5121-psc";
423			reg = <0x11600 0x100>;
424			interrupts = <40 0x8>;
425			fsl,rx-fifo-size = <16>;
426			fsl,tx-fifo-size = <16>;
427			clocks = <&clks MPC512x_CLK_PSC6>,
428				 <&clks MPC512x_CLK_PSC6_MCLK>;
429			clock-names = "ipg", "mclk";
430		};
431
432		/* PSC7 */
433		psc@11700 {
434			compatible = "fsl,mpc5121-psc";
435			reg = <0x11700 0x100>;
436			interrupts = <40 0x8>;
437			fsl,rx-fifo-size = <16>;
438			fsl,tx-fifo-size = <16>;
439			clocks = <&clks MPC512x_CLK_PSC7>,
440				 <&clks MPC512x_CLK_PSC7_MCLK>;
441			clock-names = "ipg", "mclk";
442		};
443
444		/* PSC8 */
445		psc@11800 {
446			compatible = "fsl,mpc5121-psc";
447			reg = <0x11800 0x100>;
448			interrupts = <40 0x8>;
449			fsl,rx-fifo-size = <16>;
450			fsl,tx-fifo-size = <16>;
451			clocks = <&clks MPC512x_CLK_PSC8>,
452				 <&clks MPC512x_CLK_PSC8_MCLK>;
453			clock-names = "ipg", "mclk";
454		};
455
456		/* PSC9 */
457		psc@11900 {
458			compatible = "fsl,mpc5121-psc";
459			reg = <0x11900 0x100>;
460			interrupts = <40 0x8>;
461			fsl,rx-fifo-size = <16>;
462			fsl,tx-fifo-size = <16>;
463			clocks = <&clks MPC512x_CLK_PSC9>,
464				 <&clks MPC512x_CLK_PSC9_MCLK>;
465			clock-names = "ipg", "mclk";
466		};
467
468		/* PSC10 */
469		psc@11a00 {
470			compatible = "fsl,mpc5121-psc";
471			reg = <0x11a00 0x100>;
472			interrupts = <40 0x8>;
473			fsl,rx-fifo-size = <16>;
474			fsl,tx-fifo-size = <16>;
475			clocks = <&clks MPC512x_CLK_PSC10>,
476				 <&clks MPC512x_CLK_PSC10_MCLK>;
477			clock-names = "ipg", "mclk";
478		};
479
480		/* PSC11 */
481		psc@11b00 {
482			compatible = "fsl,mpc5121-psc";
483			reg = <0x11b00 0x100>;
484			interrupts = <40 0x8>;
485			fsl,rx-fifo-size = <16>;
486			fsl,tx-fifo-size = <16>;
487			clocks = <&clks MPC512x_CLK_PSC11>,
488				 <&clks MPC512x_CLK_PSC11_MCLK>;
489			clock-names = "ipg", "mclk";
490		};
491
492		pscfifo@11f00 {
493			compatible = "fsl,mpc5121-psc-fifo";
494			reg = <0x11f00 0x100>;
495			interrupts = <40 0x8>;
496			clocks = <&clks MPC512x_CLK_PSC_FIFO>;
497			clock-names = "ipg";
498		};
499
500		dma0: dma@14000 {
501			compatible = "fsl,mpc5121-dma";
502			reg = <0x14000 0x1800>;
503			interrupts = <65 0x8>;
504			#dma-cells = <1>;
505		};
506	};
507
508	pci: pci@80008500 {
509		compatible = "fsl,mpc5121-pci";
510		device_type = "pci";
511		interrupts = <1 0x8>;
512		clock-frequency = <0>;
513		#address-cells = <3>;
514		#size-cells = <2>;
515		#interrupt-cells = <1>;
516		clocks = <&clks MPC512x_CLK_PCI>;
517		clock-names = "ipg";
518
519		reg = <0x80008500 0x100	/* internal registers */
520		       0x80008300 0x8>;	/* config space access registers */
521		bus-range = <0x0 0x0>;
522		ranges = <0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
523			  0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
524			  0x01000000 0x0 0x00000000 0x84000000 0x0 0x01000000>;
525	};
526};