p2020si.dtsi 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. /*
  2. * P2020 Device Tree Source
  3. *
  4. * Copyright 2011 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. /dts-v1/;
  12. / {
  13. compatible = "fsl,P2020";
  14. #address-cells = <2>;
  15. #size-cells = <2>;
  16. cpus {
  17. #address-cells = <1>;
  18. #size-cells = <0>;
  19. PowerPC,P2020@0 {
  20. device_type = "cpu";
  21. reg = <0x0>;
  22. next-level-cache = <&L2>;
  23. };
  24. PowerPC,P2020@1 {
  25. device_type = "cpu";
  26. reg = <0x1>;
  27. next-level-cache = <&L2>;
  28. };
  29. };
  30. localbus@ffe05000 {
  31. #address-cells = <2>;
  32. #size-cells = <1>;
  33. compatible = "fsl,p2020-elbc", "fsl,elbc", "simple-bus";
  34. reg = <0 0xffe05000 0 0x1000>;
  35. interrupts = <19 2>;
  36. interrupt-parent = <&mpic>;
  37. };
  38. soc@ffe00000 {
  39. #address-cells = <1>;
  40. #size-cells = <1>;
  41. device_type = "soc";
  42. compatible = "fsl,p2020-immr", "simple-bus";
  43. ranges = <0x0 0x0 0xffe00000 0x100000>;
  44. bus-frequency = <0>; // Filled out by uboot.
  45. ecm-law@0 {
  46. compatible = "fsl,ecm-law";
  47. reg = <0x0 0x1000>;
  48. fsl,num-laws = <12>;
  49. };
  50. ecm@1000 {
  51. compatible = "fsl,p2020-ecm", "fsl,ecm";
  52. reg = <0x1000 0x1000>;
  53. interrupts = <17 2>;
  54. interrupt-parent = <&mpic>;
  55. };
  56. memory-controller@2000 {
  57. compatible = "fsl,p2020-memory-controller";
  58. reg = <0x2000 0x1000>;
  59. interrupt-parent = <&mpic>;
  60. interrupts = <18 2>;
  61. };
  62. i2c@3000 {
  63. #address-cells = <1>;
  64. #size-cells = <0>;
  65. cell-index = <0>;
  66. compatible = "fsl-i2c";
  67. reg = <0x3000 0x100>;
  68. interrupts = <43 2>;
  69. interrupt-parent = <&mpic>;
  70. dfsrr;
  71. };
  72. i2c@3100 {
  73. #address-cells = <1>;
  74. #size-cells = <0>;
  75. cell-index = <1>;
  76. compatible = "fsl-i2c";
  77. reg = <0x3100 0x100>;
  78. interrupts = <43 2>;
  79. interrupt-parent = <&mpic>;
  80. dfsrr;
  81. };
  82. serial0: serial@4500 {
  83. cell-index = <0>;
  84. device_type = "serial";
  85. compatible = "ns16550";
  86. reg = <0x4500 0x100>;
  87. clock-frequency = <0>;
  88. interrupts = <42 2>;
  89. interrupt-parent = <&mpic>;
  90. };
  91. serial1: serial@4600 {
  92. cell-index = <1>;
  93. device_type = "serial";
  94. compatible = "ns16550";
  95. reg = <0x4600 0x100>;
  96. clock-frequency = <0>;
  97. interrupts = <42 2>;
  98. interrupt-parent = <&mpic>;
  99. };
  100. spi@7000 {
  101. cell-index = <0>;
  102. #address-cells = <1>;
  103. #size-cells = <0>;
  104. compatible = "fsl,espi";
  105. reg = <0x7000 0x1000>;
  106. interrupts = <59 0x2>;
  107. interrupt-parent = <&mpic>;
  108. mode = "cpu";
  109. };
  110. dma@c300 {
  111. #address-cells = <1>;
  112. #size-cells = <1>;
  113. compatible = "fsl,eloplus-dma";
  114. reg = <0xc300 0x4>;
  115. ranges = <0x0 0xc100 0x200>;
  116. cell-index = <1>;
  117. dma-channel@0 {
  118. compatible = "fsl,eloplus-dma-channel";
  119. reg = <0x0 0x80>;
  120. cell-index = <0>;
  121. interrupt-parent = <&mpic>;
  122. interrupts = <76 2>;
  123. };
  124. dma-channel@80 {
  125. compatible = "fsl,eloplus-dma-channel";
  126. reg = <0x80 0x80>;
  127. cell-index = <1>;
  128. interrupt-parent = <&mpic>;
  129. interrupts = <77 2>;
  130. };
  131. dma-channel@100 {
  132. compatible = "fsl,eloplus-dma-channel";
  133. reg = <0x100 0x80>;
  134. cell-index = <2>;
  135. interrupt-parent = <&mpic>;
  136. interrupts = <78 2>;
  137. };
  138. dma-channel@180 {
  139. compatible = "fsl,eloplus-dma-channel";
  140. reg = <0x180 0x80>;
  141. cell-index = <3>;
  142. interrupt-parent = <&mpic>;
  143. interrupts = <79 2>;
  144. };
  145. };
  146. gpio: gpio-controller@f000 {
  147. #gpio-cells = <2>;
  148. compatible = "fsl,mpc8572-gpio";
  149. reg = <0xf000 0x100>;
  150. interrupts = <47 0x2>;
  151. interrupt-parent = <&mpic>;
  152. gpio-controller;
  153. };
  154. L2: l2-cache-controller@20000 {
  155. compatible = "fsl,p2020-l2-cache-controller";
  156. reg = <0x20000 0x1000>;
  157. cache-line-size = <32>; // 32 bytes
  158. cache-size = <0x80000>; // L2,512K
  159. interrupt-parent = <&mpic>;
  160. interrupts = <16 2>;
  161. };
  162. dma@21300 {
  163. #address-cells = <1>;
  164. #size-cells = <1>;
  165. compatible = "fsl,eloplus-dma";
  166. reg = <0x21300 0x4>;
  167. ranges = <0x0 0x21100 0x200>;
  168. cell-index = <0>;
  169. dma-channel@0 {
  170. compatible = "fsl,eloplus-dma-channel";
  171. reg = <0x0 0x80>;
  172. cell-index = <0>;
  173. interrupt-parent = <&mpic>;
  174. interrupts = <20 2>;
  175. };
  176. dma-channel@80 {
  177. compatible = "fsl,eloplus-dma-channel";
  178. reg = <0x80 0x80>;
  179. cell-index = <1>;
  180. interrupt-parent = <&mpic>;
  181. interrupts = <21 2>;
  182. };
  183. dma-channel@100 {
  184. compatible = "fsl,eloplus-dma-channel";
  185. reg = <0x100 0x80>;
  186. cell-index = <2>;
  187. interrupt-parent = <&mpic>;
  188. interrupts = <22 2>;
  189. };
  190. dma-channel@180 {
  191. compatible = "fsl,eloplus-dma-channel";
  192. reg = <0x180 0x80>;
  193. cell-index = <3>;
  194. interrupt-parent = <&mpic>;
  195. interrupts = <23 2>;
  196. };
  197. };
  198. usb@22000 {
  199. #address-cells = <1>;
  200. #size-cells = <0>;
  201. compatible = "fsl-usb2-dr";
  202. reg = <0x22000 0x1000>;
  203. interrupt-parent = <&mpic>;
  204. interrupts = <28 0x2>;
  205. };
  206. mdio@24520 {
  207. #address-cells = <1>;
  208. #size-cells = <0>;
  209. compatible = "fsl,gianfar-mdio";
  210. reg = <0x24520 0x20>;
  211. };
  212. mdio@25520 {
  213. #address-cells = <1>;
  214. #size-cells = <0>;
  215. compatible = "fsl,gianfar-tbi";
  216. reg = <0x26520 0x20>;
  217. };
  218. mdio@26520 {
  219. #address-cells = <1>;
  220. #size-cells = <0>;
  221. compatible = "fsl,gianfar-tbi";
  222. reg = <0x520 0x20>;
  223. };
  224. enet0: ethernet@24000 {
  225. #address-cells = <1>;
  226. #size-cells = <1>;
  227. cell-index = <0>;
  228. device_type = "network";
  229. model = "eTSEC";
  230. compatible = "gianfar";
  231. reg = <0x24000 0x1000>;
  232. ranges = <0x0 0x24000 0x1000>;
  233. local-mac-address = [ 00 00 00 00 00 00 ];
  234. interrupts = <29 2 30 2 34 2>;
  235. interrupt-parent = <&mpic>;
  236. };
  237. enet1: ethernet@25000 {
  238. #address-cells = <1>;
  239. #size-cells = <1>;
  240. cell-index = <1>;
  241. device_type = "network";
  242. model = "eTSEC";
  243. compatible = "gianfar";
  244. reg = <0x25000 0x1000>;
  245. ranges = <0x0 0x25000 0x1000>;
  246. local-mac-address = [ 00 00 00 00 00 00 ];
  247. interrupts = <35 2 36 2 40 2>;
  248. interrupt-parent = <&mpic>;
  249. };
  250. enet2: ethernet@26000 {
  251. #address-cells = <1>;
  252. #size-cells = <1>;
  253. cell-index = <2>;
  254. device_type = "network";
  255. model = "eTSEC";
  256. compatible = "gianfar";
  257. reg = <0x26000 0x1000>;
  258. ranges = <0x0 0x26000 0x1000>;
  259. local-mac-address = [ 00 00 00 00 00 00 ];
  260. interrupts = <31 2 32 2 33 2>;
  261. interrupt-parent = <&mpic>;
  262. };
  263. sdhci@2e000 {
  264. compatible = "fsl,p2020-esdhc", "fsl,esdhc";
  265. reg = <0x2e000 0x1000>;
  266. interrupts = <72 0x2>;
  267. interrupt-parent = <&mpic>;
  268. /* Filled in by U-Boot */
  269. clock-frequency = <0>;
  270. };
  271. crypto@30000 {
  272. compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4",
  273. "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0";
  274. reg = <0x30000 0x10000>;
  275. interrupts = <45 2 58 2>;
  276. interrupt-parent = <&mpic>;
  277. fsl,num-channels = <4>;
  278. fsl,channel-fifo-len = <24>;
  279. fsl,exec-units-mask = <0xbfe>;
  280. fsl,descriptor-types-mask = <0x3ab0ebf>;
  281. };
  282. mpic: pic@40000 {
  283. interrupt-controller;
  284. #address-cells = <0>;
  285. #interrupt-cells = <2>;
  286. reg = <0x40000 0x40000>;
  287. compatible = "chrp,open-pic";
  288. device_type = "open-pic";
  289. };
  290. msi@41600 {
  291. compatible = "fsl,p2020-msi", "fsl,mpic-msi";
  292. reg = <0x41600 0x80>;
  293. msi-available-ranges = <0 0x100>;
  294. interrupts = <
  295. 0xe0 0
  296. 0xe1 0
  297. 0xe2 0
  298. 0xe3 0
  299. 0xe4 0
  300. 0xe5 0
  301. 0xe6 0
  302. 0xe7 0>;
  303. interrupt-parent = <&mpic>;
  304. };
  305. global-utilities@e0000 { //global utilities block
  306. compatible = "fsl,p2020-guts";
  307. reg = <0xe0000 0x1000>;
  308. fsl,has-rstcr;
  309. };
  310. };
  311. pci0: pcie@ffe08000 {
  312. compatible = "fsl,mpc8548-pcie";
  313. device_type = "pci";
  314. #interrupt-cells = <1>;
  315. #size-cells = <2>;
  316. #address-cells = <3>;
  317. reg = <0 0xffe08000 0 0x1000>;
  318. bus-range = <0 255>;
  319. clock-frequency = <33333333>;
  320. interrupt-parent = <&mpic>;
  321. interrupts = <24 2>;
  322. };
  323. pci1: pcie@ffe09000 {
  324. compatible = "fsl,mpc8548-pcie";
  325. device_type = "pci";
  326. #interrupt-cells = <1>;
  327. #size-cells = <2>;
  328. #address-cells = <3>;
  329. reg = <0 0xffe09000 0 0x1000>;
  330. bus-range = <0 255>;
  331. clock-frequency = <33333333>;
  332. interrupt-parent = <&mpic>;
  333. interrupts = <25 2>;
  334. };
  335. pci2: pcie@ffe0a000 {
  336. compatible = "fsl,mpc8548-pcie";
  337. device_type = "pci";
  338. #interrupt-cells = <1>;
  339. #size-cells = <2>;
  340. #address-cells = <3>;
  341. reg = <0 0xffe0a000 0 0x1000>;
  342. bus-range = <0 255>;
  343. clock-frequency = <33333333>;
  344. interrupt-parent = <&mpic>;
  345. interrupts = <26 2>;
  346. };
  347. };