p1020rdb.dts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  1. /*
  2. * P1020 RDB Device Tree Source
  3. *
  4. * Copyright 2009 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. model = "fsl,P1020";
  14. compatible = "fsl,P1020RDB";
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. aliases {
  18. serial0 = &serial0;
  19. serial1 = &serial1;
  20. pci0 = &pci0;
  21. pci1 = &pci1;
  22. };
  23. cpus {
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. PowerPC,P1020@0 {
  27. device_type = "cpu";
  28. reg = <0x0>;
  29. next-level-cache = <&L2>;
  30. };
  31. PowerPC,P1020@1 {
  32. device_type = "cpu";
  33. reg = <0x1>;
  34. next-level-cache = <&L2>;
  35. };
  36. };
  37. memory {
  38. device_type = "memory";
  39. };
  40. localbus@ffe05000 {
  41. #address-cells = <2>;
  42. #size-cells = <1>;
  43. compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus";
  44. reg = <0 0xffe05000 0 0x1000>;
  45. interrupts = <19 2>;
  46. interrupt-parent = <&mpic>;
  47. /* NOR, NAND Flashes and Vitesse 5 port L2 switch */
  48. ranges = <0x0 0x0 0x0 0xef000000 0x01000000
  49. 0x1 0x0 0x0 0xffa00000 0x00040000
  50. 0x2 0x0 0x0 0xffb00000 0x00020000>;
  51. nor@0,0 {
  52. #address-cells = <1>;
  53. #size-cells = <1>;
  54. compatible = "cfi-flash";
  55. reg = <0x0 0x0 0x1000000>;
  56. bank-width = <2>;
  57. device-width = <1>;
  58. partition@0 {
  59. /* This location must not be altered */
  60. /* 256KB for Vitesse 7385 Switch firmware */
  61. reg = <0x0 0x00040000>;
  62. label = "NOR (RO) Vitesse-7385 Firmware";
  63. read-only;
  64. };
  65. partition@40000 {
  66. /* 256KB for DTB Image */
  67. reg = <0x00040000 0x00040000>;
  68. label = "NOR (RO) DTB Image";
  69. read-only;
  70. };
  71. partition@80000 {
  72. /* 3.5 MB for Linux Kernel Image */
  73. reg = <0x00080000 0x00380000>;
  74. label = "NOR (RO) Linux Kernel Image";
  75. read-only;
  76. };
  77. partition@400000 {
  78. /* 11MB for JFFS2 based Root file System */
  79. reg = <0x00400000 0x00b00000>;
  80. label = "NOR (RW) JFFS2 Root File System";
  81. };
  82. partition@f00000 {
  83. /* This location must not be altered */
  84. /* 512KB for u-boot Bootloader Image */
  85. /* 512KB for u-boot Environment Variables */
  86. reg = <0x00f00000 0x00100000>;
  87. label = "NOR (RO) U-Boot Image";
  88. read-only;
  89. };
  90. };
  91. nand@1,0 {
  92. #address-cells = <1>;
  93. #size-cells = <1>;
  94. compatible = "fsl,p1020-fcm-nand",
  95. "fsl,elbc-fcm-nand";
  96. reg = <0x1 0x0 0x40000>;
  97. partition@0 {
  98. /* This location must not be altered */
  99. /* 1MB for u-boot Bootloader Image */
  100. reg = <0x0 0x00100000>;
  101. label = "NAND (RO) U-Boot Image";
  102. read-only;
  103. };
  104. partition@100000 {
  105. /* 1MB for DTB Image */
  106. reg = <0x00100000 0x00100000>;
  107. label = "NAND (RO) DTB Image";
  108. read-only;
  109. };
  110. partition@200000 {
  111. /* 4MB for Linux Kernel Image */
  112. reg = <0x00200000 0x00400000>;
  113. label = "NAND (RO) Linux Kernel Image";
  114. read-only;
  115. };
  116. partition@600000 {
  117. /* 4MB for Compressed Root file System Image */
  118. reg = <0x00600000 0x00400000>;
  119. label = "NAND (RO) Compressed RFS Image";
  120. read-only;
  121. };
  122. partition@a00000 {
  123. /* 7MB for JFFS2 based Root file System */
  124. reg = <0x00a00000 0x00700000>;
  125. label = "NAND (RW) JFFS2 Root File System";
  126. };
  127. partition@1100000 {
  128. /* 15MB for JFFS2 based Root file System */
  129. reg = <0x01100000 0x00f00000>;
  130. label = "NAND (RW) Writable User area";
  131. };
  132. };
  133. L2switch@2,0 {
  134. #address-cells = <1>;
  135. #size-cells = <1>;
  136. compatible = "vitesse-7385";
  137. reg = <0x2 0x0 0x20000>;
  138. };
  139. };
  140. soc@ffe00000 {
  141. #address-cells = <1>;
  142. #size-cells = <1>;
  143. device_type = "soc";
  144. compatible = "fsl,p1020-immr", "simple-bus";
  145. ranges = <0x0 0x0 0xffe00000 0x100000>;
  146. bus-frequency = <0>; // Filled out by uboot.
  147. ecm-law@0 {
  148. compatible = "fsl,ecm-law";
  149. reg = <0x0 0x1000>;
  150. fsl,num-laws = <12>;
  151. };
  152. ecm@1000 {
  153. compatible = "fsl,p1020-ecm", "fsl,ecm";
  154. reg = <0x1000 0x1000>;
  155. interrupts = <16 2>;
  156. interrupt-parent = <&mpic>;
  157. };
  158. memory-controller@2000 {
  159. compatible = "fsl,p1020-memory-controller";
  160. reg = <0x2000 0x1000>;
  161. interrupt-parent = <&mpic>;
  162. interrupts = <16 2>;
  163. };
  164. i2c@3000 {
  165. #address-cells = <1>;
  166. #size-cells = <0>;
  167. cell-index = <0>;
  168. compatible = "fsl-i2c";
  169. reg = <0x3000 0x100>;
  170. interrupts = <43 2>;
  171. interrupt-parent = <&mpic>;
  172. dfsrr;
  173. rtc@68 {
  174. compatible = "dallas,ds1339";
  175. reg = <0x68>;
  176. };
  177. };
  178. i2c@3100 {
  179. #address-cells = <1>;
  180. #size-cells = <0>;
  181. cell-index = <1>;
  182. compatible = "fsl-i2c";
  183. reg = <0x3100 0x100>;
  184. interrupts = <43 2>;
  185. interrupt-parent = <&mpic>;
  186. dfsrr;
  187. };
  188. serial0: serial@4500 {
  189. cell-index = <0>;
  190. device_type = "serial";
  191. compatible = "ns16550";
  192. reg = <0x4500 0x100>;
  193. clock-frequency = <0>;
  194. interrupts = <42 2>;
  195. interrupt-parent = <&mpic>;
  196. };
  197. serial1: serial@4600 {
  198. cell-index = <1>;
  199. device_type = "serial";
  200. compatible = "ns16550";
  201. reg = <0x4600 0x100>;
  202. clock-frequency = <0>;
  203. interrupts = <42 2>;
  204. interrupt-parent = <&mpic>;
  205. };
  206. spi@7000 {
  207. cell-index = <0>;
  208. #address-cells = <1>;
  209. #size-cells = <0>;
  210. compatible = "fsl,espi";
  211. reg = <0x7000 0x1000>;
  212. interrupts = <59 0x2>;
  213. interrupt-parent = <&mpic>;
  214. mode = "cpu";
  215. fsl_m25p80@0 {
  216. #address-cells = <1>;
  217. #size-cells = <1>;
  218. compatible = "fsl,espi-flash";
  219. reg = <0>;
  220. linux,modalias = "fsl_m25p80";
  221. modal = "s25sl128b";
  222. spi-max-frequency = <50000000>;
  223. mode = <0>;
  224. partition@0 {
  225. /* 512KB for u-boot Bootloader Image */
  226. reg = <0x0 0x00080000>;
  227. label = "SPI (RO) U-Boot Image";
  228. read-only;
  229. };
  230. partition@80000 {
  231. /* 512KB for DTB Image */
  232. reg = <0x00080000 0x00080000>;
  233. label = "SPI (RO) DTB Image";
  234. read-only;
  235. };
  236. partition@100000 {
  237. /* 4MB for Linux Kernel Image */
  238. reg = <0x00100000 0x00400000>;
  239. label = "SPI (RO) Linux Kernel Image";
  240. read-only;
  241. };
  242. partition@500000 {
  243. /* 4MB for Compressed RFS Image */
  244. reg = <0x00500000 0x00400000>;
  245. label = "SPI (RO) Compressed RFS Image";
  246. read-only;
  247. };
  248. partition@900000 {
  249. /* 7MB for JFFS2 based RFS */
  250. reg = <0x00900000 0x00700000>;
  251. label = "SPI (RW) JFFS2 RFS";
  252. };
  253. };
  254. };
  255. gpio: gpio-controller@f000 {
  256. #gpio-cells = <2>;
  257. compatible = "fsl,mpc8572-gpio";
  258. reg = <0xf000 0x100>;
  259. interrupts = <47 0x2>;
  260. interrupt-parent = <&mpic>;
  261. gpio-controller;
  262. };
  263. L2: l2-cache-controller@20000 {
  264. compatible = "fsl,p1020-l2-cache-controller";
  265. reg = <0x20000 0x1000>;
  266. cache-line-size = <32>; // 32 bytes
  267. cache-size = <0x40000>; // L2,256K
  268. interrupt-parent = <&mpic>;
  269. interrupts = <16 2>;
  270. };
  271. dma@21300 {
  272. #address-cells = <1>;
  273. #size-cells = <1>;
  274. compatible = "fsl,eloplus-dma";
  275. reg = <0x21300 0x4>;
  276. ranges = <0x0 0x21100 0x200>;
  277. cell-index = <0>;
  278. dma-channel@0 {
  279. compatible = "fsl,eloplus-dma-channel";
  280. reg = <0x0 0x80>;
  281. cell-index = <0>;
  282. interrupt-parent = <&mpic>;
  283. interrupts = <20 2>;
  284. };
  285. dma-channel@80 {
  286. compatible = "fsl,eloplus-dma-channel";
  287. reg = <0x80 0x80>;
  288. cell-index = <1>;
  289. interrupt-parent = <&mpic>;
  290. interrupts = <21 2>;
  291. };
  292. dma-channel@100 {
  293. compatible = "fsl,eloplus-dma-channel";
  294. reg = <0x100 0x80>;
  295. cell-index = <2>;
  296. interrupt-parent = <&mpic>;
  297. interrupts = <22 2>;
  298. };
  299. dma-channel@180 {
  300. compatible = "fsl,eloplus-dma-channel";
  301. reg = <0x180 0x80>;
  302. cell-index = <3>;
  303. interrupt-parent = <&mpic>;
  304. interrupts = <23 2>;
  305. };
  306. };
  307. usb@22000 {
  308. #address-cells = <1>;
  309. #size-cells = <0>;
  310. compatible = "fsl-usb2-dr";
  311. reg = <0x22000 0x1000>;
  312. interrupt-parent = <&mpic>;
  313. interrupts = <28 0x2>;
  314. phy_type = "ulpi";
  315. };
  316. usb@23000 {
  317. #address-cells = <1>;
  318. #size-cells = <0>;
  319. compatible = "fsl-usb2-dr";
  320. reg = <0x23000 0x1000>;
  321. interrupt-parent = <&mpic>;
  322. interrupts = <46 0x2>;
  323. phy_type = "ulpi";
  324. };
  325. sdhci@2e000 {
  326. compatible = "fsl,p1020-esdhc", "fsl,esdhc";
  327. reg = <0x2e000 0x1000>;
  328. interrupts = <72 0x2>;
  329. interrupt-parent = <&mpic>;
  330. /* Filled in by U-Boot */
  331. clock-frequency = <0>;
  332. };
  333. crypto@30000 {
  334. compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4",
  335. "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0";
  336. reg = <0x30000 0x10000>;
  337. interrupts = <45 2 58 2>;
  338. interrupt-parent = <&mpic>;
  339. fsl,num-channels = <4>;
  340. fsl,channel-fifo-len = <24>;
  341. fsl,exec-units-mask = <0xbfe>;
  342. fsl,descriptor-types-mask = <0x3ab0ebf>;
  343. };
  344. mpic: pic@40000 {
  345. interrupt-controller;
  346. #address-cells = <0>;
  347. #interrupt-cells = <2>;
  348. reg = <0x40000 0x40000>;
  349. compatible = "chrp,open-pic";
  350. device_type = "open-pic";
  351. };
  352. msi@41600 {
  353. compatible = "fsl,p1020-msi", "fsl,mpic-msi";
  354. reg = <0x41600 0x80>;
  355. msi-available-ranges = <0 0x100>;
  356. interrupts = <
  357. 0xe0 0
  358. 0xe1 0
  359. 0xe2 0
  360. 0xe3 0
  361. 0xe4 0
  362. 0xe5 0
  363. 0xe6 0
  364. 0xe7 0>;
  365. interrupt-parent = <&mpic>;
  366. };
  367. global-utilities@e0000 { //global utilities block
  368. compatible = "fsl,p1020-guts";
  369. reg = <0xe0000 0x1000>;
  370. fsl,has-rstcr;
  371. };
  372. };
  373. pci0: pcie@ffe09000 {
  374. compatible = "fsl,mpc8548-pcie";
  375. device_type = "pci";
  376. #interrupt-cells = <1>;
  377. #size-cells = <2>;
  378. #address-cells = <3>;
  379. reg = <0 0xffe09000 0 0x1000>;
  380. bus-range = <0 255>;
  381. ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
  382. 0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>;
  383. clock-frequency = <33333333>;
  384. interrupt-parent = <&mpic>;
  385. interrupts = <16 2>;
  386. pcie@0 {
  387. reg = <0x0 0x0 0x0 0x0 0x0>;
  388. #size-cells = <2>;
  389. #address-cells = <3>;
  390. device_type = "pci";
  391. ranges = <0x2000000 0x0 0xa0000000
  392. 0x2000000 0x0 0xa0000000
  393. 0x0 0x20000000
  394. 0x1000000 0x0 0x0
  395. 0x1000000 0x0 0x0
  396. 0x0 0x100000>;
  397. };
  398. };
  399. pci1: pcie@ffe0a000 {
  400. compatible = "fsl,mpc8548-pcie";
  401. device_type = "pci";
  402. #interrupt-cells = <1>;
  403. #size-cells = <2>;
  404. #address-cells = <3>;
  405. reg = <0 0xffe0a000 0 0x1000>;
  406. bus-range = <0 255>;
  407. ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
  408. 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
  409. clock-frequency = <33333333>;
  410. interrupt-parent = <&mpic>;
  411. interrupts = <16 2>;
  412. pcie@0 {
  413. reg = <0x0 0x0 0x0 0x0 0x0>;
  414. #size-cells = <2>;
  415. #address-cells = <3>;
  416. device_type = "pci";
  417. ranges = <0x2000000 0x0 0xc0000000
  418. 0x2000000 0x0 0xc0000000
  419. 0x0 0x20000000
  420. 0x1000000 0x0 0x0
  421. 0x1000000 0x0 0x0
  422. 0x0 0x100000>;
  423. };
  424. };
  425. };