mpc8560ads.dts 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. /*
  2. * MPC8560 ADS Device Tree Source
  3. *
  4. * Copyright 2006 Freescale Semiconductor Inc.
  5. *
  6. * This program is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by the
  8. * Free Software Foundation; either version 2 of the License, or (at your
  9. * option) any later version.
  10. */
  11. / {
  12. model = "MPC8560ADS";
  13. compatible = "MPC8560ADS", "MPC85xxADS";
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. cpus {
  17. #cpus = <1>;
  18. #address-cells = <1>;
  19. #size-cells = <0>;
  20. PowerPC,8560@0 {
  21. device_type = "cpu";
  22. reg = <0>;
  23. d-cache-line-size = <20>; // 32 bytes
  24. i-cache-line-size = <20>; // 32 bytes
  25. d-cache-size = <8000>; // L1, 32K
  26. i-cache-size = <8000>; // L1, 32K
  27. timebase-frequency = <04ead9a0>;
  28. bus-frequency = <13ab6680>;
  29. clock-frequency = <312c8040>;
  30. 32-bit;
  31. };
  32. };
  33. memory {
  34. device_type = "memory";
  35. reg = <00000000 10000000>;
  36. };
  37. soc8560@e0000000 {
  38. #address-cells = <1>;
  39. #size-cells = <1>;
  40. #interrupt-cells = <2>;
  41. device_type = "soc";
  42. ranges = <0 e0000000 00100000>;
  43. reg = <e0000000 00000200>;
  44. bus-frequency = <13ab6680>;
  45. mdio@24520 {
  46. device_type = "mdio";
  47. compatible = "gianfar";
  48. reg = <24520 20>;
  49. #address-cells = <1>;
  50. #size-cells = <0>;
  51. phy0: ethernet-phy@0 {
  52. interrupt-parent = <&mpic>;
  53. interrupts = <35 1>;
  54. reg = <0>;
  55. device_type = "ethernet-phy";
  56. };
  57. phy1: ethernet-phy@1 {
  58. interrupt-parent = <&mpic>;
  59. interrupts = <35 1>;
  60. reg = <1>;
  61. device_type = "ethernet-phy";
  62. };
  63. phy2: ethernet-phy@2 {
  64. interrupt-parent = <&mpic>;
  65. interrupts = <37 1>;
  66. reg = <2>;
  67. device_type = "ethernet-phy";
  68. };
  69. phy3: ethernet-phy@3 {
  70. interrupt-parent = <&mpic>;
  71. interrupts = <37 1>;
  72. reg = <3>;
  73. device_type = "ethernet-phy";
  74. };
  75. };
  76. ethernet@24000 {
  77. device_type = "network";
  78. model = "TSEC";
  79. compatible = "gianfar";
  80. reg = <24000 1000>;
  81. address = [ 00 00 0C 00 00 FD ];
  82. interrupts = <d 2 e 2 12 2>;
  83. interrupt-parent = <&mpic>;
  84. phy-handle = <&phy0>;
  85. };
  86. ethernet@25000 {
  87. #address-cells = <1>;
  88. #size-cells = <0>;
  89. device_type = "network";
  90. model = "TSEC";
  91. compatible = "gianfar";
  92. reg = <25000 1000>;
  93. address = [ 00 00 0C 00 01 FD ];
  94. interrupts = <13 2 14 2 18 2>;
  95. interrupt-parent = <&mpic>;
  96. phy-handle = <&phy1>;
  97. };
  98. pci@8000 {
  99. #interrupt-cells = <1>;
  100. #size-cells = <2>;
  101. #address-cells = <3>;
  102. compatible = "85xx";
  103. device_type = "pci";
  104. reg = <8000 400>;
  105. clock-frequency = <3f940aa>;
  106. interrupt-map-mask = <f800 0 0 7>;
  107. interrupt-map = <
  108. /* IDSEL 0x2 */
  109. 1000 0 0 1 &mpic 31 1
  110. 1000 0 0 2 &mpic 32 1
  111. 1000 0 0 3 &mpic 33 1
  112. 1000 0 0 4 &mpic 34 1
  113. /* IDSEL 0x3 */
  114. 1800 0 0 1 &mpic 34 1
  115. 1800 0 0 2 &mpic 31 1
  116. 1800 0 0 3 &mpic 32 1
  117. 1800 0 0 4 &mpic 33 1
  118. /* IDSEL 0x4 */
  119. 2000 0 0 1 &mpic 33 1
  120. 2000 0 0 2 &mpic 34 1
  121. 2000 0 0 3 &mpic 31 1
  122. 2000 0 0 4 &mpic 32 1
  123. /* IDSEL 0x5 */
  124. 2800 0 0 1 &mpic 32 1
  125. 2800 0 0 2 &mpic 33 1
  126. 2800 0 0 3 &mpic 34 1
  127. 2800 0 0 4 &mpic 31 1
  128. /* IDSEL 12 */
  129. 6000 0 0 1 &mpic 31 1
  130. 6000 0 0 2 &mpic 32 1
  131. 6000 0 0 3 &mpic 33 1
  132. 6000 0 0 4 &mpic 34 1
  133. /* IDSEL 13 */
  134. 6800 0 0 1 &mpic 34 1
  135. 6800 0 0 2 &mpic 31 1
  136. 6800 0 0 3 &mpic 32 1
  137. 6800 0 0 4 &mpic 33 1
  138. /* IDSEL 14*/
  139. 7000 0 0 1 &mpic 33 1
  140. 7000 0 0 2 &mpic 34 1
  141. 7000 0 0 3 &mpic 31 1
  142. 7000 0 0 4 &mpic 32 1
  143. /* IDSEL 15 */
  144. 7800 0 0 1 &mpic 32 1
  145. 7800 0 0 2 &mpic 33 1
  146. 7800 0 0 3 &mpic 34 1
  147. 7800 0 0 4 &mpic 31 1
  148. /* IDSEL 18 */
  149. 9000 0 0 1 &mpic 31 1
  150. 9000 0 0 2 &mpic 32 1
  151. 9000 0 0 3 &mpic 33 1
  152. 9000 0 0 4 &mpic 34 1
  153. /* IDSEL 19 */
  154. 9800 0 0 1 &mpic 34 1
  155. 9800 0 0 2 &mpic 31 1
  156. 9800 0 0 3 &mpic 32 1
  157. 9800 0 0 4 &mpic 33 1
  158. /* IDSEL 20 */
  159. a000 0 0 1 &mpic 33 1
  160. a000 0 0 2 &mpic 34 1
  161. a000 0 0 3 &mpic 31 1
  162. a000 0 0 4 &mpic 32 1
  163. /* IDSEL 21 */
  164. a800 0 0 1 &mpic 32 1
  165. a800 0 0 2 &mpic 33 1
  166. a800 0 0 3 &mpic 34 1
  167. a800 0 0 4 &mpic 31 1>;
  168. interrupt-parent = <&mpic>;
  169. interrupts = <8 0>;
  170. bus-range = <0 0>;
  171. ranges = <02000000 0 80000000 80000000 0 20000000
  172. 01000000 0 00000000 e2000000 0 01000000>;
  173. };
  174. mpic: pic@40000 {
  175. interrupt-controller;
  176. #address-cells = <0>;
  177. #interrupt-cells = <2>;
  178. reg = <40000 40000>;
  179. built-in;
  180. device_type = "open-pic";
  181. };
  182. cpm@e0000000 {
  183. #address-cells = <1>;
  184. #size-cells = <1>;
  185. #interrupt-cells = <2>;
  186. device_type = "cpm";
  187. model = "CPM2";
  188. ranges = <0 0 c0000>;
  189. reg = <80000 40000>;
  190. command-proc = <919c0>;
  191. brg-frequency = <9d5b340>;
  192. cpmpic: pic@90c00 {
  193. interrupt-controller;
  194. #address-cells = <0>;
  195. #interrupt-cells = <2>;
  196. interrupts = <1e 0>;
  197. interrupt-parent = <&mpic>;
  198. reg = <90c00 80>;
  199. built-in;
  200. device_type = "cpm-pic";
  201. };
  202. scc@91a00 {
  203. device_type = "serial";
  204. compatible = "cpm_uart";
  205. model = "SCC";
  206. device-id = <1>;
  207. reg = <91a00 20 88000 100>;
  208. clock-setup = <00ffffff 0>;
  209. rx-clock = <1>;
  210. tx-clock = <1>;
  211. current-speed = <1c200>;
  212. interrupts = <28 8>;
  213. interrupt-parent = <&cpmpic>;
  214. };
  215. scc@91a20 {
  216. device_type = "serial";
  217. compatible = "cpm_uart";
  218. model = "SCC";
  219. device-id = <2>;
  220. reg = <91a20 20 88100 100>;
  221. clock-setup = <ff00ffff 90000>;
  222. rx-clock = <2>;
  223. tx-clock = <2>;
  224. current-speed = <1c200>;
  225. interrupts = <29 8>;
  226. interrupt-parent = <&cpmpic>;
  227. };
  228. fcc@91320 {
  229. device_type = "network";
  230. compatible = "fs_enet";
  231. model = "FCC";
  232. device-id = <2>;
  233. reg = <91320 20 88500 100 913a0 30>;
  234. mac-address = [ 00 00 0C 00 02 FD ];
  235. clock-setup = <ff00ffff 250000>;
  236. rx-clock = <15>;
  237. tx-clock = <16>;
  238. interrupts = <21 8>;
  239. interrupt-parent = <&cpmpic>;
  240. phy-handle = <&phy2>;
  241. };
  242. fcc@91340 {
  243. device_type = "network";
  244. compatible = "fs_enet";
  245. model = "FCC";
  246. device-id = <3>;
  247. reg = <91340 20 88600 100 913d0 30>;
  248. mac-address = [ 00 00 0C 00 03 FD ];
  249. clock-setup = <ffff00ff 3700>;
  250. rx-clock = <17>;
  251. tx-clock = <18>;
  252. interrupts = <22 8>;
  253. interrupt-parent = <&cpmpic>;
  254. phy-handle = <&phy3>;
  255. };
  256. };
  257. };
  258. };