prpmc2800.dts 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  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. device_type = "mdio";
  69. compatible = "marvell,mv64360-mdio";
  70. PHY0: ethernet-phy@1 {
  71. device_type = "ethernet-phy";
  72. compatible = "broadcom,bcm5421";
  73. interrupts = <76>; /* GPP 12 */
  74. interrupt-parent = <&PIC>;
  75. reg = <1>;
  76. };
  77. PHY1: ethernet-phy@3 {
  78. device_type = "ethernet-phy";
  79. compatible = "broadcom,bcm5421";
  80. interrupts = <76>; /* GPP 12 */
  81. interrupt-parent = <&PIC>;
  82. reg = <3>;
  83. };
  84. };
  85. ethernet-group@2000 {
  86. #address-cells = <1>;
  87. #size-cells = <0>;
  88. compatible = "marvell,mv64360-eth-group";
  89. reg = <0x2000 0x2000>;
  90. ethernet@0 {
  91. device_type = "network";
  92. compatible = "marvell,mv64360-eth";
  93. reg = <0>;
  94. interrupts = <32>;
  95. interrupt-parent = <&PIC>;
  96. phy = <&PHY0>;
  97. local-mac-address = [ 00 00 00 00 00 00 ];
  98. };
  99. ethernet@1 {
  100. device_type = "network";
  101. compatible = "marvell,mv64360-eth";
  102. reg = <1>;
  103. interrupts = <33>;
  104. interrupt-parent = <&PIC>;
  105. phy = <&PHY1>;
  106. local-mac-address = [ 00 00 00 00 00 00 ];
  107. };
  108. };
  109. SDMA0: sdma@4000 {
  110. compatible = "marvell,mv64360-sdma";
  111. reg = <0x4000 0xc18>;
  112. virtual-reg = <0xf1004000>;
  113. interrupts = <36>;
  114. interrupt-parent = <&PIC>;
  115. };
  116. SDMA1: sdma@6000 {
  117. compatible = "marvell,mv64360-sdma";
  118. reg = <0x6000 0xc18>;
  119. virtual-reg = <0xf1006000>;
  120. interrupts = <38>;
  121. interrupt-parent = <&PIC>;
  122. };
  123. BRG0: brg@b200 {
  124. compatible = "marvell,mv64360-brg";
  125. reg = <0xb200 0x8>;
  126. clock-src = <8>;
  127. clock-frequency = <133333333>;
  128. current-speed = <9600>;
  129. };
  130. BRG1: brg@b208 {
  131. compatible = "marvell,mv64360-brg";
  132. reg = <0xb208 0x8>;
  133. clock-src = <8>;
  134. clock-frequency = <133333333>;
  135. current-speed = <9600>;
  136. };
  137. CUNIT: cunit@f200 {
  138. reg = <0xf200 0x200>;
  139. };
  140. MPSCROUTING: mpscrouting@b400 {
  141. reg = <0xb400 0xc>;
  142. };
  143. MPSCINTR: mpscintr@b800 {
  144. reg = <0xb800 0x100>;
  145. virtual-reg = <0xf100b800>;
  146. };
  147. MPSC0: mpsc@8000 {
  148. device_type = "serial";
  149. compatible = "marvell,mv64360-mpsc";
  150. reg = <0x8000 0x38>;
  151. virtual-reg = <0xf1008000>;
  152. sdma = <&SDMA0>;
  153. brg = <&BRG0>;
  154. cunit = <&CUNIT>;
  155. mpscrouting = <&MPSCROUTING>;
  156. mpscintr = <&MPSCINTR>;
  157. cell-index = <0>;
  158. interrupts = <40>;
  159. interrupt-parent = <&PIC>;
  160. };
  161. MPSC1: mpsc@9000 {
  162. device_type = "serial";
  163. compatible = "marvell,mv64360-mpsc";
  164. reg = <0x9000 0x38>;
  165. virtual-reg = <0xf1009000>;
  166. sdma = <&SDMA1>;
  167. brg = <&BRG1>;
  168. cunit = <&CUNIT>;
  169. mpscrouting = <&MPSCROUTING>;
  170. mpscintr = <&MPSCINTR>;
  171. cell-index = <1>;
  172. interrupts = <42>;
  173. interrupt-parent = <&PIC>;
  174. };
  175. wdt@b410 { /* watchdog timer */
  176. compatible = "marvell,mv64360-wdt";
  177. reg = <0xb410 0x8>;
  178. };
  179. i2c@c000 {
  180. device_type = "i2c";
  181. compatible = "marvell,mv64360-i2c";
  182. reg = <0xc000 0x20>;
  183. virtual-reg = <0xf100c000>;
  184. interrupts = <37>;
  185. interrupt-parent = <&PIC>;
  186. };
  187. PIC: pic {
  188. #interrupt-cells = <1>;
  189. #address-cells = <0>;
  190. compatible = "marvell,mv64360-pic";
  191. reg = <0x0 0x88>;
  192. interrupt-controller;
  193. };
  194. mpp@f000 {
  195. compatible = "marvell,mv64360-mpp";
  196. reg = <0xf000 0x10>;
  197. };
  198. gpp@f100 {
  199. compatible = "marvell,mv64360-gpp";
  200. reg = <0xf100 0x20>;
  201. };
  202. pci@80000000 {
  203. #address-cells = <3>;
  204. #size-cells = <2>;
  205. #interrupt-cells = <1>;
  206. device_type = "pci";
  207. compatible = "marvell,mv64360-pci";
  208. reg = <0xcf8 0x8>;
  209. ranges = <0x01000000 0x0 0x0
  210. 0x88000000 0x0 0x01000000
  211. 0x02000000 0x0 0x80000000
  212. 0x80000000 0x0 0x08000000>;
  213. bus-range = <0 255>;
  214. clock-frequency = <66000000>;
  215. interrupt-pci-iack = <0xc34>;
  216. interrupt-parent = <&PIC>;
  217. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  218. interrupt-map = <
  219. /* IDSEL 0x0a */
  220. 0x5000 0 0 1 &PIC 80
  221. 0x5000 0 0 2 &PIC 81
  222. 0x5000 0 0 3 &PIC 91
  223. 0x5000 0 0 4 &PIC 93
  224. /* IDSEL 0x0b */
  225. 0x5800 0 0 1 &PIC 91
  226. 0x5800 0 0 2 &PIC 93
  227. 0x5800 0 0 3 &PIC 80
  228. 0x5800 0 0 4 &PIC 81
  229. /* IDSEL 0x0c */
  230. 0x6000 0 0 1 &PIC 91
  231. 0x6000 0 0 2 &PIC 93
  232. 0x6000 0 0 3 &PIC 80
  233. 0x6000 0 0 4 &PIC 81
  234. /* IDSEL 0x0d */
  235. 0x6800 0 0 1 &PIC 93
  236. 0x6800 0 0 2 &PIC 80
  237. 0x6800 0 0 3 &PIC 81
  238. 0x6800 0 0 4 &PIC 91
  239. >;
  240. };
  241. cpu-error@0070 {
  242. compatible = "marvell,mv64360-cpu-error";
  243. reg = <0x70 0x10 0x128 0x28>;
  244. interrupts = <3>;
  245. interrupt-parent = <&PIC>;
  246. };
  247. sram-ctrl@0380 {
  248. compatible = "marvell,mv64360-sram-ctrl";
  249. reg = <0x380 0x80>;
  250. interrupts = <13>;
  251. interrupt-parent = <&PIC>;
  252. };
  253. pci-error@1d40 {
  254. compatible = "marvell,mv64360-pci-error";
  255. reg = <0x1d40 0x40 0xc28 0x4>;
  256. interrupts = <12>;
  257. interrupt-parent = <&PIC>;
  258. };
  259. mem-ctrl@1400 {
  260. compatible = "marvell,mv64360-mem-ctrl";
  261. reg = <0x1400 0x60>;
  262. interrupts = <17>;
  263. interrupt-parent = <&PIC>;
  264. };
  265. };
  266. chosen {
  267. bootargs = "ip=on";
  268. linux,stdout-path = &MPSC0;
  269. };
  270. };