Linux Audio

Check our new training course

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