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
138bd3b709SMarian Balakowicz/*
148bd3b709SMarian Balakowicz * WARNING: Do not depend on this tree layout remaining static just yet.
158bd3b709SMarian Balakowicz * The MPC5200 device tree conventions are still in flux
168bd3b709SMarian Balakowicz * Keep an eye on the linuxppc-dev mailing list for more details
178bd3b709SMarian Balakowicz */
188bd3b709SMarian Balakowicz
198bd3b709SMarian Balakowicz/ {
208bd3b709SMarian Balakowicz	model = "schindler,cm5200";
218bd3b709SMarian Balakowicz	compatible = "schindler,cm5200";
228bd3b709SMarian Balakowicz	#address-cells = <1>;
238bd3b709SMarian Balakowicz	#size-cells = <1>;
248bd3b709SMarian Balakowicz
258bd3b709SMarian Balakowicz	cpus {
268bd3b709SMarian Balakowicz		#address-cells = <1>;
278bd3b709SMarian Balakowicz		#size-cells = <0>;
288bd3b709SMarian Balakowicz
298bd3b709SMarian Balakowicz		PowerPC,5200@0 {
308bd3b709SMarian Balakowicz			device_type = "cpu";
318bd3b709SMarian Balakowicz			reg = <0>;
328bd3b709SMarian Balakowicz			d-cache-line-size = <20>;
338bd3b709SMarian Balakowicz			i-cache-line-size = <20>;
348bd3b709SMarian Balakowicz			d-cache-size = <4000>;		// L1, 16K
358bd3b709SMarian Balakowicz			i-cache-size = <4000>;		// L1, 16K
368bd3b709SMarian Balakowicz			timebase-frequency = <0>;	// from bootloader
378bd3b709SMarian Balakowicz			bus-frequency = <0>;		// from bootloader
388bd3b709SMarian Balakowicz			clock-frequency = <0>;		// from bootloader
398bd3b709SMarian Balakowicz		};
408bd3b709SMarian Balakowicz	};
418bd3b709SMarian Balakowicz
428bd3b709SMarian Balakowicz	memory {
438bd3b709SMarian Balakowicz		device_type = "memory";
448bd3b709SMarian Balakowicz		reg = <00000000 04000000>;	// 64MB
458bd3b709SMarian Balakowicz	};
468bd3b709SMarian Balakowicz
478bd3b709SMarian Balakowicz	soc5200@f0000000 {
4858a5be39SPaul Gortmaker		#address-cells = <1>;
4958a5be39SPaul Gortmaker		#size-cells = <1>;
508bd3b709SMarian Balakowicz		model = "fsl,mpc5200b";
518bd3b709SMarian Balakowicz		compatible = "fsl,mpc5200b";
528bd3b709SMarian Balakowicz		revision = "";			// from bootloader
538bd3b709SMarian Balakowicz		device_type = "soc";
548bd3b709SMarian Balakowicz		ranges = <0 f0000000 0000c000>;
558bd3b709SMarian Balakowicz		reg = <f0000000 00000100>;
568bd3b709SMarian Balakowicz		bus-frequency = <0>;		// from bootloader
578bd3b709SMarian Balakowicz		system-frequency = <0>;		// from bootloader
588bd3b709SMarian Balakowicz
598bd3b709SMarian Balakowicz		cdm@200 {
608bd3b709SMarian Balakowicz			compatible = "mpc5200b-cdm","mpc5200-cdm";
618bd3b709SMarian Balakowicz			reg = <200 38>;
628bd3b709SMarian Balakowicz		};
638bd3b709SMarian Balakowicz
648bd3b709SMarian Balakowicz		mpc5200_pic: pic@500 {
658bd3b709SMarian Balakowicz			// 5200 interrupts are encoded into two levels;
668bd3b709SMarian Balakowicz			interrupt-controller;
678bd3b709SMarian Balakowicz			#interrupt-cells = <3>;
688bd3b709SMarian Balakowicz			compatible = "mpc5200b-pic","mpc5200-pic";
698bd3b709SMarian Balakowicz			reg = <500 80>;
708bd3b709SMarian Balakowicz		};
718bd3b709SMarian Balakowicz
728bd3b709SMarian Balakowicz		gpt@600 {	// General Purpose Timer
738bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
748bd3b709SMarian Balakowicz			reg = <600 10>;
758bd3b709SMarian Balakowicz			interrupts = <1 9 0>;
768bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
778bd3b709SMarian Balakowicz			fsl,has-wdt;
788bd3b709SMarian Balakowicz		};
798bd3b709SMarian Balakowicz
808bd3b709SMarian Balakowicz		gpt@610 {	// General Purpose Timer
818bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
828bd3b709SMarian Balakowicz			reg = <610 10>;
838bd3b709SMarian Balakowicz			interrupts = <1 a 0>;
848bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
858bd3b709SMarian Balakowicz		};
868bd3b709SMarian Balakowicz
878bd3b709SMarian Balakowicz		gpt@620 {	// General Purpose Timer
888bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
898bd3b709SMarian Balakowicz			reg = <620 10>;
908bd3b709SMarian Balakowicz			interrupts = <1 b 0>;
918bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
928bd3b709SMarian Balakowicz		};
938bd3b709SMarian Balakowicz
948bd3b709SMarian Balakowicz		gpt@630 {	// General Purpose Timer
958bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
968bd3b709SMarian Balakowicz			reg = <630 10>;
978bd3b709SMarian Balakowicz			interrupts = <1 c 0>;
988bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
998bd3b709SMarian Balakowicz		};
1008bd3b709SMarian Balakowicz
1018bd3b709SMarian Balakowicz		gpt@640 {	// General Purpose Timer
1028bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1038bd3b709SMarian Balakowicz			reg = <640 10>;
1048bd3b709SMarian Balakowicz			interrupts = <1 d 0>;
1058bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1068bd3b709SMarian Balakowicz		};
1078bd3b709SMarian Balakowicz
1088bd3b709SMarian Balakowicz		gpt@650 {	// General Purpose Timer
1098bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1108bd3b709SMarian Balakowicz			reg = <650 10>;
1118bd3b709SMarian Balakowicz			interrupts = <1 e 0>;
1128bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1138bd3b709SMarian Balakowicz		};
1148bd3b709SMarian Balakowicz
1158bd3b709SMarian Balakowicz		gpt@660 {	// General Purpose Timer
1168bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1178bd3b709SMarian Balakowicz			reg = <660 10>;
1188bd3b709SMarian Balakowicz			interrupts = <1 f 0>;
1198bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1208bd3b709SMarian Balakowicz		};
1218bd3b709SMarian Balakowicz
1228bd3b709SMarian Balakowicz		gpt@670 {	// General Purpose Timer
1238bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1248bd3b709SMarian Balakowicz			reg = <670 10>;
1258bd3b709SMarian Balakowicz			interrupts = <1 10 0>;
1268bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1278bd3b709SMarian Balakowicz		};
1288bd3b709SMarian Balakowicz
1298bd3b709SMarian Balakowicz		rtc@800 {	// Real time clock
1308bd3b709SMarian Balakowicz			compatible = "mpc5200b-rtc","mpc5200-rtc";
1318bd3b709SMarian Balakowicz			reg = <800 100>;
1328bd3b709SMarian Balakowicz			interrupts = <1 5 0 1 6 0>;
1338bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1348bd3b709SMarian Balakowicz		};
1358bd3b709SMarian Balakowicz
1368bd3b709SMarian Balakowicz		gpio@b00 {
1378bd3b709SMarian Balakowicz			compatible = "mpc5200b-gpio","mpc5200-gpio";
1388bd3b709SMarian Balakowicz			reg = <b00 40>;
1398bd3b709SMarian Balakowicz			interrupts = <1 7 0>;
1408bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1418bd3b709SMarian Balakowicz		};
1428bd3b709SMarian Balakowicz
1438bd3b709SMarian Balakowicz		gpio-wkup@c00 {
1448bd3b709SMarian Balakowicz			compatible = "mpc5200b-gpio-wkup","mpc5200-gpio-wkup";
1458bd3b709SMarian Balakowicz			reg = <c00 40>;
1468bd3b709SMarian Balakowicz			interrupts = <1 8 0 0 3 0>;
1478bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1488bd3b709SMarian Balakowicz		};
1498bd3b709SMarian Balakowicz
1508bd3b709SMarian Balakowicz		spi@f00 {
1518bd3b709SMarian Balakowicz			compatible = "mpc5200b-spi","mpc5200-spi";
1528bd3b709SMarian Balakowicz			reg = <f00 20>;
1538bd3b709SMarian Balakowicz			interrupts = <2 d 0 2 e 0>;
1548bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1558bd3b709SMarian Balakowicz		};
1568bd3b709SMarian Balakowicz
1578bd3b709SMarian Balakowicz		usb@1000 {
1588bd3b709SMarian Balakowicz			device_type = "usb-ohci-be";
1598bd3b709SMarian Balakowicz			compatible = "mpc5200b-ohci","mpc5200-ohci","ohci-be";
1608bd3b709SMarian Balakowicz			reg = <1000 ff>;
1618bd3b709SMarian Balakowicz			interrupts = <2 6 0>;
1628bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1638bd3b709SMarian Balakowicz		};
1648bd3b709SMarian Balakowicz
1658bd3b709SMarian Balakowicz		dma-controller@1200 {
1668bd3b709SMarian Balakowicz			compatible = "mpc5200b-bestcomm","mpc5200-bestcomm";
1678bd3b709SMarian Balakowicz			reg = <1200 80>;
1688bd3b709SMarian Balakowicz			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
1698bd3b709SMarian Balakowicz			              3 4 0  3 5 0  3 6 0  3 7 0
1708bd3b709SMarian Balakowicz			              3 8 0  3 9 0  3 a 0  3 b 0
1718bd3b709SMarian Balakowicz			              3 c 0  3 d 0  3 e 0  3 f 0>;
1728bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1738bd3b709SMarian Balakowicz		};
1748bd3b709SMarian Balakowicz
1758bd3b709SMarian Balakowicz		xlb@1f00 {
1768bd3b709SMarian Balakowicz			compatible = "mpc5200b-xlb","mpc5200-xlb";
1778bd3b709SMarian Balakowicz			reg = <1f00 100>;
1788bd3b709SMarian Balakowicz		};
1798bd3b709SMarian Balakowicz
1808bd3b709SMarian Balakowicz		serial@2000 {		// PSC1
1818bd3b709SMarian Balakowicz			device_type = "serial";
1828bd3b709SMarian Balakowicz			compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
1838bd3b709SMarian Balakowicz			port-number = <0>;  // Logical port assignment
1848bd3b709SMarian Balakowicz			reg = <2000 100>;
1858bd3b709SMarian Balakowicz			interrupts = <2 1 0>;
1868bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1878bd3b709SMarian Balakowicz		};
1888bd3b709SMarian Balakowicz
1898bd3b709SMarian Balakowicz		serial@2200 {		// PSC2
1908bd3b709SMarian Balakowicz			device_type = "serial";
1918bd3b709SMarian Balakowicz			compatible = "mpc5200-psc-uart";
1928bd3b709SMarian Balakowicz			port-number = <1>;  // Logical port assignment
1938bd3b709SMarian Balakowicz			reg = <2200 100>;
1948bd3b709SMarian Balakowicz			interrupts = <2 2 0>;
1958bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1968bd3b709SMarian Balakowicz		};
1978bd3b709SMarian Balakowicz
1988bd3b709SMarian Balakowicz		serial@2400 {		// PSC3
1998bd3b709SMarian Balakowicz			device_type = "serial";
2008bd3b709SMarian Balakowicz			compatible = "mpc5200-psc-uart";
2018bd3b709SMarian Balakowicz			port-number = <2>;  // Logical port assignment
2028bd3b709SMarian Balakowicz			reg = <2400 100>;
2038bd3b709SMarian Balakowicz			interrupts = <2 3 0>;
2048bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2058bd3b709SMarian Balakowicz		};
2068bd3b709SMarian Balakowicz
2078bd3b709SMarian Balakowicz		serial@2c00 {		// PSC6
2088bd3b709SMarian Balakowicz			device_type = "serial";
2098bd3b709SMarian Balakowicz			compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
2108bd3b709SMarian Balakowicz			port-number = <5>;  // Logical port assignment
2118bd3b709SMarian Balakowicz			reg = <2c00 100>;
2128bd3b709SMarian Balakowicz			interrupts = <2 4 0>;
2138bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2148bd3b709SMarian Balakowicz		};
2158bd3b709SMarian Balakowicz
2168bd3b709SMarian Balakowicz		ethernet@3000 {
2178bd3b709SMarian Balakowicz			device_type = "network";
2188bd3b709SMarian Balakowicz			compatible = "mpc5200b-fec","mpc5200-fec";
2198bd3b709SMarian Balakowicz			reg = <3000 800>;
2208bd3b709SMarian Balakowicz			local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
2218bd3b709SMarian Balakowicz			interrupts = <2 5 0>;
2228bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2238bd3b709SMarian Balakowicz		};
2248bd3b709SMarian Balakowicz
2258bd3b709SMarian Balakowicz		i2c@3d40 {
2268bd3b709SMarian Balakowicz			compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
2278bd3b709SMarian Balakowicz			reg = <3d40 40>;
2288bd3b709SMarian Balakowicz			interrupts = <2 10 0>;
2298bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2308bd3b709SMarian Balakowicz			fsl5200-clocking;
2318bd3b709SMarian Balakowicz		};
2328bd3b709SMarian Balakowicz
2338bd3b709SMarian Balakowicz		sram@8000 {
2348bd3b709SMarian Balakowicz			compatible = "mpc5200b-sram","mpc5200-sram";
2358bd3b709SMarian Balakowicz			reg = <8000 4000>;
2368bd3b709SMarian Balakowicz		};
2378bd3b709SMarian Balakowicz	};
2388bd3b709SMarian Balakowicz};
239