18bd3b709SMarian Balakowicz/*
28bd3b709SMarian Balakowicz * CM5200 board Device Tree Source
38bd3b709SMarian Balakowicz *
48bd3b709SMarian Balakowicz * Copyright (C) 2007 Semihalf
58bd3b709SMarian Balakowicz * Marian Balakowicz <m8@semihalf.com>
68bd3b709SMarian Balakowicz *
78bd3b709SMarian Balakowicz * This program is free software; you can redistribute  it and/or modify it
88bd3b709SMarian Balakowicz * under  the terms of  the GNU General  Public License as published by the
98bd3b709SMarian Balakowicz * Free Software Foundation;  either version 2 of the  License, or (at your
108bd3b709SMarian Balakowicz * option) any later version.
118bd3b709SMarian Balakowicz */
128bd3b709SMarian Balakowicz
13a2884f37SGrant Likely/dts-v1/;
148bd3b709SMarian Balakowicz
158bd3b709SMarian Balakowicz/ {
168bd3b709SMarian Balakowicz	model = "schindler,cm5200";
178bd3b709SMarian Balakowicz	compatible = "schindler,cm5200";
188bd3b709SMarian Balakowicz	#address-cells = <1>;
198bd3b709SMarian Balakowicz	#size-cells = <1>;
208bd3b709SMarian Balakowicz
218bd3b709SMarian Balakowicz	cpus {
228bd3b709SMarian Balakowicz		#address-cells = <1>;
238bd3b709SMarian Balakowicz		#size-cells = <0>;
248bd3b709SMarian Balakowicz
258bd3b709SMarian Balakowicz		PowerPC,5200@0 {
268bd3b709SMarian Balakowicz			device_type = "cpu";
278bd3b709SMarian Balakowicz			reg = <0>;
28a2884f37SGrant Likely			d-cache-line-size = <32>;
29a2884f37SGrant Likely			i-cache-line-size = <32>;
30a2884f37SGrant Likely			d-cache-size = <0x4000>;		// L1, 16K
31a2884f37SGrant Likely			i-cache-size = <0x4000>;		// L1, 16K
328bd3b709SMarian Balakowicz			timebase-frequency = <0>;	// from bootloader
338bd3b709SMarian Balakowicz			bus-frequency = <0>;		// from bootloader
348bd3b709SMarian Balakowicz			clock-frequency = <0>;		// from bootloader
358bd3b709SMarian Balakowicz		};
368bd3b709SMarian Balakowicz	};
378bd3b709SMarian Balakowicz
388bd3b709SMarian Balakowicz	memory {
398bd3b709SMarian Balakowicz		device_type = "memory";
40a2884f37SGrant Likely		reg = <0x00000000 0x04000000>;	// 64MB
418bd3b709SMarian Balakowicz	};
428bd3b709SMarian Balakowicz
438bd3b709SMarian Balakowicz	soc5200@f0000000 {
4458a5be39SPaul Gortmaker		#address-cells = <1>;
4558a5be39SPaul Gortmaker		#size-cells = <1>;
4624ce6bc4SGrant Likely		compatible = "fsl,mpc5200b-immr";
47a2884f37SGrant Likely		ranges = <0 0xf0000000 0x0000c000>;
48a2884f37SGrant Likely		reg = <0xf0000000 0x00000100>;
498bd3b709SMarian Balakowicz		bus-frequency = <0>;		// from bootloader
508bd3b709SMarian Balakowicz		system-frequency = <0>;		// from bootloader
518bd3b709SMarian Balakowicz
528bd3b709SMarian Balakowicz		cdm@200 {
5324ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
54a2884f37SGrant Likely			reg = <0x200 0x38>;
558bd3b709SMarian Balakowicz		};
568bd3b709SMarian Balakowicz
57a2884f37SGrant Likely		mpc5200_pic: interrupt-controller@500 {
588bd3b709SMarian Balakowicz			// 5200 interrupts are encoded into two levels;
598bd3b709SMarian Balakowicz			interrupt-controller;
608bd3b709SMarian Balakowicz			#interrupt-cells = <3>;
6124ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
62a2884f37SGrant Likely			reg = <0x500 0x80>;
638bd3b709SMarian Balakowicz		};
648bd3b709SMarian Balakowicz
6524ce6bc4SGrant Likely		timer@600 {	// General Purpose Timer
668bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
67a2884f37SGrant Likely			reg = <0x600 0x10>;
688bd3b709SMarian Balakowicz			interrupts = <1 9 0>;
698bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
708bd3b709SMarian Balakowicz			fsl,has-wdt;
718bd3b709SMarian Balakowicz		};
728bd3b709SMarian Balakowicz
7324ce6bc4SGrant Likely		timer@610 {	// General Purpose Timer
748bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
75a2884f37SGrant Likely			reg = <0x610 0x10>;
76a2884f37SGrant Likely			interrupts = <1 10 0>;
778bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
788bd3b709SMarian Balakowicz		};
798bd3b709SMarian Balakowicz
8024ce6bc4SGrant Likely		timer@620 {	// General Purpose Timer
818bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
82a2884f37SGrant Likely			reg = <0x620 0x10>;
83a2884f37SGrant Likely			interrupts = <1 11 0>;
848bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
858bd3b709SMarian Balakowicz		};
868bd3b709SMarian Balakowicz
8724ce6bc4SGrant Likely		timer@630 {	// General Purpose Timer
888bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
89a2884f37SGrant Likely			reg = <0x630 0x10>;
90a2884f37SGrant Likely			interrupts = <1 12 0>;
918bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
928bd3b709SMarian Balakowicz		};
938bd3b709SMarian Balakowicz
9424ce6bc4SGrant Likely		timer@640 {	// General Purpose Timer
958bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
96a2884f37SGrant Likely			reg = <0x640 0x10>;
97a2884f37SGrant Likely			interrupts = <1 13 0>;
988bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
998bd3b709SMarian Balakowicz		};
1008bd3b709SMarian Balakowicz
10124ce6bc4SGrant Likely		timer@650 {	// General Purpose Timer
1028bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
103a2884f37SGrant Likely			reg = <0x650 0x10>;
104a2884f37SGrant Likely			interrupts = <1 14 0>;
1058bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1068bd3b709SMarian Balakowicz		};
1078bd3b709SMarian Balakowicz
10824ce6bc4SGrant Likely		timer@660 {	// General Purpose Timer
1098bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
110a2884f37SGrant Likely			reg = <0x660 0x10>;
111a2884f37SGrant Likely			interrupts = <1 15 0>;
1128bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1138bd3b709SMarian Balakowicz		};
1148bd3b709SMarian Balakowicz
11524ce6bc4SGrant Likely		timer@670 {	// General Purpose Timer
1168bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
117a2884f37SGrant Likely			reg = <0x670 0x10>;
118a2884f37SGrant Likely			interrupts = <1 16 0>;
1198bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1208bd3b709SMarian Balakowicz		};
1218bd3b709SMarian Balakowicz
1228bd3b709SMarian Balakowicz		rtc@800 {	// Real time clock
12324ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
124a2884f37SGrant Likely			reg = <0x800 0x100>;
1258bd3b709SMarian Balakowicz			interrupts = <1 5 0 1 6 0>;
1268bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1278bd3b709SMarian Balakowicz		};
1288bd3b709SMarian Balakowicz
1298bd3b709SMarian Balakowicz		gpio@b00 {
13024ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
131a2884f37SGrant Likely			reg = <0xb00 0x40>;
1328bd3b709SMarian Balakowicz			interrupts = <1 7 0>;
1338bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1348bd3b709SMarian Balakowicz		};
1358bd3b709SMarian Balakowicz
13624ce6bc4SGrant Likely		gpio@c00 {
13724ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
138a2884f37SGrant Likely			reg = <0xc00 0x40>;
1398bd3b709SMarian Balakowicz			interrupts = <1 8 0 0 3 0>;
1408bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1418bd3b709SMarian Balakowicz		};
1428bd3b709SMarian Balakowicz
1438bd3b709SMarian Balakowicz		spi@f00 {
14424ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
145a2884f37SGrant Likely			reg = <0xf00 0x20>;
146a2884f37SGrant Likely			interrupts = <2 13 0 2 14 0>;
1478bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1488bd3b709SMarian Balakowicz		};
1498bd3b709SMarian Balakowicz
1508bd3b709SMarian Balakowicz		usb@1000 {
15124ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
152a2884f37SGrant Likely			reg = <0x1000 0xff>;
1538bd3b709SMarian Balakowicz			interrupts = <2 6 0>;
1548bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1558bd3b709SMarian Balakowicz		};
1568bd3b709SMarian Balakowicz
1578bd3b709SMarian Balakowicz		dma-controller@1200 {
15824ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
159a2884f37SGrant Likely			reg = <0x1200 0x80>;
1608bd3b709SMarian Balakowicz			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
1618bd3b709SMarian Balakowicz			              3 4 0  3 5 0  3 6 0  3 7 0
162a2884f37SGrant Likely			              3 8 0  3 9 0  3 10 0  3 11 0
163a2884f37SGrant Likely			              3 12 0  3 13 0  3 14 0  3 15 0>;
1648bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1658bd3b709SMarian Balakowicz		};
1668bd3b709SMarian Balakowicz
1678bd3b709SMarian Balakowicz		xlb@1f00 {
16824ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb";
169a2884f37SGrant Likely			reg = <0x1f00 0x100>;
1708bd3b709SMarian Balakowicz		};
1718bd3b709SMarian Balakowicz
1728bd3b709SMarian Balakowicz		serial@2000 {		// PSC1
1738bd3b709SMarian Balakowicz			device_type = "serial";
17424ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
1758bd3b709SMarian Balakowicz			port-number = <0>;  // Logical port assignment
176a2884f37SGrant Likely			reg = <0x2000 0x100>;
1778bd3b709SMarian Balakowicz			interrupts = <2 1 0>;
1788bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1798bd3b709SMarian Balakowicz		};
1808bd3b709SMarian Balakowicz
1818bd3b709SMarian Balakowicz		serial@2200 {		// PSC2
1828bd3b709SMarian Balakowicz			device_type = "serial";
18324ce6bc4SGrant Likely			compatible = "fsl,mpc5200-psc-uart";
1848bd3b709SMarian Balakowicz			port-number = <1>;  // Logical port assignment
185a2884f37SGrant Likely			reg = <0x2200 0x100>;
1868bd3b709SMarian Balakowicz			interrupts = <2 2 0>;
1878bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1888bd3b709SMarian Balakowicz		};
1898bd3b709SMarian Balakowicz
1908bd3b709SMarian Balakowicz		serial@2400 {		// PSC3
1918bd3b709SMarian Balakowicz			device_type = "serial";
19224ce6bc4SGrant Likely			compatible = "fsl,mpc5200-psc-uart";
1938bd3b709SMarian Balakowicz			port-number = <2>;  // Logical port assignment
194a2884f37SGrant Likely			reg = <0x2400 0x100>;
1958bd3b709SMarian Balakowicz			interrupts = <2 3 0>;
1968bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1978bd3b709SMarian Balakowicz		};
1988bd3b709SMarian Balakowicz
1998bd3b709SMarian Balakowicz		serial@2c00 {		// PSC6
2008bd3b709SMarian Balakowicz			device_type = "serial";
20124ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
2028bd3b709SMarian Balakowicz			port-number = <5>;  // Logical port assignment
203a2884f37SGrant Likely			reg = <0x2c00 0x100>;
2048bd3b709SMarian Balakowicz			interrupts = <2 4 0>;
2058bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2068bd3b709SMarian Balakowicz		};
2078bd3b709SMarian Balakowicz
2088bd3b709SMarian Balakowicz		ethernet@3000 {
2098bd3b709SMarian Balakowicz			device_type = "network";
21024ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
211a2884f37SGrant Likely			reg = <0x3000 0x400>;
21224ce6bc4SGrant Likely			local-mac-address = [ 00 00 00 00 00 00 ];
2138bd3b709SMarian Balakowicz			interrupts = <2 5 0>;
2148bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
215115e1adcSBartlomiej Sieka			phy-handle = <&phy0>;
216115e1adcSBartlomiej Sieka		};
217115e1adcSBartlomiej Sieka
218115e1adcSBartlomiej Sieka		mdio@3000 {
219115e1adcSBartlomiej Sieka			#address-cells = <1>;
220115e1adcSBartlomiej Sieka			#size-cells = <0>;
221115e1adcSBartlomiej Sieka			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
222a2884f37SGrant Likely			reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
223115e1adcSBartlomiej Sieka			interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
224115e1adcSBartlomiej Sieka			interrupt-parent = <&mpc5200_pic>;
225115e1adcSBartlomiej Sieka
226115e1adcSBartlomiej Sieka			phy0: ethernet-phy@0 {
227115e1adcSBartlomiej Sieka				device_type = "ethernet-phy";
228115e1adcSBartlomiej Sieka				reg = <0>;
229115e1adcSBartlomiej Sieka			};
2308bd3b709SMarian Balakowicz		};
2318bd3b709SMarian Balakowicz
2328bd3b709SMarian Balakowicz		i2c@3d40 {
233115e1adcSBartlomiej Sieka			#address-cells = <1>;
234115e1adcSBartlomiej Sieka			#size-cells = <0>;
23524ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
236a2884f37SGrant Likely			reg = <0x3d40 0x40>;
237a2884f37SGrant Likely			interrupts = <2 16 0>;
2388bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2398bd3b709SMarian Balakowicz			fsl5200-clocking;
2408bd3b709SMarian Balakowicz		};
2418bd3b709SMarian Balakowicz
2428bd3b709SMarian Balakowicz		sram@8000 {
24324ce6bc4SGrant Likely			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
244a2884f37SGrant Likely			reg = <0x8000 0x4000>;
2458bd3b709SMarian Balakowicz		};
2468bd3b709SMarian Balakowicz	};
247115e1adcSBartlomiej Sieka
248115e1adcSBartlomiej Sieka	lpb {
249115e1adcSBartlomiej Sieka		model = "fsl,lpb";
250115e1adcSBartlomiej Sieka		compatible = "fsl,lpb";
251115e1adcSBartlomiej Sieka		#address-cells = <2>;
252115e1adcSBartlomiej Sieka		#size-cells = <1>;
253a2884f37SGrant Likely		ranges = <0 0 0xfc000000 0x2000000>;
254115e1adcSBartlomiej Sieka
255115e1adcSBartlomiej Sieka		// 16-bit flash device at LocalPlus Bus CS0
256115e1adcSBartlomiej Sieka		flash@0,0 {
257115e1adcSBartlomiej Sieka			compatible = "cfi-flash";
258a2884f37SGrant Likely			reg = <0 0 0x2000000>;
259115e1adcSBartlomiej Sieka			bank-width = <2>;
260115e1adcSBartlomiej Sieka			device-width = <2>;
261115e1adcSBartlomiej Sieka			#size-cells = <1>;
262115e1adcSBartlomiej Sieka			#address-cells = <1>;
263115e1adcSBartlomiej Sieka		};
264115e1adcSBartlomiej Sieka	};
2658bd3b709SMarian Balakowicz};
266