prpmc2800.dts 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. /* Device Tree Source for Motorola PrPMC2800
  2. *
  3. * Author: Mark A. Greer <mgreer@mvista.com>
  4. *
  5. * 2007 (c) MontaVista, Software, Inc. This file is licensed under
  6. * the terms of the GNU General Public License version 2. This program
  7. * is licensed "as is" without any warranty of any kind, whether express
  8. * or implied.
  9. *
  10. * Property values that are labeled as "Default" will be updated by bootwrapper
  11. * if it can determine the exact PrPMC type.
  12. */
  13. /dts-v1/;
  14. / {
  15. #address-cells = <1>;
  16. #size-cells = <1>;
  17. model = "PrPMC280/PrPMC2800"; /* Default */
  18. compatible = "motorola,PrPMC2800";
  19. coherency-off;
  20. cpus {
  21. #address-cells = <1>;
  22. #size-cells = <0>;
  23. PowerPC,7447 {
  24. device_type = "cpu";
  25. reg = <0>;
  26. clock-frequency = <733333333>; /* Default */
  27. bus-frequency = <133333333>;
  28. timebase-frequency = <33333333>;
  29. i-cache-line-size = <32>;
  30. d-cache-line-size = <32>;
  31. i-cache-size = <32768>;
  32. d-cache-size = <32768>;
  33. };
  34. };
  35. memory {
  36. device_type = "memory";
  37. reg = <0x0 0x20000000>; /* Default (512MB) */
  38. };
  39. system-controller@f1000000 { /* Marvell Discovery mv64360 */
  40. #address-cells = <1>;
  41. #size-cells = <1>;
  42. model = "mv64360"; /* Default */
  43. compatible = "marvell,mv64360";
  44. clock-frequency = <133333333>;
  45. reg = <0xf1000000 0x10000>;
  46. virtual-reg = <0xf1000000>;
  47. ranges = <0x88000000 0x88000000 0x1000000 /* PCI 0 I/O Space */
  48. 0x80000000 0x80000000 0x8000000 /* PCI 0 MEM Space */
  49. 0xa0000000 0xa0000000 0x4000000 /* User FLASH */
  50. 0x00000000 0xf1000000 0x0010000 /* Bridge's regs */
  51. 0xf2000000 0xf2000000 0x0040000>;/* Integrated SRAM */
  52. flash@a0000000 {
  53. device_type = "rom";
  54. compatible = "direct-mapped";
  55. reg = <0xa0000000 0x4000000>; /* Default (64MB) */
  56. probe-type = "CFI";
  57. bank-width = <4>;
  58. partitions = <0x00000000 0x00100000 /* RO */
  59. 0x00100000 0x00040001 /* RW */
  60. 0x00140000 0x00400000 /* RO */
  61. 0x00540000 0x039c0000 /* RO */
  62. 0x03f00000 0x00100000>; /* RO */
  63. partition-names = "FW Image A", "FW Config Data", "Kernel Image", "Filesystem", "FW Image B";
  64. };
  65. mdio {
  66. #address-cells = <1>;
  67. #size-cells = <0>;
  68. compatible = "marvell,mv64360-mdio";
  69. PHY0: ethernet-phy@1 {
  70. compatible = "broadcom,bcm5421";
  71. interrupts = <76>; /* GPP 12 */
  72. interrupt-parent = <&PIC>;
  73. reg = <1>;
  74. };
  75. PHY1: ethernet-phy@3 {
  76. compatible = "broadcom,bcm5421";
  77. interrupts = <76>; /* GPP 12 */
  78. interrupt-parent = <&PIC>;
  79. reg = <3>;
  80. };
  81. };
  82. ethernet-group@2000 {
  83. #address-cells = <1>;
  84. #size-cells = <0>;
  85. compatible = "marvell,mv64360-eth-group";
  86. reg = <0x2000 0x2000>;
  87. ethernet@0 {
  88. device_type = "network";
  89. compatible = "marvell,mv64360-eth";
  90. reg = <0>;
  91. interrupts = <32>;
  92. interrupt-parent = <&PIC>;
  93. phy = <&PHY0>;
  94. local-mac-address = [ 00 00 00 00 00 00 ];
  95. };
  96. ethernet@1 {
  97. device_type = "network";
  98. compatible = "marvell,mv64360-eth";
  99. reg = <1>;
  100. interrupts = <33>;
  101. interrupt-parent = <&PIC>;
  102. phy = <&PHY1>;
  103. local-mac-address = [ 00 00 00 00 00 00 ];
  104. };
  105. };
  106. SDMA0: sdma@4000 {
  107. compatible = "marvell,mv64360-sdma";
  108. reg = <0x4000 0xc18>;
  109. virtual-reg = <0xf1004000>;
  110. interrupts = <36>;
  111. interrupt-parent = <&PIC>;
  112. };
  113. SDMA1: sdma@6000 {
  114. compatible = "marvell,mv64360-sdma";
  115. reg = <0x6000 0xc18>;
  116. virtual-reg = <0xf1006000>;
  117. interrupts = <38>;
  118. interrupt-parent = <&PIC>;
  119. };
  120. BRG0: brg@b200 {
  121. compatible = "marvell,mv64360-brg";
  122. reg = <0xb200 0x8>;
  123. clock-src = <8>;
  124. clock-frequency = <133333333>;
  125. current-speed = <9600>;
  126. };
  127. BRG1: brg@b208 {
  128. compatible = "marvell,mv64360-brg";
  129. reg = <0xb208 0x8>;
  130. clock-src = <8>;
  131. clock-frequency = <133333333>;
  132. current-speed = <9600>;
  133. };
  134. CUNIT: cunit@f200 {
  135. reg = <0xf200 0x200>;
  136. };
  137. MPSCROUTING: mpscrouting@b400 {
  138. reg = <0xb400 0xc>;
  139. };
  140. MPSCINTR: mpscintr@b800 {
  141. reg = <0xb800 0x100>;
  142. virtual-reg = <0xf100b800>;
  143. };
  144. MPSC0: mpsc@8000 {
  145. compatible = "marvell,mv64360-mpsc";
  146. reg = <0x8000 0x38>;
  147. virtual-reg = <0xf1008000>;
  148. sdma = <&SDMA0>;
  149. brg = <&BRG0>;
  150. cunit = <&CUNIT>;
  151. mpscrouting = <&MPSCROUTING>;
  152. mpscintr = <&MPSCINTR>;
  153. cell-index = <0>;
  154. interrupts = <40>;
  155. interrupt-parent = <&PIC>;
  156. };
  157. MPSC1: mpsc@9000 {
  158. compatible = "marvell,mv64360-mpsc";
  159. reg = <0x9000 0x38>;
  160. virtual-reg = <0xf1009000>;
  161. sdma = <&SDMA1>;
  162. brg = <&BRG1>;
  163. cunit = <&CUNIT>;
  164. mpscrouting = <&MPSCROUTING>;
  165. mpscintr = <&MPSCINTR>;
  166. cell-index = <1>;
  167. interrupts = <42>;
  168. interrupt-parent = <&PIC>;
  169. };
  170. wdt@b410 { /* watchdog timer */
  171. compatible = "marvell,mv64360-wdt";
  172. reg = <0xb410 0x8>;
  173. };
  174. i2c@c000 {
  175. device_type = "i2c";
  176. compatible = "marvell,mv64360-i2c";
  177. reg = <0xc000 0x20>;
  178. virtual-reg = <0xf100c000>;
  179. interrupts = <37>;
  180. interrupt-parent = <&PIC>;
  181. };
  182. PIC: pic {
  183. #interrupt-cells = <1>;
  184. #address-cells = <0>;
  185. compatible = "marvell,mv64360-pic";
  186. reg = <0x0 0x88>;
  187. interrupt-controller;
  188. };
  189. mpp@f000 {
  190. compatible = "marvell,mv64360-mpp";
  191. reg = <0xf000 0x10>;
  192. };
  193. gpp@f100 {
  194. compatible = "marvell,mv64360-gpp";
  195. reg = <0xf100 0x20>;
  196. };
  197. pci@80000000 {
  198. #address-cells = <3>;
  199. #size-cells = <2>;
  200. #interrupt-cells = <1>;
  201. device_type = "pci";
  202. compatible = "marvell,mv64360-pci";
  203. reg = <0xcf8 0x8>;
  204. ranges = <0x01000000 0x0 0x0
  205. 0x88000000 0x0 0x01000000
  206. 0x02000000 0x0 0x80000000
  207. 0x80000000 0x0 0x08000000>;
  208. bus-range = <0 255>;
  209. clock-frequency = <66000000>;
  210. interrupt-pci-iack = <0xc34>;
  211. interrupt-parent = <&PIC>;
  212. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  213. interrupt-map = <
  214. /* IDSEL 0x0a */
  215. 0x5000 0 0 1 &PIC 80
  216. 0x5000 0 0 2 &PIC 81
  217. 0x5000 0 0 3 &PIC 91
  218. 0x5000 0 0 4 &PIC 93
  219. /* IDSEL 0x0b */
  220. 0x5800 0 0 1 &PIC 91
  221. 0x5800 0 0 2 &PIC 93
  222. 0x5800 0 0 3 &PIC 80
  223. 0x5800 0 0 4 &PIC 81
  224. /* IDSEL 0x0c */
  225. 0x6000 0 0 1 &PIC 91
  226. 0x6000 0 0 2 &PIC 93
  227. 0x6000 0 0 3 &PIC 80
  228. 0x6000 0 0 4 &PIC 81
  229. /* IDSEL 0x0d */
  230. 0x6800 0 0 1 &PIC 93
  231. 0x6800 0 0 2 &PIC 80
  232. 0x6800 0 0 3 &PIC 81
  233. 0x6800 0 0 4 &PIC 91
  234. >;
  235. };
  236. cpu-error@0070 {
  237. compatible = "marvell,mv64360-cpu-error";
  238. reg = <0x70 0x10 0x128 0x28>;
  239. interrupts = <3>;
  240. interrupt-parent = <&PIC>;
  241. };
  242. sram-ctrl@0380 {
  243. compatible = "marvell,mv64360-sram-ctrl";
  244. reg = <0x380 0x80>;
  245. interrupts = <13>;
  246. interrupt-parent = <&PIC>;
  247. };
  248. pci-error@1d40 {
  249. compatible = "marvell,mv64360-pci-error";
  250. reg = <0x1d40 0x40 0xc28 0x4>;
  251. interrupts = <12>;
  252. interrupt-parent = <&PIC>;
  253. };
  254. mem-ctrl@1400 {
  255. compatible = "marvell,mv64360-mem-ctrl";
  256. reg = <0x1400 0x60>;
  257. interrupts = <17>;
  258. interrupt-parent = <&PIC>;
  259. };
  260. };
  261. chosen {
  262. bootargs = "ip=on";
  263. linux,stdout-path = &MPSC0;
  264. };
  265. };