From dc568ec4906ac2478e2d692adc6b12fbb6e4657e Mon Sep 17 00:00:00 2001 From: John Linn Date: Tue, 1 Jul 2008 16:02:54 -0700 Subject: powerpc/virtex: add dts file for ML507 reference design This new file adds support for the ML507 reference design. The ML507 uses the Virtex 5 FXT FPGA which embeds a ppc440 core. Signed-off-by: John Linn Signed-off-by: Grant Likely --- arch/powerpc/boot/dts/virtex440-ml507.dts | 238 ++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 arch/powerpc/boot/dts/virtex440-ml507.dts (limited to 'arch/powerpc/boot') diff --git a/arch/powerpc/boot/dts/virtex440-ml507.dts b/arch/powerpc/boot/dts/virtex440-ml507.dts new file mode 100644 index 00000000000..f1b334454f5 --- /dev/null +++ b/arch/powerpc/boot/dts/virtex440-ml507.dts @@ -0,0 +1,238 @@ +/* + * This file supports the Xilinx ML507 board with the 440 processor. + * A reference design for the FPGA is provided at http://git.xilinx.com. + * + * (C) Copyright 2008 Xilinx, Inc. + * + * This file is licensed under the terms of the GNU General Public License + * version 2. This program is licensed "as is" without any warranty of any + * kind, whether express or implied. + */ + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "xlnx,virtex440"; + dcr-parent = <&ppc440_virtex5_0>; + model = "testing"; + chosen { + bootargs = "console=ttyS0 ip=on root=/dev/ram"; + linux,stdout-path = "/plb@0/serial@d0000000"; + } ; + cpus { + #address-cells = <1>; + #cpus = <1>; + #size-cells = <0>; + ppc440_virtex5_0: cpu@0 { + clock-frequency = <17d78400>; + compatible = "PowerPC,440", "ibm,ppc440"; + d-cache-line-size = <20>; + d-cache-size = <8000>; + dcr-access-method = "native"; + dcr-controller ; + device_type = "cpu"; + i-cache-line-size = <20>; + i-cache-size = <8000>; + model = "PowerPC,440"; + reg = <0>; + timebase-frequency = <17d78400>; + xlnx,apu-control = <1>; + xlnx,apu-udi-0 = ; + xlnx,apu-udi-1 = ; + xlnx,apu-udi-10 = <0>; + xlnx,apu-udi-11 = <0>; + xlnx,apu-udi-12 = <0>; + xlnx,apu-udi-13 = <0>; + xlnx,apu-udi-14 = <0>; + xlnx,apu-udi-15 = <0>; + xlnx,apu-udi-2 = <0>; + xlnx,apu-udi-3 = <0>; + xlnx,apu-udi-4 = <0>; + xlnx,apu-udi-5 = <0>; + xlnx,apu-udi-6 = <0>; + xlnx,apu-udi-7 = <0>; + xlnx,apu-udi-8 = <0>; + xlnx,apu-udi-9 = <0>; + xlnx,dcr-autolock-enable = <1>; + xlnx,dcu-rd-ld-cache-plb-prio = <0>; + xlnx,dcu-rd-noncache-plb-prio = <0>; + xlnx,dcu-rd-touch-plb-prio = <0>; + xlnx,dcu-rd-urgent-plb-prio = <0>; + xlnx,dcu-wr-flush-plb-prio = <0>; + xlnx,dcu-wr-store-plb-prio = <0>; + xlnx,dcu-wr-urgent-plb-prio = <0>; + xlnx,dma0-control = <0>; + xlnx,dma0-plb-prio = <0>; + xlnx,dma0-rxchannelctrl = <1010000>; + xlnx,dma0-rxirqtimer = <3ff>; + xlnx,dma0-txchannelctrl = <1010000>; + xlnx,dma0-txirqtimer = <3ff>; + xlnx,dma1-control = <0>; + xlnx,dma1-plb-prio = <0>; + xlnx,dma1-rxchannelctrl = <1010000>; + xlnx,dma1-rxirqtimer = <3ff>; + xlnx,dma1-txchannelctrl = <1010000>; + xlnx,dma1-txirqtimer = <3ff>; + xlnx,dma2-control = <0>; + xlnx,dma2-plb-prio = <0>; + xlnx,dma2-rxchannelctrl = <1010000>; + xlnx,dma2-rxirqtimer = <3ff>; + xlnx,dma2-txchannelctrl = <1010000>; + xlnx,dma2-txirqtimer = <3ff>; + xlnx,dma3-control = <0>; + xlnx,dma3-plb-prio = <0>; + xlnx,dma3-rxchannelctrl = <1010000>; + xlnx,dma3-rxirqtimer = <3ff>; + xlnx,dma3-txchannelctrl = <1010000>; + xlnx,dma3-txirqtimer = <3ff>; + xlnx,endian-reset = <0>; + xlnx,generate-plb-timespecs = <1>; + xlnx,icu-rd-fetch-plb-prio = <0>; + xlnx,icu-rd-spec-plb-prio = <0>; + xlnx,icu-rd-touch-plb-prio = <0>; + xlnx,interconnect-imask = ; + xlnx,mplb-allow-lock-xfer = <1>; + xlnx,mplb-arb-mode = <0>; + xlnx,mplb-awidth = <20>; + xlnx,mplb-counter = <500>; + xlnx,mplb-dwidth = <80>; + xlnx,mplb-max-burst = <8>; + xlnx,mplb-native-dwidth = <80>; + xlnx,mplb-p2p = <0>; + xlnx,mplb-prio-dcur = <2>; + xlnx,mplb-prio-dcuw = <3>; + xlnx,mplb-prio-icu = <4>; + xlnx,mplb-prio-splb0 = <1>; + xlnx,mplb-prio-splb1 = <0>; + xlnx,mplb-read-pipe-enable = <1>; + xlnx,mplb-sync-tattribute = <0>; + xlnx,mplb-wdog-enable = <1>; + xlnx,mplb-write-pipe-enable = <1>; + xlnx,mplb-write-post-enable = <1>; + xlnx,num-dma = <1>; + xlnx,pir = ; + xlnx,ppc440mc-addr-base = <0>; + xlnx,ppc440mc-addr-high = <1fffffff>; + xlnx,ppc440mc-arb-mode = <0>; + xlnx,ppc440mc-bank-conflict-mask = ; + xlnx,ppc440mc-control = ; + xlnx,ppc440mc-max-burst = <8>; + xlnx,ppc440mc-prio-dcur = <2>; + xlnx,ppc440mc-prio-dcuw = <3>; + xlnx,ppc440mc-prio-icu = <4>; + xlnx,ppc440mc-prio-splb0 = <1>; + xlnx,ppc440mc-prio-splb1 = <0>; + xlnx,ppc440mc-row-conflict-mask = <3ffe00>; + xlnx,ppcdm-asyncmode = <0>; + xlnx,ppcds-asyncmode = <0>; + xlnx,user-reset = <0>; + DMA0: sdma@80 { + compatible = "xlnx,ll-dma-1.00.a"; + dcr-reg = < 80 11 >; + interrupt-parent = <&opb_intc_0>; + interrupts = < 5 2 6 2 >; + } ; + } ; + } ; + plb_v46_cfb_0: plb@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "xlnx,plb-v46-1.02.a"; + ranges ; + iic_bus: i2c@d0020000 { + compatible = "xlnx,xps-iic-2.00.a"; + interrupt-parent = <&opb_intc_0>; + interrupts = < 7 2 >; + reg = < d0020000 200 >; + xlnx,clk-freq = <5f5e100>; + xlnx,family = "virtex5"; + xlnx,gpo-width = <1>; + xlnx,iic-freq = <186a0>; + xlnx,scl-inertial-delay = <0>; + xlnx,sda-inertial-delay = <0>; + xlnx,ten-bit-adr = <0>; + } ; + leds_8bit: gpio@d0010200 { + compatible = "xlnx,xps-gpio-1.00.a"; + interrupt-parent = <&opb_intc_0>; + interrupts = < 1 2 >; + reg = < d0010200 200 >; + xlnx,all-inputs = <0>; + xlnx,all-inputs-2 = <0>; + xlnx,dout-default = <0>; + xlnx,dout-default-2 = <0>; + xlnx,family = "virtex5"; + xlnx,gpio-width = <8>; + xlnx,interrupt-present = <1>; + xlnx,is-bidir = <1>; + xlnx,is-bidir-2 = <1>; + xlnx,is-dual = <0>; + xlnx,tri-default = ; + xlnx,tri-default-2 = ; + } ; + ll_temac_0: xps-ll-temac@91200000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "xlnx,compound"; + ethernet@91200000 { + compatible = "xlnx,xps-ll-temac-1.01.a"; + device_type = "network"; + interrupt-parent = <&opb_intc_0>; + interrupts = < 4 2 >; + llink-connected = <&DMA0>; + local-mac-address = [ 02 00 00 00 00 00 ]; + reg = < 91200000 40 >; + xlnx,bus2core-clk-ratio = <1>; + xlnx,phy-type = <1>; + xlnx,phyaddr = <1>; + xlnx,rxcsum = <0>; + xlnx,rxfifo = <4000>; + xlnx,temac-type = <0>; + xlnx,txcsum = <0>; + xlnx,txfifo = <4000>; + } ; + } ; + opb_intc_0: interrupt-controller@d0020200 { + #interrupt-cells = <2>; + compatible = "xlnx,xps-intc-1.00.a"; + interrupt-controller ; + reg = < d0020200 20 >; + xlnx,num-intr-inputs = <8>; + } ; + plb_bram_if_cntlr_0: xps-bram-if-cntlr@ffff0000 { + compatible = "xlnx,xps-bram-if-cntlr-1.00.a"; + reg = < ffff0000 10000 >; + xlnx,family = "virtex5"; + } ; + plb_bram_if_cntlr_1: xps-bram-if-cntlr@eee00000 { + compatible = "xlnx,xps-bram-if-cntlr-1.00.a"; + reg = < eee00000 2000 >; + xlnx,family = "virtex5"; + } ; + rs232_uart_0: serial@d0000000 { + clock-frequency = <1312d00>; + compatible = "xlnx,xps-uart16550-2.00.a", "ns16550"; + current-speed = <2580>; + device_type = "serial"; + interrupt-parent = <&opb_intc_0>; + interrupts = < 0 2 >; + reg = < d0000000 2000 >; + reg-offset = <1003>; + reg-shift = <2>; + xlnx,family = "virtex5"; + xlnx,has-external-rclk = <0>; + xlnx,has-external-xin = <1>; + xlnx,is-a-16550 = <1>; + } ; + sysace_compactflash: sysace@d0030100 { + compatible = "xlnx,xps-sysace-1.00.a"; + reg = < d0030100 80 >; + xlnx,family = "virtex5"; + xlnx,mem-width = <10>; + } ; + } ; + ppc440mc_ddr2_0: memory@0 { + device_type = "memory"; + reg = < 0 20000000 >; + } ; +} ; -- cgit v1.2.3