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 {
488bd3b709SMarian Balakowicz		model = "fsl,mpc5200b";
498bd3b709SMarian Balakowicz		compatible = "fsl,mpc5200b";
508bd3b709SMarian Balakowicz		revision = "";			// from bootloader
518bd3b709SMarian Balakowicz		device_type = "soc";
528bd3b709SMarian Balakowicz		ranges = <0 f0000000 0000c000>;
538bd3b709SMarian Balakowicz		reg = <f0000000 00000100>;
548bd3b709SMarian Balakowicz		bus-frequency = <0>;		// from bootloader
558bd3b709SMarian Balakowicz		system-frequency = <0>;		// from bootloader
568bd3b709SMarian Balakowicz
578bd3b709SMarian Balakowicz		cdm@200 {
588bd3b709SMarian Balakowicz			compatible = "mpc5200b-cdm","mpc5200-cdm";
598bd3b709SMarian Balakowicz			reg = <200 38>;
608bd3b709SMarian Balakowicz		};
618bd3b709SMarian Balakowicz
628bd3b709SMarian Balakowicz		mpc5200_pic: pic@500 {
638bd3b709SMarian Balakowicz			// 5200 interrupts are encoded into two levels;
648bd3b709SMarian Balakowicz			interrupt-controller;
658bd3b709SMarian Balakowicz			#interrupt-cells = <3>;
668bd3b709SMarian Balakowicz			compatible = "mpc5200b-pic","mpc5200-pic";
678bd3b709SMarian Balakowicz			reg = <500 80>;
688bd3b709SMarian Balakowicz		};
698bd3b709SMarian Balakowicz
708bd3b709SMarian Balakowicz		gpt@600 {	// General Purpose Timer
718bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
728bd3b709SMarian Balakowicz			reg = <600 10>;
738bd3b709SMarian Balakowicz			interrupts = <1 9 0>;
748bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
758bd3b709SMarian Balakowicz			fsl,has-wdt;
768bd3b709SMarian Balakowicz		};
778bd3b709SMarian Balakowicz
788bd3b709SMarian Balakowicz		gpt@610 {	// General Purpose Timer
798bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
808bd3b709SMarian Balakowicz			reg = <610 10>;
818bd3b709SMarian Balakowicz			interrupts = <1 a 0>;
828bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
838bd3b709SMarian Balakowicz		};
848bd3b709SMarian Balakowicz
858bd3b709SMarian Balakowicz		gpt@620 {	// General Purpose Timer
868bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
878bd3b709SMarian Balakowicz			reg = <620 10>;
888bd3b709SMarian Balakowicz			interrupts = <1 b 0>;
898bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
908bd3b709SMarian Balakowicz		};
918bd3b709SMarian Balakowicz
928bd3b709SMarian Balakowicz		gpt@630 {	// General Purpose Timer
938bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
948bd3b709SMarian Balakowicz			reg = <630 10>;
958bd3b709SMarian Balakowicz			interrupts = <1 c 0>;
968bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
978bd3b709SMarian Balakowicz		};
988bd3b709SMarian Balakowicz
998bd3b709SMarian Balakowicz		gpt@640 {	// General Purpose Timer
1008bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1018bd3b709SMarian Balakowicz			reg = <640 10>;
1028bd3b709SMarian Balakowicz			interrupts = <1 d 0>;
1038bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1048bd3b709SMarian Balakowicz		};
1058bd3b709SMarian Balakowicz
1068bd3b709SMarian Balakowicz		gpt@650 {	// General Purpose Timer
1078bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1088bd3b709SMarian Balakowicz			reg = <650 10>;
1098bd3b709SMarian Balakowicz			interrupts = <1 e 0>;
1108bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1118bd3b709SMarian Balakowicz		};
1128bd3b709SMarian Balakowicz
1138bd3b709SMarian Balakowicz		gpt@660 {	// General Purpose Timer
1148bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1158bd3b709SMarian Balakowicz			reg = <660 10>;
1168bd3b709SMarian Balakowicz			interrupts = <1 f 0>;
1178bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1188bd3b709SMarian Balakowicz		};
1198bd3b709SMarian Balakowicz
1208bd3b709SMarian Balakowicz		gpt@670 {	// General Purpose Timer
1218bd3b709SMarian Balakowicz			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
1228bd3b709SMarian Balakowicz			reg = <670 10>;
1238bd3b709SMarian Balakowicz			interrupts = <1 10 0>;
1248bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1258bd3b709SMarian Balakowicz		};
1268bd3b709SMarian Balakowicz
1278bd3b709SMarian Balakowicz		rtc@800 {	// Real time clock
1288bd3b709SMarian Balakowicz			compatible = "mpc5200b-rtc","mpc5200-rtc";
1298bd3b709SMarian Balakowicz			reg = <800 100>;
1308bd3b709SMarian Balakowicz			interrupts = <1 5 0 1 6 0>;
1318bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1328bd3b709SMarian Balakowicz		};
1338bd3b709SMarian Balakowicz
1348bd3b709SMarian Balakowicz		gpio@b00 {
1358bd3b709SMarian Balakowicz			compatible = "mpc5200b-gpio","mpc5200-gpio";
1368bd3b709SMarian Balakowicz			reg = <b00 40>;
1378bd3b709SMarian Balakowicz			interrupts = <1 7 0>;
1388bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1398bd3b709SMarian Balakowicz		};
1408bd3b709SMarian Balakowicz
1418bd3b709SMarian Balakowicz		gpio-wkup@c00 {
1428bd3b709SMarian Balakowicz			compatible = "mpc5200b-gpio-wkup","mpc5200-gpio-wkup";
1438bd3b709SMarian Balakowicz			reg = <c00 40>;
1448bd3b709SMarian Balakowicz			interrupts = <1 8 0 0 3 0>;
1458bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1468bd3b709SMarian Balakowicz		};
1478bd3b709SMarian Balakowicz
1488bd3b709SMarian Balakowicz		spi@f00 {
1498bd3b709SMarian Balakowicz			compatible = "mpc5200b-spi","mpc5200-spi";
1508bd3b709SMarian Balakowicz			reg = <f00 20>;
1518bd3b709SMarian Balakowicz			interrupts = <2 d 0 2 e 0>;
1528bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1538bd3b709SMarian Balakowicz		};
1548bd3b709SMarian Balakowicz
1558bd3b709SMarian Balakowicz		usb@1000 {
1568bd3b709SMarian Balakowicz			device_type = "usb-ohci-be";
1578bd3b709SMarian Balakowicz			compatible = "mpc5200b-ohci","mpc5200-ohci","ohci-be";
1588bd3b709SMarian Balakowicz			reg = <1000 ff>;
1598bd3b709SMarian Balakowicz			interrupts = <2 6 0>;
1608bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1618bd3b709SMarian Balakowicz		};
1628bd3b709SMarian Balakowicz
1638bd3b709SMarian Balakowicz		dma-controller@1200 {
1648bd3b709SMarian Balakowicz			compatible = "mpc5200b-bestcomm","mpc5200-bestcomm";
1658bd3b709SMarian Balakowicz			reg = <1200 80>;
1668bd3b709SMarian Balakowicz			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
1678bd3b709SMarian Balakowicz			              3 4 0  3 5 0  3 6 0  3 7 0
1688bd3b709SMarian Balakowicz			              3 8 0  3 9 0  3 a 0  3 b 0
1698bd3b709SMarian Balakowicz			              3 c 0  3 d 0  3 e 0  3 f 0>;
1708bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1718bd3b709SMarian Balakowicz		};
1728bd3b709SMarian Balakowicz
1738bd3b709SMarian Balakowicz		xlb@1f00 {
1748bd3b709SMarian Balakowicz			compatible = "mpc5200b-xlb","mpc5200-xlb";
1758bd3b709SMarian Balakowicz			reg = <1f00 100>;
1768bd3b709SMarian Balakowicz		};
1778bd3b709SMarian Balakowicz
1788bd3b709SMarian Balakowicz		serial@2000 {		// PSC1
1798bd3b709SMarian Balakowicz			device_type = "serial";
1808bd3b709SMarian Balakowicz			compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
1818bd3b709SMarian Balakowicz			port-number = <0>;  // Logical port assignment
1828bd3b709SMarian Balakowicz			reg = <2000 100>;
1838bd3b709SMarian Balakowicz			interrupts = <2 1 0>;
1848bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1858bd3b709SMarian Balakowicz		};
1868bd3b709SMarian Balakowicz
1878bd3b709SMarian Balakowicz		serial@2200 {		// PSC2
1888bd3b709SMarian Balakowicz			device_type = "serial";
1898bd3b709SMarian Balakowicz			compatible = "mpc5200-psc-uart";
1908bd3b709SMarian Balakowicz			port-number = <1>;  // Logical port assignment
1918bd3b709SMarian Balakowicz			reg = <2200 100>;
1928bd3b709SMarian Balakowicz			interrupts = <2 2 0>;
1938bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
1948bd3b709SMarian Balakowicz		};
1958bd3b709SMarian Balakowicz
1968bd3b709SMarian Balakowicz		serial@2400 {		// PSC3
1978bd3b709SMarian Balakowicz			device_type = "serial";
1988bd3b709SMarian Balakowicz			compatible = "mpc5200-psc-uart";
1998bd3b709SMarian Balakowicz			port-number = <2>;  // Logical port assignment
2008bd3b709SMarian Balakowicz			reg = <2400 100>;
2018bd3b709SMarian Balakowicz			interrupts = <2 3 0>;
2028bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2038bd3b709SMarian Balakowicz		};
2048bd3b709SMarian Balakowicz
2058bd3b709SMarian Balakowicz		serial@2c00 {		// PSC6
2068bd3b709SMarian Balakowicz			device_type = "serial";
2078bd3b709SMarian Balakowicz			compatible = "mpc5200b-psc-uart","mpc5200-psc-uart";
2088bd3b709SMarian Balakowicz			port-number = <5>;  // Logical port assignment
2098bd3b709SMarian Balakowicz			reg = <2c00 100>;
2108bd3b709SMarian Balakowicz			interrupts = <2 4 0>;
2118bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2128bd3b709SMarian Balakowicz		};
2138bd3b709SMarian Balakowicz
2148bd3b709SMarian Balakowicz		ethernet@3000 {
2158bd3b709SMarian Balakowicz			device_type = "network";
2168bd3b709SMarian Balakowicz			compatible = "mpc5200b-fec","mpc5200-fec";
2178bd3b709SMarian Balakowicz			reg = <3000 800>;
2188bd3b709SMarian Balakowicz			local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
2198bd3b709SMarian Balakowicz			interrupts = <2 5 0>;
2208bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2218bd3b709SMarian Balakowicz		};
2228bd3b709SMarian Balakowicz
2238bd3b709SMarian Balakowicz		i2c@3d40 {
2248bd3b709SMarian Balakowicz			compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
2258bd3b709SMarian Balakowicz			reg = <3d40 40>;
2268bd3b709SMarian Balakowicz			interrupts = <2 10 0>;
2278bd3b709SMarian Balakowicz			interrupt-parent = <&mpc5200_pic>;
2288bd3b709SMarian Balakowicz			fsl5200-clocking;
2298bd3b709SMarian Balakowicz		};
2308bd3b709SMarian Balakowicz
2318bd3b709SMarian Balakowicz		sram@8000 {
2328bd3b709SMarian Balakowicz			compatible = "mpc5200b-sram","mpc5200-sram";
2338bd3b709SMarian Balakowicz			reg = <8000 4000>;
2348bd3b709SMarian Balakowicz		};
2358bd3b709SMarian Balakowicz	};
2368bd3b709SMarian Balakowicz};
237