mpc8544ds.dts 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. /*
  2. * MPC8544 DS Device Tree Source
  3. *
  4. * Copyright 2007 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 = "MPC8544DS";
  13. compatible = "MPC8544DS", "MPC85xxDS";
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. cpus {
  17. #cpus = <1>;
  18. #address-cells = <1>;
  19. #size-cells = <0>;
  20. PowerPC,8544@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 = <0>;
  28. bus-frequency = <0>;
  29. clock-frequency = <0>;
  30. 32-bit;
  31. };
  32. };
  33. memory {
  34. device_type = "memory";
  35. reg = <00000000 00000000>; // Filled by U-Boot
  36. };
  37. soc8544@e0000000 {
  38. #address-cells = <1>;
  39. #size-cells = <1>;
  40. #interrupt-cells = <2>;
  41. device_type = "soc";
  42. ranges = <00001000 e0001000 000ff000
  43. 80000000 80000000 20000000
  44. a0000000 a0000000 10000000
  45. b0000000 b0000000 00100000
  46. c0000000 c0000000 20000000
  47. b0100000 b0100000 00100000
  48. e1000000 e1000000 00010000
  49. e1010000 e1010000 00010000
  50. e1020000 e1020000 00010000>;
  51. reg = <e0000000 00001000>; // CCSRBAR 1M
  52. bus-frequency = <0>; // Filled out by uboot.
  53. memory-controller@2000 {
  54. compatible = "fsl,8544-memory-controller";
  55. reg = <2000 1000>;
  56. interrupt-parent = <&mpic>;
  57. interrupts = <12 2>;
  58. };
  59. l2-cache-controller@20000 {
  60. compatible = "fsl,8544-l2-cache-controller";
  61. reg = <20000 1000>;
  62. cache-line-size = <20>; // 32 bytes
  63. cache-size = <40000>; // L2, 256K
  64. interrupt-parent = <&mpic>;
  65. interrupts = <10 2>;
  66. };
  67. i2c@3000 {
  68. device_type = "i2c";
  69. compatible = "fsl-i2c";
  70. reg = <3000 100>;
  71. interrupts = <2b 2>;
  72. interrupt-parent = <&mpic>;
  73. dfsrr;
  74. };
  75. mdio@24520 {
  76. #address-cells = <1>;
  77. #size-cells = <0>;
  78. device_type = "mdio";
  79. compatible = "gianfar";
  80. reg = <24520 20>;
  81. phy0: ethernet-phy@0 {
  82. interrupt-parent = <&mpic>;
  83. interrupts = <a 1>;
  84. reg = <0>;
  85. device_type = "ethernet-phy";
  86. };
  87. phy1: ethernet-phy@1 {
  88. interrupt-parent = <&mpic>;
  89. interrupts = <a 1>;
  90. reg = <1>;
  91. device_type = "ethernet-phy";
  92. };
  93. };
  94. ethernet@24000 {
  95. #address-cells = <1>;
  96. #size-cells = <0>;
  97. device_type = "network";
  98. model = "TSEC";
  99. compatible = "gianfar";
  100. reg = <24000 1000>;
  101. local-mac-address = [ 00 00 00 00 00 00 ];
  102. interrupts = <1d 2 1e 2 22 2>;
  103. interrupt-parent = <&mpic>;
  104. phy-handle = <&phy0>;
  105. phy-connection-type = "rgmii-id";
  106. };
  107. ethernet@26000 {
  108. #address-cells = <1>;
  109. #size-cells = <0>;
  110. device_type = "network";
  111. model = "TSEC";
  112. compatible = "gianfar";
  113. reg = <26000 1000>;
  114. local-mac-address = [ 00 00 00 00 00 00 ];
  115. interrupts = <1f 2 20 2 21 2>;
  116. interrupt-parent = <&mpic>;
  117. phy-handle = <&phy1>;
  118. phy-connection-type = "rgmii-id";
  119. };
  120. serial@4500 {
  121. device_type = "serial";
  122. compatible = "ns16550";
  123. reg = <4500 100>;
  124. clock-frequency = <0>;
  125. interrupts = <2a 2>;
  126. interrupt-parent = <&mpic>;
  127. };
  128. serial@4600 {
  129. device_type = "serial";
  130. compatible = "ns16550";
  131. reg = <4600 100>;
  132. clock-frequency = <0>;
  133. interrupts = <2a 2>;
  134. interrupt-parent = <&mpic>;
  135. };
  136. pci@8000 {
  137. compatible = "fsl,mpc8540-pci";
  138. device_type = "pci";
  139. interrupt-map-mask = <f800 0 0 7>;
  140. interrupt-map = <
  141. /* IDSEL 0x11 J17 Slot 1 */
  142. 8800 0 0 1 &mpic 2 1
  143. 8800 0 0 2 &mpic 3 1
  144. 8800 0 0 3 &mpic 4 1
  145. 8800 0 0 4 &mpic 1 1
  146. /* IDSEL 0x12 J16 Slot 2 */
  147. 9000 0 0 1 &mpic 3 1
  148. 9000 0 0 2 &mpic 4 1
  149. 9000 0 0 3 &mpic 2 1
  150. 9000 0 0 4 &mpic 1 1>;
  151. interrupt-parent = <&mpic>;
  152. interrupts = <18 2>;
  153. bus-range = <0 ff>;
  154. ranges = <02000000 0 c0000000 c0000000 0 20000000
  155. 01000000 0 00000000 e1000000 0 00010000>;
  156. clock-frequency = <3f940aa>;
  157. #interrupt-cells = <1>;
  158. #size-cells = <2>;
  159. #address-cells = <3>;
  160. reg = <8000 1000>;
  161. };
  162. pcie@9000 {
  163. compatible = "fsl,mpc8548-pcie";
  164. device_type = "pci";
  165. #interrupt-cells = <1>;
  166. #size-cells = <2>;
  167. #address-cells = <3>;
  168. reg = <9000 1000>;
  169. bus-range = <0 ff>;
  170. ranges = <02000000 0 80000000 80000000 0 20000000
  171. 01000000 0 00000000 e1010000 0 00010000>;
  172. clock-frequency = <1fca055>;
  173. interrupt-parent = <&mpic>;
  174. interrupts = <1a 2>;
  175. interrupt-map-mask = <f800 0 0 7>;
  176. interrupt-map = <
  177. /* IDSEL 0x0 */
  178. 0000 0 0 1 &mpic 4 1
  179. 0000 0 0 2 &mpic 5 1
  180. 0000 0 0 3 &mpic 6 1
  181. 0000 0 0 4 &mpic 7 1
  182. >;
  183. };
  184. pcie@a000 {
  185. compatible = "fsl,mpc8548-pcie";
  186. device_type = "pci";
  187. #interrupt-cells = <1>;
  188. #size-cells = <2>;
  189. #address-cells = <3>;
  190. reg = <a000 1000>;
  191. bus-range = <0 ff>;
  192. ranges = <02000000 0 a0000000 a0000000 0 10000000
  193. 01000000 0 00000000 e1020000 0 00010000>;
  194. clock-frequency = <1fca055>;
  195. interrupt-parent = <&mpic>;
  196. interrupts = <19 2>;
  197. interrupt-map-mask = <f800 0 0 7>;
  198. interrupt-map = <
  199. /* IDSEL 0x0 */
  200. 0000 0 0 1 &mpic 0 1
  201. 0000 0 0 2 &mpic 1 1
  202. 0000 0 0 3 &mpic 2 1
  203. 0000 0 0 4 &mpic 3 1
  204. >;
  205. };
  206. pcie@b000 {
  207. compatible = "fsl,mpc8548-pcie";
  208. device_type = "pci";
  209. #interrupt-cells = <1>;
  210. #size-cells = <2>;
  211. #address-cells = <3>;
  212. reg = <b000 1000>;
  213. bus-range = <0 ff>;
  214. ranges = <02000000 0 b0000000 b0000000 0 00100000
  215. 01000000 0 00000000 b0100000 0 00100000>;
  216. clock-frequency = <1fca055>;
  217. interrupt-parent = <&mpic>;
  218. interrupts = <1b 2>;
  219. interrupt-map-mask = <fb00 0 0 0>;
  220. interrupt-map = <
  221. // IDSEL 0x1c USB
  222. e000 0 0 0 &i8259 c 2
  223. e100 0 0 0 &i8259 9 2
  224. e200 0 0 0 &i8259 a 2
  225. e300 0 0 0 &i8259 b 2
  226. // IDSEL 0x1d Audio
  227. e800 0 0 0 &i8259 6 2
  228. // IDSEL 0x1e Legacy
  229. f000 0 0 0 &i8259 7 2
  230. f100 0 0 0 &i8259 7 2
  231. // IDSEL 0x1f IDE/SATA
  232. f800 0 0 0 &i8259 e 2
  233. f900 0 0 0 &i8259 5 2
  234. >;
  235. uli1575@0 {
  236. reg = <0 0 0 0 0>;
  237. #size-cells = <2>;
  238. #address-cells = <3>;
  239. ranges = <02000000 0 b0000000
  240. 02000000 0 b0000000
  241. 0 00100000
  242. 01000000 0 00000000
  243. 01000000 0 00000000
  244. 0 00100000>;
  245. pci_bridge@0 {
  246. reg = <0 0 0 0 0>;
  247. #size-cells = <2>;
  248. #address-cells = <3>;
  249. ranges = <02000000 0 b0000000
  250. 02000000 0 b0000000
  251. 0 00100000
  252. 01000000 0 00000000
  253. 01000000 0 00000000
  254. 0 00100000>;
  255. isa@1e {
  256. device_type = "isa";
  257. #interrupt-cells = <2>;
  258. #size-cells = <1>;
  259. #address-cells = <2>;
  260. reg = <f000 0 0 0 0>;
  261. ranges = <1 0
  262. 01000000 0 0
  263. 00001000>;
  264. interrupt-parent = <&i8259>;
  265. i8259: interrupt-controller@20 {
  266. reg = <1 20 2
  267. 1 a0 2
  268. 1 4d0 2>;
  269. clock-frequency = <0>;
  270. interrupt-controller;
  271. device_type = "interrupt-controller";
  272. #address-cells = <0>;
  273. #interrupt-cells = <2>;
  274. built-in;
  275. compatible = "chrp,iic";
  276. interrupts = <9 2>;
  277. interrupt-parent = <&mpic>;
  278. };
  279. i8042@60 {
  280. #size-cells = <0>;
  281. #address-cells = <1>;
  282. reg = <1 60 1 1 64 1>;
  283. interrupts = <1 3 c 3>;
  284. interrupt-parent = <&i8259>;
  285. keyboard@0 {
  286. reg = <0>;
  287. compatible = "pnpPNP,303";
  288. };
  289. mouse@1 {
  290. reg = <1>;
  291. compatible = "pnpPNP,f03";
  292. };
  293. };
  294. rtc@70 {
  295. compatible = "pnpPNP,b00";
  296. reg = <1 70 2>;
  297. };
  298. gpio@400 {
  299. reg = <1 400 80>;
  300. };
  301. };
  302. };
  303. };
  304. };
  305. global-utilities@e0000 { //global utilities block
  306. compatible = "fsl,mpc8548-guts";
  307. reg = <e0000 1000>;
  308. fsl,has-rstcr;
  309. };
  310. mpic: pic@40000 {
  311. clock-frequency = <0>;
  312. interrupt-controller;
  313. #address-cells = <0>;
  314. #interrupt-cells = <2>;
  315. reg = <40000 40000>;
  316. built-in;
  317. compatible = "chrp,open-pic";
  318. device_type = "open-pic";
  319. big-endian;
  320. };
  321. };
  322. };