virtex440-ml507.dts 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. /*
  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.
  4. *
  5. * (C) Copyright 2008 Xilinx, Inc.
  6. *
  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.
  10. */
  11. /dts-v1/;
  12. / {
  13. #address-cells = <1>;
  14. #size-cells = <1>;
  15. compatible = "xlnx,virtex440";
  16. dcr-parent = <&ppc440_0>;
  17. model = "testing";
  18. DDR2_SDRAM: memory@0 {
  19. device_type = "memory";
  20. reg = < 0 0x10000000 >;
  21. } ;
  22. chosen {
  23. bootargs = "console=ttyS0 ip=on root=/dev/ram";
  24. linux,stdout-path = "/plb@0/serial@83e00000";
  25. } ;
  26. cpus {
  27. #address-cells = <1>;
  28. #cpus = <1>;
  29. #size-cells = <0>;
  30. ppc440_0: cpu@0 {
  31. clock-frequency = <400000000>;
  32. compatible = "PowerPC,440", "ibm,ppc440";
  33. d-cache-line-size = <0x20>;
  34. d-cache-size = <0x8000>;
  35. dcr-access-method = "native";
  36. dcr-controller ;
  37. device_type = "cpu";
  38. i-cache-line-size = <0x20>;
  39. i-cache-size = <0x8000>;
  40. model = "PowerPC,440";
  41. reg = <0>;
  42. timebase-frequency = <400000000>;
  43. xlnx,apu-control = <1>;
  44. xlnx,apu-udi-0 = <0>;
  45. xlnx,apu-udi-1 = <0>;
  46. xlnx,apu-udi-10 = <0>;
  47. xlnx,apu-udi-11 = <0>;
  48. xlnx,apu-udi-12 = <0>;
  49. xlnx,apu-udi-13 = <0>;
  50. xlnx,apu-udi-14 = <0>;
  51. xlnx,apu-udi-15 = <0>;
  52. xlnx,apu-udi-2 = <0>;
  53. xlnx,apu-udi-3 = <0>;
  54. xlnx,apu-udi-4 = <0>;
  55. xlnx,apu-udi-5 = <0>;
  56. xlnx,apu-udi-6 = <0>;
  57. xlnx,apu-udi-7 = <0>;
  58. xlnx,apu-udi-8 = <0>;
  59. xlnx,apu-udi-9 = <0>;
  60. xlnx,dcr-autolock-enable = <1>;
  61. xlnx,dcu-rd-ld-cache-plb-prio = <0>;
  62. xlnx,dcu-rd-noncache-plb-prio = <0>;
  63. xlnx,dcu-rd-touch-plb-prio = <0>;
  64. xlnx,dcu-rd-urgent-plb-prio = <0>;
  65. xlnx,dcu-wr-flush-plb-prio = <0>;
  66. xlnx,dcu-wr-store-plb-prio = <0>;
  67. xlnx,dcu-wr-urgent-plb-prio = <0>;
  68. xlnx,dma0-control = <0>;
  69. xlnx,dma0-plb-prio = <0>;
  70. xlnx,dma0-rxchannelctrl = <0x1010000>;
  71. xlnx,dma0-rxirqtimer = <0x3ff>;
  72. xlnx,dma0-txchannelctrl = <0x1010000>;
  73. xlnx,dma0-txirqtimer = <0x3ff>;
  74. xlnx,dma1-control = <0>;
  75. xlnx,dma1-plb-prio = <0>;
  76. xlnx,dma1-rxchannelctrl = <0x1010000>;
  77. xlnx,dma1-rxirqtimer = <0x3ff>;
  78. xlnx,dma1-txchannelctrl = <0x1010000>;
  79. xlnx,dma1-txirqtimer = <0x3ff>;
  80. xlnx,dma2-control = <0>;
  81. xlnx,dma2-plb-prio = <0>;
  82. xlnx,dma2-rxchannelctrl = <0x1010000>;
  83. xlnx,dma2-rxirqtimer = <0x3ff>;
  84. xlnx,dma2-txchannelctrl = <0x1010000>;
  85. xlnx,dma2-txirqtimer = <0x3ff>;
  86. xlnx,dma3-control = <0>;
  87. xlnx,dma3-plb-prio = <0>;
  88. xlnx,dma3-rxchannelctrl = <0x1010000>;
  89. xlnx,dma3-rxirqtimer = <0x3ff>;
  90. xlnx,dma3-txchannelctrl = <0x1010000>;
  91. xlnx,dma3-txirqtimer = <0x3ff>;
  92. xlnx,endian-reset = <0>;
  93. xlnx,generate-plb-timespecs = <1>;
  94. xlnx,icu-rd-fetch-plb-prio = <0>;
  95. xlnx,icu-rd-spec-plb-prio = <0>;
  96. xlnx,icu-rd-touch-plb-prio = <0>;
  97. xlnx,interconnect-imask = <0xffffffff>;
  98. xlnx,mplb-allow-lock-xfer = <1>;
  99. xlnx,mplb-arb-mode = <0>;
  100. xlnx,mplb-awidth = <0x20>;
  101. xlnx,mplb-counter = <0x500>;
  102. xlnx,mplb-dwidth = <0x80>;
  103. xlnx,mplb-max-burst = <8>;
  104. xlnx,mplb-native-dwidth = <0x80>;
  105. xlnx,mplb-p2p = <0>;
  106. xlnx,mplb-prio-dcur = <2>;
  107. xlnx,mplb-prio-dcuw = <3>;
  108. xlnx,mplb-prio-icu = <4>;
  109. xlnx,mplb-prio-splb0 = <1>;
  110. xlnx,mplb-prio-splb1 = <0>;
  111. xlnx,mplb-read-pipe-enable = <1>;
  112. xlnx,mplb-sync-tattribute = <0>;
  113. xlnx,mplb-wdog-enable = <1>;
  114. xlnx,mplb-write-pipe-enable = <1>;
  115. xlnx,mplb-write-post-enable = <1>;
  116. xlnx,num-dma = <1>;
  117. xlnx,pir = <0xf>;
  118. xlnx,ppc440mc-addr-base = <0>;
  119. xlnx,ppc440mc-addr-high = <0xfffffff>;
  120. xlnx,ppc440mc-arb-mode = <0>;
  121. xlnx,ppc440mc-bank-conflict-mask = <0xc00000>;
  122. xlnx,ppc440mc-control = <0xf810008f>;
  123. xlnx,ppc440mc-max-burst = <8>;
  124. xlnx,ppc440mc-prio-dcur = <2>;
  125. xlnx,ppc440mc-prio-dcuw = <3>;
  126. xlnx,ppc440mc-prio-icu = <4>;
  127. xlnx,ppc440mc-prio-splb0 = <1>;
  128. xlnx,ppc440mc-prio-splb1 = <0>;
  129. xlnx,ppc440mc-row-conflict-mask = <0x3ffe00>;
  130. xlnx,ppcdm-asyncmode = <0>;
  131. xlnx,ppcds-asyncmode = <0>;
  132. xlnx,user-reset = <0>;
  133. DMA0: sdma@80 {
  134. compatible = "xlnx,ll-dma-1.00.a";
  135. dcr-reg = < 0x80 0x11 >;
  136. interrupt-parent = <&xps_intc_0>;
  137. interrupts = < 9 2 0xa 2 >;
  138. } ;
  139. } ;
  140. } ;
  141. plb_v46_0: plb@0 {
  142. #address-cells = <1>;
  143. #size-cells = <1>;
  144. compatible = "xlnx,plb-v46-1.02.a", "simple-bus";
  145. ranges ;
  146. DIP_Switches_8Bit: gpio@81460000 {
  147. compatible = "xlnx,xps-gpio-1.00.a";
  148. interrupt-parent = <&xps_intc_0>;
  149. interrupts = < 6 2 >;
  150. reg = < 0x81460000 0x10000 >;
  151. xlnx,all-inputs = <1>;
  152. xlnx,all-inputs-2 = <0>;
  153. xlnx,dout-default = <0>;
  154. xlnx,dout-default-2 = <0>;
  155. xlnx,family = "virtex5";
  156. xlnx,gpio-width = <8>;
  157. xlnx,interrupt-present = <1>;
  158. xlnx,is-bidir = <1>;
  159. xlnx,is-bidir-2 = <1>;
  160. xlnx,is-dual = <0>;
  161. xlnx,tri-default = <0xffffffff>;
  162. xlnx,tri-default-2 = <0xffffffff>;
  163. } ;
  164. Hard_Ethernet_MAC: xps-ll-temac@81c00000 {
  165. #address-cells = <1>;
  166. #size-cells = <1>;
  167. compatible = "xlnx,compound";
  168. ethernet@81c00000 {
  169. compatible = "xlnx,xps-ll-temac-1.01.b";
  170. device_type = "network";
  171. interrupt-parent = <&xps_intc_0>;
  172. interrupts = < 5 2 >;
  173. llink-connected = <&DMA0>;
  174. local-mac-address = [ 02 00 00 00 00 00 ];
  175. reg = < 0x81c00000 0x40 >;
  176. xlnx,bus2core-clk-ratio = <1>;
  177. xlnx,phy-type = <1>;
  178. xlnx,phyaddr = <1>;
  179. xlnx,rxcsum = <1>;
  180. xlnx,rxfifo = <0x1000>;
  181. xlnx,temac-type = <0>;
  182. xlnx,txcsum = <1>;
  183. xlnx,txfifo = <0x1000>;
  184. } ;
  185. } ;
  186. LEDs_8Bit: gpio@81400000 {
  187. compatible = "xlnx,xps-gpio-1.00.a";
  188. reg = < 0x81400000 0x10000 >;
  189. xlnx,all-inputs = <0>;
  190. xlnx,all-inputs-2 = <0>;
  191. xlnx,dout-default = <0>;
  192. xlnx,dout-default-2 = <0>;
  193. xlnx,family = "virtex5";
  194. xlnx,gpio-width = <8>;
  195. xlnx,interrupt-present = <0>;
  196. xlnx,is-bidir = <1>;
  197. xlnx,is-bidir-2 = <1>;
  198. xlnx,is-dual = <0>;
  199. xlnx,tri-default = <0xffffffff>;
  200. xlnx,tri-default-2 = <0xffffffff>;
  201. } ;
  202. LEDs_Positions: gpio@81420000 {
  203. compatible = "xlnx,xps-gpio-1.00.a";
  204. reg = < 0x81420000 0x10000 >;
  205. xlnx,all-inputs = <0>;
  206. xlnx,all-inputs-2 = <0>;
  207. xlnx,dout-default = <0>;
  208. xlnx,dout-default-2 = <0>;
  209. xlnx,family = "virtex5";
  210. xlnx,gpio-width = <5>;
  211. xlnx,interrupt-present = <0>;
  212. xlnx,is-bidir = <1>;
  213. xlnx,is-bidir-2 = <1>;
  214. xlnx,is-dual = <0>;
  215. xlnx,tri-default = <0xffffffff>;
  216. xlnx,tri-default-2 = <0xffffffff>;
  217. } ;
  218. Push_Buttons_5Bit: gpio@81440000 {
  219. compatible = "xlnx,xps-gpio-1.00.a";
  220. interrupt-parent = <&xps_intc_0>;
  221. interrupts = < 7 2 >;
  222. reg = < 0x81440000 0x10000 >;
  223. xlnx,all-inputs = <1>;
  224. xlnx,all-inputs-2 = <0>;
  225. xlnx,dout-default = <0>;
  226. xlnx,dout-default-2 = <0>;
  227. xlnx,family = "virtex5";
  228. xlnx,gpio-width = <5>;
  229. xlnx,interrupt-present = <1>;
  230. xlnx,is-bidir = <1>;
  231. xlnx,is-bidir-2 = <1>;
  232. xlnx,is-dual = <0>;
  233. xlnx,tri-default = <0xffffffff>;
  234. xlnx,tri-default-2 = <0xffffffff>;
  235. } ;
  236. RS232_Uart_1: serial@83e00000 {
  237. clock-frequency = <100000000>;
  238. compatible = "xlnx,xps-uart16550-2.00.a", "ns16550";
  239. current-speed = <0x2580>;
  240. device_type = "serial";
  241. interrupt-parent = <&xps_intc_0>;
  242. interrupts = < 8 2 >;
  243. reg = < 0x83e00000 0x10000 >;
  244. reg-offset = <3>;
  245. reg-shift = <2>;
  246. xlnx,family = "virtex5";
  247. xlnx,has-external-rclk = <0>;
  248. xlnx,has-external-xin = <0>;
  249. xlnx,is-a-16550 = <1>;
  250. } ;
  251. SysACE_CompactFlash: sysace@83600000 {
  252. compatible = "xlnx,xps-sysace-1.00.a";
  253. interrupt-parent = <&xps_intc_0>;
  254. interrupts = < 4 2 >;
  255. reg = < 0x83600000 0x10000 >;
  256. xlnx,family = "virtex5";
  257. xlnx,mem-width = <0x10>;
  258. } ;
  259. xps_bram_if_cntlr_1: xps-bram-if-cntlr@ffff0000 {
  260. compatible = "xlnx,xps-bram-if-cntlr-1.00.a";
  261. reg = < 0xffff0000 0x10000 >;
  262. xlnx,family = "virtex5";
  263. } ;
  264. xps_intc_0: interrupt-controller@81800000 {
  265. #interrupt-cells = <2>;
  266. compatible = "xlnx,xps-intc-1.00.a";
  267. interrupt-controller ;
  268. reg = < 0x81800000 0x10000 >;
  269. xlnx,num-intr-inputs = <0xb>;
  270. } ;
  271. xps_timebase_wdt_1: xps-timebase-wdt@83a00000 {
  272. compatible = "xlnx,xps-timebase-wdt-1.00.b";
  273. interrupt-parent = <&xps_intc_0>;
  274. interrupts = < 2 0 1 2 >;
  275. reg = < 0x83a00000 0x10000 >;
  276. xlnx,family = "virtex5";
  277. xlnx,wdt-enable-once = <0>;
  278. xlnx,wdt-interval = <0x1e>;
  279. } ;
  280. xps_timer_1: timer@83c00000 {
  281. compatible = "xlnx,xps-timer-1.00.a";
  282. interrupt-parent = <&xps_intc_0>;
  283. interrupts = < 3 2 >;
  284. reg = < 0x83c00000 0x10000 >;
  285. xlnx,count-width = <0x20>;
  286. xlnx,family = "virtex5";
  287. xlnx,gen0-assert = <1>;
  288. xlnx,gen1-assert = <1>;
  289. xlnx,one-timer-only = <1>;
  290. xlnx,trig0-assert = <1>;
  291. xlnx,trig1-assert = <1>;
  292. } ;
  293. } ;
  294. } ;