kilauea.dts 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /*
  2. * Device Tree Source for AMCC Kilauea (405EX)
  3. *
  4. * Copyright 2007 DENX Software Engineering, Stefan Roese <sr@denx.de>
  5. *
  6. * This file is licensed under the terms of the GNU General Public
  7. * License version 2. This program is licensed "as is" without
  8. * any warranty of any kind, whether express or implied.
  9. */
  10. / {
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. model = "amcc,kilauea";
  14. compatible = "amcc,kilauea";
  15. dcr-parent = <&/cpus/PowerPC,405EX@0>;
  16. cpus {
  17. #address-cells = <1>;
  18. #size-cells = <0>;
  19. PowerPC,405EX@0 {
  20. device_type = "cpu";
  21. reg = <0>;
  22. clock-frequency = <0>; /* Filled in by U-Boot */
  23. timebase-frequency = <0>; /* Filled in by U-Boot */
  24. i-cache-line-size = <20>;
  25. d-cache-line-size = <20>;
  26. i-cache-size = <4000>; /* 16 kB */
  27. d-cache-size = <4000>; /* 16 kB */
  28. dcr-controller;
  29. dcr-access-method = "native";
  30. };
  31. };
  32. memory {
  33. device_type = "memory";
  34. reg = <0 0>; /* Filled in by U-Boot */
  35. };
  36. UIC0: interrupt-controller {
  37. compatible = "ibm,uic-405ex", "ibm,uic";
  38. interrupt-controller;
  39. cell-index = <0>;
  40. dcr-reg = <0c0 009>;
  41. #address-cells = <0>;
  42. #size-cells = <0>;
  43. #interrupt-cells = <2>;
  44. };
  45. UIC1: interrupt-controller1 {
  46. compatible = "ibm,uic-405ex","ibm,uic";
  47. interrupt-controller;
  48. cell-index = <1>;
  49. dcr-reg = <0d0 009>;
  50. #address-cells = <0>;
  51. #size-cells = <0>;
  52. #interrupt-cells = <2>;
  53. interrupts = <1e 4 1f 4>; /* cascade */
  54. interrupt-parent = <&UIC0>;
  55. };
  56. UIC2: interrupt-controller2 {
  57. compatible = "ibm,uic-405ex","ibm,uic";
  58. interrupt-controller;
  59. cell-index = <2>;
  60. dcr-reg = <0e0 009>;
  61. #address-cells = <0>;
  62. #size-cells = <0>;
  63. #interrupt-cells = <2>;
  64. interrupts = <1c 4 1d 4>; /* cascade */
  65. interrupt-parent = <&UIC0>;
  66. };
  67. plb {
  68. compatible = "ibm,plb-405ex", "ibm,plb4";
  69. #address-cells = <1>;
  70. #size-cells = <1>;
  71. ranges;
  72. clock-frequency = <0>; /* Filled in by U-Boot */
  73. SDRAM0: memory-controller {
  74. compatible = "ibm,sdram-405ex";
  75. dcr-reg = <010 2>;
  76. };
  77. MAL0: mcmal {
  78. compatible = "ibm,mcmal-405ex", "ibm,mcmal2";
  79. dcr-reg = <180 62>;
  80. num-tx-chans = <2>;
  81. num-rx-chans = <2>;
  82. interrupt-parent = <&MAL0>;
  83. interrupts = <0 1 2 3 4>;
  84. #interrupt-cells = <1>;
  85. #address-cells = <0>;
  86. #size-cells = <0>;
  87. interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
  88. /*RXEOB*/ 1 &UIC0 b 4
  89. /*SERR*/ 2 &UIC1 0 4
  90. /*TXDE*/ 3 &UIC1 1 4
  91. /*RXDE*/ 4 &UIC1 2 4>;
  92. interrupt-map-mask = <ffffffff>;
  93. };
  94. POB0: opb {
  95. compatible = "ibm,opb-405ex", "ibm,opb";
  96. #address-cells = <1>;
  97. #size-cells = <1>;
  98. ranges = <80000000 80000000 10000000
  99. ef600000 ef600000 a00000
  100. f0000000 f0000000 10000000>;
  101. dcr-reg = <0a0 5>;
  102. clock-frequency = <0>; /* Filled in by U-Boot */
  103. EBC0: ebc {
  104. compatible = "ibm,ebc-405ex", "ibm,ebc";
  105. dcr-reg = <012 2>;
  106. #address-cells = <2>;
  107. #size-cells = <1>;
  108. clock-frequency = <0>; /* Filled in by U-Boot */
  109. /* ranges property is supplied by U-Boot */
  110. interrupts = <5 1>;
  111. interrupt-parent = <&UIC1>;
  112. nor_flash@0,0 {
  113. compatible = "amd,s29gl512n", "cfi-flash";
  114. bank-width = <2>;
  115. reg = <0 000000 4000000>;
  116. #address-cells = <1>;
  117. #size-cells = <1>;
  118. partition@0 {
  119. label = "kernel";
  120. reg = <0 200000>;
  121. };
  122. partition@200000 {
  123. label = "root";
  124. reg = <200000 200000>;
  125. };
  126. partition@400000 {
  127. label = "user";
  128. reg = <400000 3b60000>;
  129. };
  130. partition@3f60000 {
  131. label = "env";
  132. reg = <3f60000 40000>;
  133. };
  134. partition@3fa0000 {
  135. label = "u-boot";
  136. reg = <3fa0000 60000>;
  137. };
  138. };
  139. };
  140. UART0: serial@ef600200 {
  141. device_type = "serial";
  142. compatible = "ns16550";
  143. reg = <ef600200 8>;
  144. virtual-reg = <ef600200>;
  145. clock-frequency = <0>; /* Filled in by U-Boot */
  146. current-speed = <0>;
  147. interrupt-parent = <&UIC0>;
  148. interrupts = <1a 4>;
  149. };
  150. UART1: serial@ef600300 {
  151. device_type = "serial";
  152. compatible = "ns16550";
  153. reg = <ef600300 8>;
  154. virtual-reg = <ef600300>;
  155. clock-frequency = <0>; /* Filled in by U-Boot */
  156. current-speed = <0>;
  157. interrupt-parent = <&UIC0>;
  158. interrupts = <1 4>;
  159. };
  160. IIC0: i2c@ef600400 {
  161. device_type = "i2c";
  162. compatible = "ibm,iic-405ex", "ibm,iic";
  163. reg = <ef600400 14>;
  164. interrupt-parent = <&UIC0>;
  165. interrupts = <2 4>;
  166. };
  167. IIC1: i2c@ef600500 {
  168. device_type = "i2c";
  169. compatible = "ibm,iic-405ex", "ibm,iic";
  170. reg = <ef600500 14>;
  171. interrupt-parent = <&UIC0>;
  172. interrupts = <7 4>;
  173. };
  174. RGMII0: emac-rgmii@ef600b00 {
  175. device_type = "rgmii-interface";
  176. compatible = "ibm,rgmii-405ex", "ibm,rgmii";
  177. reg = <ef600b00 104>;
  178. };
  179. EMAC0: ethernet@ef600900 {
  180. linux,network-index = <0>;
  181. device_type = "network";
  182. compatible = "ibm,emac-405ex", "ibm,emac4";
  183. interrupt-parent = <&EMAC0>;
  184. interrupts = <0 1>;
  185. #interrupt-cells = <1>;
  186. #address-cells = <0>;
  187. #size-cells = <0>;
  188. interrupt-map = </*Status*/ 0 &UIC0 18 4
  189. /*Wake*/ 1 &UIC1 1d 4>;
  190. reg = <ef600900 70>;
  191. local-mac-address = [000000000000]; /* Filled in by U-Boot */
  192. mal-device = <&MAL0>;
  193. mal-tx-channel = <0>;
  194. mal-rx-channel = <0>;
  195. cell-index = <0>;
  196. max-frame-size = <5dc>;
  197. rx-fifo-size = <1000>;
  198. tx-fifo-size = <800>;
  199. phy-mode = "rgmii";
  200. phy-map = <00000000>;
  201. rgmii-device = <&RGMII0>;
  202. rgmii-channel = <0>;
  203. };
  204. EMAC1: ethernet@ef600a00 {
  205. linux,network-index = <1>;
  206. device_type = "network";
  207. compatible = "ibm,emac-405ex", "ibm,emac4";
  208. interrupt-parent = <&EMAC1>;
  209. interrupts = <0 1>;
  210. #interrupt-cells = <1>;
  211. #address-cells = <0>;
  212. #size-cells = <0>;
  213. interrupt-map = </*Status*/ 0 &UIC0 19 4
  214. /*Wake*/ 1 &UIC1 1f 4>;
  215. reg = <ef600a00 70>;
  216. local-mac-address = [000000000000]; /* Filled in by U-Boot */
  217. mal-device = <&MAL0>;
  218. mal-tx-channel = <1>;
  219. mal-rx-channel = <1>;
  220. cell-index = <1>;
  221. max-frame-size = <5dc>;
  222. rx-fifo-size = <1000>;
  223. tx-fifo-size = <800>;
  224. phy-mode = "rgmii";
  225. phy-map = <00000000>;
  226. rgmii-device = <&RGMII0>;
  227. rgmii-channel = <1>;
  228. };
  229. };
  230. };
  231. };