2 * This file supports the Xilinx ML507 board with the 440 processor.
3 * A reference design for the FPGA is provided at http://git.xilinx.com.
5 * (C) Copyright 2008 Xilinx, Inc.
7 * This file is licensed under the terms of the GNU General Public License
8 * version 2. This program is licensed "as is" without any warranty of any
9 * kind, whether express or implied.
13 * Device Tree Generator version: 1.1
15 * CAUTION: This file is automatically generated by libgen.
16 * Version: Xilinx EDK 10.1.03 EDK_K_SP3.6
18 * XPS project directory: ml507_ppc440_emb_ref
26 compatible = "xlnx,virtex440";
27 dcr-parent = <&ppc440_0>;
29 DDR2_SDRAM: memory@0 {
30 device_type = "memory";
31 reg = < 0 0x10000000 >;
34 bootargs = "console=ttyS0 root=/dev/ram";
35 linux,stdout-path = &RS232_Uart_1;
42 clock-frequency = <400000000>;
43 compatible = "PowerPC,440", "ibm,ppc440";
44 d-cache-line-size = <0x20>;
45 d-cache-size = <0x8000>;
46 dcr-access-method = "native";
49 i-cache-line-size = <0x20>;
50 i-cache-size = <0x8000>;
51 model = "PowerPC,440";
53 timebase-frequency = <400000000>;
54 xlnx,apu-control = <1>;
57 xlnx,apu-udi-10 = <0>;
58 xlnx,apu-udi-11 = <0>;
59 xlnx,apu-udi-12 = <0>;
60 xlnx,apu-udi-13 = <0>;
61 xlnx,apu-udi-14 = <0>;
62 xlnx,apu-udi-15 = <0>;
71 xlnx,dcr-autolock-enable = <1>;
72 xlnx,dcu-rd-ld-cache-plb-prio = <0>;
73 xlnx,dcu-rd-noncache-plb-prio = <0>;
74 xlnx,dcu-rd-touch-plb-prio = <0>;
75 xlnx,dcu-rd-urgent-plb-prio = <0>;
76 xlnx,dcu-wr-flush-plb-prio = <0>;
77 xlnx,dcu-wr-store-plb-prio = <0>;
78 xlnx,dcu-wr-urgent-plb-prio = <0>;
79 xlnx,dma0-control = <0>;
80 xlnx,dma0-plb-prio = <0>;
81 xlnx,dma0-rxchannelctrl = <0x1010000>;
82 xlnx,dma0-rxirqtimer = <0x3ff>;
83 xlnx,dma0-txchannelctrl = <0x1010000>;
84 xlnx,dma0-txirqtimer = <0x3ff>;
85 xlnx,dma1-control = <0>;
86 xlnx,dma1-plb-prio = <0>;
87 xlnx,dma1-rxchannelctrl = <0x1010000>;
88 xlnx,dma1-rxirqtimer = <0x3ff>;
89 xlnx,dma1-txchannelctrl = <0x1010000>;
90 xlnx,dma1-txirqtimer = <0x3ff>;
91 xlnx,dma2-control = <0>;
92 xlnx,dma2-plb-prio = <0>;
93 xlnx,dma2-rxchannelctrl = <0x1010000>;
94 xlnx,dma2-rxirqtimer = <0x3ff>;
95 xlnx,dma2-txchannelctrl = <0x1010000>;
96 xlnx,dma2-txirqtimer = <0x3ff>;
97 xlnx,dma3-control = <0>;
98 xlnx,dma3-plb-prio = <0>;
99 xlnx,dma3-rxchannelctrl = <0x1010000>;
100 xlnx,dma3-rxirqtimer = <0x3ff>;
101 xlnx,dma3-txchannelctrl = <0x1010000>;
102 xlnx,dma3-txirqtimer = <0x3ff>;
103 xlnx,endian-reset = <0>;
104 xlnx,generate-plb-timespecs = <1>;
105 xlnx,icu-rd-fetch-plb-prio = <0>;
106 xlnx,icu-rd-spec-plb-prio = <0>;
107 xlnx,icu-rd-touch-plb-prio = <0>;
108 xlnx,interconnect-imask = <0xffffffff>;
109 xlnx,mplb-allow-lock-xfer = <1>;
110 xlnx,mplb-arb-mode = <0>;
111 xlnx,mplb-awidth = <0x20>;
112 xlnx,mplb-counter = <0x500>;
113 xlnx,mplb-dwidth = <0x80>;
114 xlnx,mplb-max-burst = <8>;
115 xlnx,mplb-native-dwidth = <0x80>;
117 xlnx,mplb-prio-dcur = <2>;
118 xlnx,mplb-prio-dcuw = <3>;
119 xlnx,mplb-prio-icu = <4>;
120 xlnx,mplb-prio-splb0 = <1>;
121 xlnx,mplb-prio-splb1 = <0>;
122 xlnx,mplb-read-pipe-enable = <1>;
123 xlnx,mplb-sync-tattribute = <0>;
124 xlnx,mplb-wdog-enable = <1>;
125 xlnx,mplb-write-pipe-enable = <1>;
126 xlnx,mplb-write-post-enable = <1>;
129 xlnx,ppc440mc-addr-base = <0>;
130 xlnx,ppc440mc-addr-high = <0xfffffff>;
131 xlnx,ppc440mc-arb-mode = <0>;
132 xlnx,ppc440mc-bank-conflict-mask = <0xc00000>;
133 xlnx,ppc440mc-control = <0xf810008f>;
134 xlnx,ppc440mc-max-burst = <8>;
135 xlnx,ppc440mc-prio-dcur = <2>;
136 xlnx,ppc440mc-prio-dcuw = <3>;
137 xlnx,ppc440mc-prio-icu = <4>;
138 xlnx,ppc440mc-prio-splb0 = <1>;
139 xlnx,ppc440mc-prio-splb1 = <0>;
140 xlnx,ppc440mc-row-conflict-mask = <0x3ffe00>;
141 xlnx,ppcdm-asyncmode = <0>;
142 xlnx,ppcds-asyncmode = <0>;
143 xlnx,user-reset = <0>;
145 compatible = "xlnx,ll-dma-1.00.a";
146 dcr-reg = < 0x80 0x11 >;
147 interrupt-parent = <&xps_intc_0>;
148 interrupts = < 10 2 11 2 >;
153 #address-cells = <1>;
155 compatible = "xlnx,plb-v46-1.03.a", "simple-bus";
157 DIP_Switches_8Bit: gpio@81460000 {
158 compatible = "xlnx,xps-gpio-1.00.a";
159 interrupt-parent = <&xps_intc_0>;
160 interrupts = < 7 2 >;
161 reg = < 0x81460000 0x10000 >;
162 xlnx,all-inputs = <1>;
163 xlnx,all-inputs-2 = <0>;
164 xlnx,dout-default = <0>;
165 xlnx,dout-default-2 = <0>;
166 xlnx,family = "virtex5";
167 xlnx,gpio-width = <8>;
168 xlnx,interrupt-present = <1>;
170 xlnx,is-bidir-2 = <1>;
172 xlnx,tri-default = <0xffffffff>;
173 xlnx,tri-default-2 = <0xffffffff>;
175 FLASH: flash@fc000000 {
177 compatible = "xlnx,xps-mch-emc-2.00.a", "cfi-flash";
178 reg = < 0xfc000000 0x2000000 >;
179 xlnx,family = "virtex5";
180 xlnx,include-datawidth-matching-0 = <0x1>;
181 xlnx,include-datawidth-matching-1 = <0x0>;
182 xlnx,include-datawidth-matching-2 = <0x0>;
183 xlnx,include-datawidth-matching-3 = <0x0>;
184 xlnx,include-negedge-ioregs = <0x0>;
185 xlnx,include-plb-ipif = <0x1>;
186 xlnx,include-wrbuf = <0x1>;
187 xlnx,max-mem-width = <0x10>;
188 xlnx,mch-native-dwidth = <0x20>;
189 xlnx,mch-plb-clk-period-ps = <0x2710>;
190 xlnx,mch-splb-awidth = <0x20>;
191 xlnx,mch0-accessbuf-depth = <0x10>;
192 xlnx,mch0-protocol = <0x0>;
193 xlnx,mch0-rddatabuf-depth = <0x10>;
194 xlnx,mch1-accessbuf-depth = <0x10>;
195 xlnx,mch1-protocol = <0x0>;
196 xlnx,mch1-rddatabuf-depth = <0x10>;
197 xlnx,mch2-accessbuf-depth = <0x10>;
198 xlnx,mch2-protocol = <0x0>;
199 xlnx,mch2-rddatabuf-depth = <0x10>;
200 xlnx,mch3-accessbuf-depth = <0x10>;
201 xlnx,mch3-protocol = <0x0>;
202 xlnx,mch3-rddatabuf-depth = <0x10>;
203 xlnx,mem0-width = <0x10>;
204 xlnx,mem1-width = <0x20>;
205 xlnx,mem2-width = <0x20>;
206 xlnx,mem3-width = <0x20>;
207 xlnx,num-banks-mem = <0x1>;
208 xlnx,num-channels = <0x2>;
209 xlnx,priority-mode = <0x0>;
210 xlnx,synch-mem-0 = <0x0>;
211 xlnx,synch-mem-1 = <0x0>;
212 xlnx,synch-mem-2 = <0x0>;
213 xlnx,synch-mem-3 = <0x0>;
214 xlnx,synch-pipedelay-0 = <0x2>;
215 xlnx,synch-pipedelay-1 = <0x2>;
216 xlnx,synch-pipedelay-2 = <0x2>;
217 xlnx,synch-pipedelay-3 = <0x2>;
218 xlnx,tavdv-ps-mem-0 = <0x1adb0>;
219 xlnx,tavdv-ps-mem-1 = <0x3a98>;
220 xlnx,tavdv-ps-mem-2 = <0x3a98>;
221 xlnx,tavdv-ps-mem-3 = <0x3a98>;
222 xlnx,tcedv-ps-mem-0 = <0x1adb0>;
223 xlnx,tcedv-ps-mem-1 = <0x3a98>;
224 xlnx,tcedv-ps-mem-2 = <0x3a98>;
225 xlnx,tcedv-ps-mem-3 = <0x3a98>;
226 xlnx,thzce-ps-mem-0 = <0x88b8>;
227 xlnx,thzce-ps-mem-1 = <0x1b58>;
228 xlnx,thzce-ps-mem-2 = <0x1b58>;
229 xlnx,thzce-ps-mem-3 = <0x1b58>;
230 xlnx,thzoe-ps-mem-0 = <0x1b58>;
231 xlnx,thzoe-ps-mem-1 = <0x1b58>;
232 xlnx,thzoe-ps-mem-2 = <0x1b58>;
233 xlnx,thzoe-ps-mem-3 = <0x1b58>;
234 xlnx,tlzwe-ps-mem-0 = <0x88b8>;
235 xlnx,tlzwe-ps-mem-1 = <0x0>;
236 xlnx,tlzwe-ps-mem-2 = <0x0>;
237 xlnx,tlzwe-ps-mem-3 = <0x0>;
238 xlnx,twc-ps-mem-0 = <0x2af8>;
239 xlnx,twc-ps-mem-1 = <0x3a98>;
240 xlnx,twc-ps-mem-2 = <0x3a98>;
241 xlnx,twc-ps-mem-3 = <0x3a98>;
242 xlnx,twp-ps-mem-0 = <0x11170>;
243 xlnx,twp-ps-mem-1 = <0x2ee0>;
244 xlnx,twp-ps-mem-2 = <0x2ee0>;
245 xlnx,twp-ps-mem-3 = <0x2ee0>;
246 xlnx,xcl0-linesize = <0x4>;
247 xlnx,xcl0-writexfer = <0x1>;
248 xlnx,xcl1-linesize = <0x4>;
249 xlnx,xcl1-writexfer = <0x1>;
250 xlnx,xcl2-linesize = <0x4>;
251 xlnx,xcl2-writexfer = <0x1>;
252 xlnx,xcl3-linesize = <0x4>;
253 xlnx,xcl3-writexfer = <0x1>;
255 Hard_Ethernet_MAC: xps-ll-temac@81c00000 {
256 #address-cells = <1>;
258 compatible = "xlnx,compound";
260 #address-cells = <1>;
262 compatible = "xlnx,xps-ll-temac-1.01.b";
263 device_type = "network";
264 interrupt-parent = <&xps_intc_0>;
265 interrupts = < 5 2 >;
266 llink-connected = <&DMA0>;
267 local-mac-address = [ 02 00 00 00 00 00 ];
268 reg = < 0x81c00000 0x40 >;
269 xlnx,bus2core-clk-ratio = <1>;
273 xlnx,rxfifo = <0x1000>;
274 xlnx,temac-type = <0>;
276 xlnx,txfifo = <0x1000>;
277 phy-handle = <&phy7>;
278 clock-frequency = <100000000>;
280 compatible = "marvell,88e1111";
285 IIC_EEPROM: i2c@81600000 {
286 compatible = "xlnx,xps-iic-2.00.a";
287 interrupt-parent = <&xps_intc_0>;
288 interrupts = < 6 2 >;
289 reg = < 0x81600000 0x10000 >;
290 xlnx,clk-freq = <0x5f5e100>;
291 xlnx,family = "virtex5";
292 xlnx,gpo-width = <0x1>;
293 xlnx,iic-freq = <0x186a0>;
294 xlnx,scl-inertial-delay = <0x0>;
295 xlnx,sda-inertial-delay = <0x0>;
296 xlnx,ten-bit-adr = <0x0>;
298 LEDs_8Bit: gpio@81400000 {
299 compatible = "xlnx,xps-gpio-1.00.a";
300 reg = < 0x81400000 0x10000 >;
301 xlnx,all-inputs = <0>;
302 xlnx,all-inputs-2 = <0>;
303 xlnx,dout-default = <0>;
304 xlnx,dout-default-2 = <0>;
305 xlnx,family = "virtex5";
306 xlnx,gpio-width = <8>;
307 xlnx,interrupt-present = <0>;
309 xlnx,is-bidir-2 = <1>;
311 xlnx,tri-default = <0xffffffff>;
312 xlnx,tri-default-2 = <0xffffffff>;
314 LEDs_Positions: gpio@81420000 {
315 compatible = "xlnx,xps-gpio-1.00.a";
316 reg = < 0x81420000 0x10000 >;
317 xlnx,all-inputs = <0>;
318 xlnx,all-inputs-2 = <0>;
319 xlnx,dout-default = <0>;
320 xlnx,dout-default-2 = <0>;
321 xlnx,family = "virtex5";
322 xlnx,gpio-width = <5>;
323 xlnx,interrupt-present = <0>;
325 xlnx,is-bidir-2 = <1>;
327 xlnx,tri-default = <0xffffffff>;
328 xlnx,tri-default-2 = <0xffffffff>;
330 Push_Buttons_5Bit: gpio@81440000 {
331 compatible = "xlnx,xps-gpio-1.00.a";
332 interrupt-parent = <&xps_intc_0>;
333 interrupts = < 8 2 >;
334 reg = < 0x81440000 0x10000 >;
335 xlnx,all-inputs = <1>;
336 xlnx,all-inputs-2 = <0>;
337 xlnx,dout-default = <0>;
338 xlnx,dout-default-2 = <0>;
339 xlnx,family = "virtex5";
340 xlnx,gpio-width = <5>;
341 xlnx,interrupt-present = <1>;
343 xlnx,is-bidir-2 = <1>;
345 xlnx,tri-default = <0xffffffff>;
346 xlnx,tri-default-2 = <0xffffffff>;
348 RS232_Uart_1: serial@83e00000 {
349 clock-frequency = <100000000>;
350 compatible = "xlnx,xps-uart16550-2.00.b", "ns16550";
351 current-speed = <9600>;
352 device_type = "serial";
353 interrupt-parent = <&xps_intc_0>;
354 interrupts = < 9 2 >;
355 reg = < 0x83e00000 0x10000 >;
356 reg-offset = <0x1003>;
358 xlnx,family = "virtex5";
359 xlnx,has-external-rclk = <0>;
360 xlnx,has-external-xin = <0>;
361 xlnx,is-a-16550 = <1>;
363 SysACE_CompactFlash: sysace@83600000 {
364 compatible = "xlnx,xps-sysace-1.00.a";
365 interrupt-parent = <&xps_intc_0>;
366 interrupts = < 4 2 >;
367 reg = < 0x83600000 0x10000 >;
368 xlnx,family = "virtex5";
369 xlnx,mem-width = <0x10>;
371 xps_bram_if_cntlr_1: xps-bram-if-cntlr@ffff0000 {
372 compatible = "xlnx,xps-bram-if-cntlr-1.00.a";
373 reg = < 0xffff0000 0x10000 >;
374 xlnx,family = "virtex5";
376 xps_intc_0: interrupt-controller@81800000 {
377 #interrupt-cells = <2>;
378 compatible = "xlnx,xps-intc-1.00.a";
379 interrupt-controller ;
380 reg = < 0x81800000 0x10000 >;
381 xlnx,num-intr-inputs = <0xc>;
383 xps_timebase_wdt_1: xps-timebase-wdt@83a00000 {
384 compatible = "xlnx,xps-timebase-wdt-1.00.b";
385 interrupt-parent = <&xps_intc_0>;
386 interrupts = < 2 0 1 2 >;
387 reg = < 0x83a00000 0x10000 >;
388 xlnx,family = "virtex5";
389 xlnx,wdt-enable-once = <0>;
390 xlnx,wdt-interval = <0x1e>;
392 xps_timer_1: timer@83c00000 {
393 compatible = "xlnx,xps-timer-1.00.a";
394 interrupt-parent = <&xps_intc_0>;
395 interrupts = < 3 2 >;
396 reg = < 0x83c00000 0x10000 >;
397 xlnx,count-width = <0x20>;
398 xlnx,family = "virtex5";
399 xlnx,gen0-assert = <1>;
400 xlnx,gen1-assert = <1>;
401 xlnx,one-timer-only = <1>;
402 xlnx,trig0-assert = <1>;
403 xlnx,trig1-assert = <1>;