1bdad0548SGrzegorz Bernacki/*
2bdad0548SGrzegorz Bernacki * Digsy MTC board Device Tree Source
3bdad0548SGrzegorz Bernacki *
4bdad0548SGrzegorz Bernacki * Copyright (C) 2009 Semihalf
5bdad0548SGrzegorz Bernacki *
6bdad0548SGrzegorz Bernacki * Based on the CM5200 by M. Balakowicz
7bdad0548SGrzegorz Bernacki *
8bdad0548SGrzegorz Bernacki * This program is free software; you can redistribute  it and/or modify it
9bdad0548SGrzegorz Bernacki * under  the terms of  the GNU General  Public License as published by the
10bdad0548SGrzegorz Bernacki * Free Software Foundation;  either version 2 of the  License, or (at your
11bdad0548SGrzegorz Bernacki * option) any later version.
12bdad0548SGrzegorz Bernacki */
13bdad0548SGrzegorz Bernacki
14bdad0548SGrzegorz Bernacki/dts-v1/;
15bdad0548SGrzegorz Bernacki
16bdad0548SGrzegorz Bernacki/ {
17bdad0548SGrzegorz Bernacki	model = "intercontrol,digsy-mtc";
18bdad0548SGrzegorz Bernacki	compatible = "intercontrol,digsy-mtc";
19bdad0548SGrzegorz Bernacki	#address-cells = <1>;
20bdad0548SGrzegorz Bernacki	#size-cells = <1>;
21bdad0548SGrzegorz Bernacki	interrupt-parent = <&mpc5200_pic>;
22bdad0548SGrzegorz Bernacki
23bdad0548SGrzegorz Bernacki	cpus {
24bdad0548SGrzegorz Bernacki		#address-cells = <1>;
25bdad0548SGrzegorz Bernacki		#size-cells = <0>;
26bdad0548SGrzegorz Bernacki
27bdad0548SGrzegorz Bernacki		PowerPC,5200@0 {
28bdad0548SGrzegorz Bernacki			device_type = "cpu";
29bdad0548SGrzegorz Bernacki			reg = <0>;
30bdad0548SGrzegorz Bernacki			d-cache-line-size = <32>;
31bdad0548SGrzegorz Bernacki			i-cache-line-size = <32>;
32bdad0548SGrzegorz Bernacki			d-cache-size = <0x4000>;		// L1, 16K
33bdad0548SGrzegorz Bernacki			i-cache-size = <0x4000>;		// L1, 16K
34bdad0548SGrzegorz Bernacki			timebase-frequency = <0>;	// from bootloader
35bdad0548SGrzegorz Bernacki			bus-frequency = <0>;		// from bootloader
36bdad0548SGrzegorz Bernacki			clock-frequency = <0>;		// from bootloader
37bdad0548SGrzegorz Bernacki		};
38bdad0548SGrzegorz Bernacki	};
39bdad0548SGrzegorz Bernacki
40bdad0548SGrzegorz Bernacki	memory {
41bdad0548SGrzegorz Bernacki		device_type = "memory";
42bdad0548SGrzegorz Bernacki		reg = <0x00000000 0x02000000>;	// 32MB
43bdad0548SGrzegorz Bernacki	};
44bdad0548SGrzegorz Bernacki
45bdad0548SGrzegorz Bernacki	soc5200@f0000000 {
46bdad0548SGrzegorz Bernacki		#address-cells = <1>;
47bdad0548SGrzegorz Bernacki		#size-cells = <1>;
48bdad0548SGrzegorz Bernacki		compatible = "fsl,mpc5200b-immr";
49bdad0548SGrzegorz Bernacki		ranges = <0 0xf0000000 0x0000c000>;
50bdad0548SGrzegorz Bernacki		reg = <0xf0000000 0x00000100>;
51bdad0548SGrzegorz Bernacki		bus-frequency = <0>;		// from bootloader
52bdad0548SGrzegorz Bernacki		system-frequency = <0>;		// from bootloader
53bdad0548SGrzegorz Bernacki
54bdad0548SGrzegorz Bernacki		cdm@200 {
55bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
56bdad0548SGrzegorz Bernacki			reg = <0x200 0x38>;
57bdad0548SGrzegorz Bernacki		};
58bdad0548SGrzegorz Bernacki
59bdad0548SGrzegorz Bernacki		mpc5200_pic: interrupt-controller@500 {
60bdad0548SGrzegorz Bernacki			// 5200 interrupts are encoded into two levels;
61bdad0548SGrzegorz Bernacki			interrupt-controller;
62bdad0548SGrzegorz Bernacki			#interrupt-cells = <3>;
63bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
64bdad0548SGrzegorz Bernacki			reg = <0x500 0x80>;
65bdad0548SGrzegorz Bernacki		};
66bdad0548SGrzegorz Bernacki
67bdad0548SGrzegorz Bernacki		timer@600 {	// General Purpose Timer
68bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
69bdad0548SGrzegorz Bernacki			reg = <0x600 0x10>;
70bdad0548SGrzegorz Bernacki			interrupts = <1 9 0>;
71bdad0548SGrzegorz Bernacki			fsl,has-wdt;
72bdad0548SGrzegorz Bernacki		};
73bdad0548SGrzegorz Bernacki
74bdad0548SGrzegorz Bernacki		timer@610 {	// General Purpose Timer
75bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
76bdad0548SGrzegorz Bernacki			reg = <0x610 0x10>;
77bdad0548SGrzegorz Bernacki			interrupts = <1 10 0>;
78bdad0548SGrzegorz Bernacki		};
79bdad0548SGrzegorz Bernacki
80bdad0548SGrzegorz Bernacki		timer@620 {	// General Purpose Timer
81bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
82bdad0548SGrzegorz Bernacki			reg = <0x620 0x10>;
83bdad0548SGrzegorz Bernacki			interrupts = <1 11 0>;
84bdad0548SGrzegorz Bernacki		};
85bdad0548SGrzegorz Bernacki
86bdad0548SGrzegorz Bernacki		timer@630 {	// General Purpose Timer
87bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
88bdad0548SGrzegorz Bernacki			reg = <0x630 0x10>;
89bdad0548SGrzegorz Bernacki			interrupts = <1 12 0>;
90bdad0548SGrzegorz Bernacki		};
91bdad0548SGrzegorz Bernacki
92bdad0548SGrzegorz Bernacki		timer@640 {	// General Purpose Timer
93bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
94bdad0548SGrzegorz Bernacki			reg = <0x640 0x10>;
95bdad0548SGrzegorz Bernacki			interrupts = <1 13 0>;
96bdad0548SGrzegorz Bernacki		};
97bdad0548SGrzegorz Bernacki
98bdad0548SGrzegorz Bernacki		timer@650 {	// General Purpose Timer
99bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
100bdad0548SGrzegorz Bernacki			reg = <0x650 0x10>;
101bdad0548SGrzegorz Bernacki			interrupts = <1 14 0>;
102bdad0548SGrzegorz Bernacki		};
103bdad0548SGrzegorz Bernacki
104bdad0548SGrzegorz Bernacki		timer@660 {	// General Purpose Timer
105bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
106bdad0548SGrzegorz Bernacki			reg = <0x660 0x10>;
107bdad0548SGrzegorz Bernacki			interrupts = <1 15 0>;
108bdad0548SGrzegorz Bernacki		};
109bdad0548SGrzegorz Bernacki
110bdad0548SGrzegorz Bernacki		timer@670 {	// General Purpose Timer
111bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
112bdad0548SGrzegorz Bernacki			reg = <0x670 0x10>;
113bdad0548SGrzegorz Bernacki			interrupts = <1 16 0>;
114bdad0548SGrzegorz Bernacki		};
115bdad0548SGrzegorz Bernacki
116bdad0548SGrzegorz Bernacki		gpio_simple: gpio@b00 {
117bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
118bdad0548SGrzegorz Bernacki			reg = <0xb00 0x40>;
119bdad0548SGrzegorz Bernacki			interrupts = <1 7 0>;
120bdad0548SGrzegorz Bernacki			gpio-controller;
121bdad0548SGrzegorz Bernacki			#gpio-cells = <2>;
122bdad0548SGrzegorz Bernacki		};
123bdad0548SGrzegorz Bernacki
124bdad0548SGrzegorz Bernacki		gpio_wkup: gpio@c00 {
125bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
126bdad0548SGrzegorz Bernacki			reg = <0xc00 0x40>;
127bdad0548SGrzegorz Bernacki			interrupts = <1 8 0 0 3 0>;
128bdad0548SGrzegorz Bernacki			gpio-controller;
129bdad0548SGrzegorz Bernacki			#gpio-cells = <2>;
130bdad0548SGrzegorz Bernacki		};
131bdad0548SGrzegorz Bernacki
132bdad0548SGrzegorz Bernacki		spi@f00 {
133bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
134bdad0548SGrzegorz Bernacki			reg = <0xf00 0x20>;
135bdad0548SGrzegorz Bernacki			interrupts = <2 13 0 2 14 0>;
136bdad0548SGrzegorz Bernacki		};
137bdad0548SGrzegorz Bernacki
138bdad0548SGrzegorz Bernacki		usb@1000 {
139bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
140bdad0548SGrzegorz Bernacki			reg = <0x1000 0xff>;
141bdad0548SGrzegorz Bernacki			interrupts = <2 6 0>;
142bdad0548SGrzegorz Bernacki		};
143bdad0548SGrzegorz Bernacki
144bdad0548SGrzegorz Bernacki		dma-controller@1200 {
145bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
146bdad0548SGrzegorz Bernacki			reg = <0x1200 0x80>;
147bdad0548SGrzegorz Bernacki			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
148bdad0548SGrzegorz Bernacki			              3 4 0  3 5 0  3 6 0  3 7 0
149bdad0548SGrzegorz Bernacki			              3 8 0  3 9 0  3 10 0  3 11 0
150bdad0548SGrzegorz Bernacki			              3 12 0  3 13 0  3 14 0  3 15 0>;
151bdad0548SGrzegorz Bernacki		};
152bdad0548SGrzegorz Bernacki
153bdad0548SGrzegorz Bernacki		xlb@1f00 {
154bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb";
155bdad0548SGrzegorz Bernacki			reg = <0x1f00 0x100>;
156bdad0548SGrzegorz Bernacki		};
157bdad0548SGrzegorz Bernacki
158bdad0548SGrzegorz Bernacki		serial@2600 {		// PSC4
159bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
160bdad0548SGrzegorz Bernacki			reg = <0x2600 0x100>;
161bdad0548SGrzegorz Bernacki			interrupts = <2 11 0>;
162bdad0548SGrzegorz Bernacki		};
163bdad0548SGrzegorz Bernacki
16486f5a4a7SGrzegorz Bernacki		serial@2800 {		// PSC5
16586f5a4a7SGrzegorz Bernacki			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
16686f5a4a7SGrzegorz Bernacki			reg = <0x2800 0x100>;
16786f5a4a7SGrzegorz Bernacki			interrupts = <2 12 0>;
16886f5a4a7SGrzegorz Bernacki		};
16986f5a4a7SGrzegorz Bernacki
170bdad0548SGrzegorz Bernacki		ethernet@3000 {
171bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
172bdad0548SGrzegorz Bernacki			reg = <0x3000 0x400>;
173bdad0548SGrzegorz Bernacki			local-mac-address = [ 00 00 00 00 00 00 ];
174bdad0548SGrzegorz Bernacki			interrupts = <2 5 0>;
175bdad0548SGrzegorz Bernacki			phy-handle = <&phy0>;
176bdad0548SGrzegorz Bernacki		};
177bdad0548SGrzegorz Bernacki
178bdad0548SGrzegorz Bernacki		mdio@3000 {
179bdad0548SGrzegorz Bernacki			#address-cells = <1>;
180bdad0548SGrzegorz Bernacki			#size-cells = <0>;
181bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
182bdad0548SGrzegorz Bernacki			reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
183bdad0548SGrzegorz Bernacki			interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
184bdad0548SGrzegorz Bernacki
185bdad0548SGrzegorz Bernacki			phy0: ethernet-phy@0 {
186bdad0548SGrzegorz Bernacki				reg = <0>;
187bdad0548SGrzegorz Bernacki			};
188bdad0548SGrzegorz Bernacki		};
189bdad0548SGrzegorz Bernacki
190bdad0548SGrzegorz Bernacki		ata@3a00 {
191bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
192bdad0548SGrzegorz Bernacki			reg = <0x3a00 0x100>;
193bdad0548SGrzegorz Bernacki			interrupts = <2 7 0>;
194bdad0548SGrzegorz Bernacki		};
195bdad0548SGrzegorz Bernacki
196bdad0548SGrzegorz Bernacki		i2c@3d00 {
197bdad0548SGrzegorz Bernacki			#address-cells = <1>;
198bdad0548SGrzegorz Bernacki			#size-cells = <0>;
199bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
200bdad0548SGrzegorz Bernacki			reg = <0x3d00 0x40>;
201bdad0548SGrzegorz Bernacki			interrupts = <2 15 0>;
202bdad0548SGrzegorz Bernacki			fsl5200-clocking;
203bdad0548SGrzegorz Bernacki
204bdad0548SGrzegorz Bernacki			rtc@50 {
205bdad0548SGrzegorz Bernacki				compatible = "at,24c08";
206bdad0548SGrzegorz Bernacki				reg = <0x50>;
207bdad0548SGrzegorz Bernacki			};
208bdad0548SGrzegorz Bernacki
209bdad0548SGrzegorz Bernacki			rtc@68 {
210bdad0548SGrzegorz Bernacki				compatible = "dallas,ds1339";
211bdad0548SGrzegorz Bernacki				reg = <0x68>;
212bdad0548SGrzegorz Bernacki			};
213bdad0548SGrzegorz Bernacki		};
214bdad0548SGrzegorz Bernacki
215bdad0548SGrzegorz Bernacki		sram@8000 {
216bdad0548SGrzegorz Bernacki			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
217bdad0548SGrzegorz Bernacki			reg = <0x8000 0x4000>;
218bdad0548SGrzegorz Bernacki		};
219bdad0548SGrzegorz Bernacki	};
220bdad0548SGrzegorz Bernacki
221bdad0548SGrzegorz Bernacki	lpb {
222bdad0548SGrzegorz Bernacki		compatible = "fsl,mpc5200b-lpb","simple-bus";
223bdad0548SGrzegorz Bernacki		#address-cells = <2>;
224bdad0548SGrzegorz Bernacki		#size-cells = <1>;
225bdad0548SGrzegorz Bernacki		ranges = <0 0 0xff000000 0x1000000>;
226bdad0548SGrzegorz Bernacki
227bdad0548SGrzegorz Bernacki		// 16-bit flash device at LocalPlus Bus CS0
228bdad0548SGrzegorz Bernacki		flash@0,0 {
229bdad0548SGrzegorz Bernacki			compatible = "cfi-flash";
230bdad0548SGrzegorz Bernacki			reg = <0 0 0x1000000>;
231bdad0548SGrzegorz Bernacki			bank-width = <2>;
232bdad0548SGrzegorz Bernacki			device-width = <2>;
233bdad0548SGrzegorz Bernacki			#size-cells = <1>;
234bdad0548SGrzegorz Bernacki			#address-cells = <1>;
235bdad0548SGrzegorz Bernacki
236bdad0548SGrzegorz Bernacki			partition@0 {
237bdad0548SGrzegorz Bernacki				label = "kernel";
238bdad0548SGrzegorz Bernacki				reg = <0x0 0x00200000>;
239bdad0548SGrzegorz Bernacki			};
240bdad0548SGrzegorz Bernacki			partition@200000 {
241bdad0548SGrzegorz Bernacki				label = "root";
242bdad0548SGrzegorz Bernacki				reg = <0x00200000 0x00300000>;
243bdad0548SGrzegorz Bernacki			};
244bdad0548SGrzegorz Bernacki			partition@500000 {
245bdad0548SGrzegorz Bernacki				label = "user";
246bdad0548SGrzegorz Bernacki				reg = <0x00500000 0x00a00000>;
247bdad0548SGrzegorz Bernacki			};
248bdad0548SGrzegorz Bernacki			partition@f00000 {
249bdad0548SGrzegorz Bernacki				label = "u-boot";
250bdad0548SGrzegorz Bernacki				reg = <0x00f00000 0x100000>;
251bdad0548SGrzegorz Bernacki			};
252bdad0548SGrzegorz Bernacki		};
253bdad0548SGrzegorz Bernacki	};
254bdad0548SGrzegorz Bernacki};
255