p1023rds.dts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. /*
  2. * P1023 RDS Device Tree Source
  3. *
  4. * Copyright 2010-2011 Freescale Semiconductor Inc.
  5. *
  6. * Author: Roy Zang <tie-fei.zang@freescale.com>
  7. *
  8. * Redistribution and use in source and binary forms, with or without
  9. * modification, are permitted provided that the following conditions are met:
  10. * * Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. * * Neither the name of Freescale Semiconductor nor the
  16. * names of its contributors may be used to endorse or promote products
  17. * derived from this software without specific prior written permission.
  18. *
  19. *
  20. * ALTERNATIVELY, this software may be distributed under the terms of the
  21. * GNU General Public License ("GPL") as published by the Free Software
  22. * Foundation, either version 2 of that License or (at your option) any
  23. * later version.
  24. *
  25. * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
  26. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  27. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  28. * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
  29. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  30. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  31. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  32. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  33. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  34. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  35. */
  36. /dts-v1/;
  37. / {
  38. model = "fsl,P1023";
  39. compatible = "fsl,P1023RDS";
  40. #address-cells = <2>;
  41. #size-cells = <2>;
  42. aliases {
  43. serial0 = &serial0;
  44. serial1 = &serial1;
  45. pci0 = &pci0;
  46. pci1 = &pci1;
  47. pci2 = &pci2;
  48. crypto = &crypto;
  49. sec_jr0 = &sec_jr0;
  50. sec_jr1 = &sec_jr1;
  51. sec_jr2 = &sec_jr2;
  52. sec_jr3 = &sec_jr3;
  53. rtic_a = &rtic_a;
  54. rtic_b = &rtic_b;
  55. rtic_c = &rtic_c;
  56. rtic_d = &rtic_d;
  57. };
  58. cpus {
  59. #address-cells = <1>;
  60. #size-cells = <0>;
  61. cpu0: PowerPC,P1023@0 {
  62. device_type = "cpu";
  63. reg = <0x0>;
  64. next-level-cache = <&L2>;
  65. };
  66. cpu1: PowerPC,P1023@1 {
  67. device_type = "cpu";
  68. reg = <0x1>;
  69. next-level-cache = <&L2>;
  70. };
  71. };
  72. memory {
  73. device_type = "memory";
  74. };
  75. soc@ff600000 {
  76. #address-cells = <1>;
  77. #size-cells = <1>;
  78. device_type = "soc";
  79. compatible = "fsl,p1023-immr", "simple-bus";
  80. ranges = <0x0 0x0 0xff600000 0x200000>;
  81. bus-frequency = <0>; // Filled out by uboot.
  82. ecm-law@0 {
  83. compatible = "fsl,ecm-law";
  84. reg = <0x0 0x1000>;
  85. fsl,num-laws = <12>;
  86. };
  87. ecm@1000 {
  88. compatible = "fsl,p1023-ecm", "fsl,ecm";
  89. reg = <0x1000 0x1000>;
  90. interrupts = <16 2>;
  91. interrupt-parent = <&mpic>;
  92. };
  93. memory-controller@2000 {
  94. compatible = "fsl,p1023-memory-controller";
  95. reg = <0x2000 0x1000>;
  96. interrupt-parent = <&mpic>;
  97. interrupts = <16 2>;
  98. };
  99. i2c@3000 {
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. cell-index = <0>;
  103. compatible = "fsl-i2c";
  104. reg = <0x3000 0x100>;
  105. interrupts = <43 2>;
  106. interrupt-parent = <&mpic>;
  107. dfsrr;
  108. rtc@68 {
  109. compatible = "dallas,ds1374";
  110. reg = <0x68>;
  111. };
  112. };
  113. i2c@3100 {
  114. #address-cells = <1>;
  115. #size-cells = <0>;
  116. cell-index = <1>;
  117. compatible = "fsl-i2c";
  118. reg = <0x3100 0x100>;
  119. interrupts = <43 2>;
  120. interrupt-parent = <&mpic>;
  121. dfsrr;
  122. };
  123. serial0: serial@4500 {
  124. cell-index = <0>;
  125. device_type = "serial";
  126. compatible = "ns16550";
  127. reg = <0x4500 0x100>;
  128. clock-frequency = <0>;
  129. interrupts = <42 2>;
  130. interrupt-parent = <&mpic>;
  131. };
  132. serial1: serial@4600 {
  133. cell-index = <1>;
  134. device_type = "serial";
  135. compatible = "ns16550";
  136. reg = <0x4600 0x100>;
  137. clock-frequency = <0>;
  138. interrupts = <42 2>;
  139. interrupt-parent = <&mpic>;
  140. };
  141. spi@7000 {
  142. cell-index = <0>;
  143. #address-cells = <1>;
  144. #size-cells = <0>;
  145. compatible = "fsl,p1023-espi", "fsl,mpc8536-espi";
  146. reg = <0x7000 0x1000>;
  147. interrupts = <59 0x2>;
  148. interrupt-parent = <&mpic>;
  149. fsl,espi-num-chipselects = <4>;
  150. fsl_dataflash@0 {
  151. #address-cells = <1>;
  152. #size-cells = <1>;
  153. compatible = "atmel,at45db081d";
  154. reg = <0>;
  155. spi-max-frequency = <40000000>; /* input clock */
  156. partition@u-boot {
  157. /* 512KB for u-boot Bootloader Image */
  158. label = "u-boot-spi";
  159. reg = <0x00000000 0x00080000>;
  160. read-only;
  161. };
  162. partition@dtb {
  163. /* 512KB for DTB Image */
  164. label = "dtb-spi";
  165. reg = <0x00080000 0x00080000>;
  166. read-only;
  167. };
  168. };
  169. };
  170. gpio: gpio-controller@f000 {
  171. #gpio-cells = <2>;
  172. compatible = "fsl,qoriq-gpio";
  173. reg = <0xf000 0x100>;
  174. interrupts = <47 0x2>;
  175. interrupt-parent = <&mpic>;
  176. gpio-controller;
  177. };
  178. L2: l2-cache-controller@20000 {
  179. compatible = "fsl,p1023-l2-cache-controller";
  180. reg = <0x20000 0x1000>;
  181. cache-line-size = <32>; // 32 bytes
  182. cache-size = <0x40000>; // L2,256K
  183. interrupt-parent = <&mpic>;
  184. interrupts = <16 2>;
  185. };
  186. dma@21300 {
  187. #address-cells = <1>;
  188. #size-cells = <1>;
  189. compatible = "fsl,eloplus-dma";
  190. reg = <0x21300 0x4>;
  191. ranges = <0x0 0x21100 0x200>;
  192. cell-index = <0>;
  193. dma-channel@0 {
  194. compatible = "fsl,eloplus-dma-channel";
  195. reg = <0x0 0x80>;
  196. cell-index = <0>;
  197. interrupt-parent = <&mpic>;
  198. interrupts = <20 2>;
  199. };
  200. dma-channel@80 {
  201. compatible = "fsl,eloplus-dma-channel";
  202. reg = <0x80 0x80>;
  203. cell-index = <1>;
  204. interrupt-parent = <&mpic>;
  205. interrupts = <21 2>;
  206. };
  207. dma-channel@100 {
  208. compatible = "fsl,eloplus-dma-channel";
  209. reg = <0x100 0x80>;
  210. cell-index = <2>;
  211. interrupt-parent = <&mpic>;
  212. interrupts = <22 2>;
  213. };
  214. dma-channel@180 {
  215. compatible = "fsl,eloplus-dma-channel";
  216. reg = <0x180 0x80>;
  217. cell-index = <3>;
  218. interrupt-parent = <&mpic>;
  219. interrupts = <23 2>;
  220. };
  221. };
  222. usb@22000 {
  223. #address-cells = <1>;
  224. #size-cells = <0>;
  225. compatible = "fsl-usb2-dr";
  226. reg = <0x22000 0x1000>;
  227. interrupt-parent = <&mpic>;
  228. interrupts = <28 0x2>;
  229. dr_mode = "host";
  230. phy_type = "ulpi";
  231. };
  232. crypto: crypto@300000 {
  233. compatible = "fsl,sec-v4.2", "fsl,sec-v4.0";
  234. #address-cells = <1>;
  235. #size-cells = <1>;
  236. reg = <0x30000 0x10000>;
  237. ranges = <0 0x30000 0x10000>;
  238. interrupt-parent = <&mpic>;
  239. interrupts = <58 2>;
  240. sec_jr0: jr@1000 {
  241. compatible = "fsl,sec-v4.2-job-ring",
  242. "fsl,sec-v4.0-job-ring";
  243. reg = <0x1000 0x1000>;
  244. interrupts = <45 2>;
  245. };
  246. sec_jr1: jr@2000 {
  247. compatible = "fsl,sec-v4.2-job-ring",
  248. "fsl,sec-v4.0-job-ring";
  249. reg = <0x2000 0x1000>;
  250. interrupts = <45 2>;
  251. };
  252. sec_jr2: jr@3000 {
  253. compatible = "fsl,sec-v4.2-job-ring",
  254. "fsl,sec-v4.0-job-ring";
  255. reg = <0x3000 0x1000>;
  256. interrupts = <57 2>;
  257. };
  258. sec_jr3: jr@4000 {
  259. compatible = "fsl,sec-v4.2-job-ring",
  260. "fsl,sec-v4.0-job-ring";
  261. reg = <0x4000 0x1000>;
  262. interrupts = <57 2>;
  263. };
  264. rtic@6000 {
  265. compatible = "fsl,sec-v4.2-rtic",
  266. "fsl,sec-v4.0-rtic";
  267. #address-cells = <1>;
  268. #size-cells = <1>;
  269. reg = <0x6000 0x100>;
  270. ranges = <0x0 0x6100 0xe00>;
  271. rtic_a: rtic-a@0 {
  272. compatible = "fsl,sec-v4.2-rtic-memory",
  273. "fsl,sec-v4.0-rtic-memory";
  274. reg = <0x00 0x20 0x100 0x80>;
  275. };
  276. rtic_b: rtic-b@20 {
  277. compatible = "fsl,sec-v4.2-rtic-memory",
  278. "fsl,sec-v4.0-rtic-memory";
  279. reg = <0x20 0x20 0x200 0x80>;
  280. };
  281. rtic_c: rtic-c@40 {
  282. compatible = "fsl,sec-v4.2-rtic-memory",
  283. "fsl,sec-v4.0-rtic-memory";
  284. reg = <0x40 0x20 0x300 0x80>;
  285. };
  286. rtic_d: rtic-d@60 {
  287. compatible = "fsl,sec-v4.2-rtic-memory",
  288. "fsl,sec-v4.0-rtic-memory";
  289. reg = <0x60 0x20 0x500 0x80>;
  290. };
  291. };
  292. };
  293. power@e0070{
  294. compatible = "fsl,mpc8536-pmc", "fsl,mpc8548-pmc",
  295. "fsl,p1022-pmc";
  296. reg = <0xe0070 0x20>;
  297. etsec1_clk: soc-clk@B0{
  298. fsl,pmcdr-mask = <0x00000080>;
  299. };
  300. etsec2_clk: soc-clk@B1{
  301. fsl,pmcdr-mask = <0x00000040>;
  302. };
  303. etsec3_clk: soc-clk@B2{
  304. fsl,pmcdr-mask = <0x00000020>;
  305. };
  306. };
  307. mpic: pic@40000 {
  308. interrupt-controller;
  309. #address-cells = <0>;
  310. #interrupt-cells = <2>;
  311. reg = <0x40000 0x40000>;
  312. compatible = "chrp,open-pic";
  313. device_type = "open-pic";
  314. };
  315. msi@41600 {
  316. compatible = "fsl,p1023-msi", "fsl,mpic-msi";
  317. reg = <0x41600 0x80>;
  318. msi-available-ranges = <0 0x100>;
  319. interrupts = <
  320. 0xe0 0
  321. 0xe1 0
  322. 0xe2 0
  323. 0xe3 0
  324. 0xe4 0
  325. 0xe5 0
  326. 0xe6 0
  327. 0xe7 0>;
  328. interrupt-parent = <&mpic>;
  329. };
  330. global-utilities@e0000 { //global utilities block
  331. compatible = "fsl,p1023-guts";
  332. reg = <0xe0000 0x1000>;
  333. fsl,has-rstcr;
  334. };
  335. };
  336. localbus@ff605000 {
  337. #address-cells = <2>;
  338. #size-cells = <1>;
  339. compatible = "fsl,p1023-elbc", "fsl,elbc", "simple-bus";
  340. reg = <0 0xff605000 0 0x1000>;
  341. interrupts = <19 2>;
  342. interrupt-parent = <&mpic>;
  343. /* NOR Flash, BCSR */
  344. ranges = <0x0 0x0 0x0 0xee000000 0x02000000
  345. 0x1 0x0 0x0 0xe0000000 0x00008000>;
  346. nor@0,0 {
  347. #address-cells = <1>;
  348. #size-cells = <1>;
  349. compatible = "cfi-flash";
  350. reg = <0x0 0x0 0x02000000>;
  351. bank-width = <1>;
  352. device-width = <1>;
  353. partition@0 {
  354. label = "ramdisk";
  355. reg = <0x00000000 0x01c00000>;
  356. };
  357. partition@1c00000 {
  358. label = "kernel";
  359. reg = <0x01c00000 0x002e0000>;
  360. };
  361. partiton@1ee0000 {
  362. label = "dtb";
  363. reg = <0x01ee0000 0x00020000>;
  364. };
  365. partition@1f00000 {
  366. label = "firmware";
  367. reg = <0x01f00000 0x00080000>;
  368. read-only;
  369. };
  370. partition@1f80000 {
  371. label = "u-boot";
  372. reg = <0x01f80000 0x00080000>;
  373. read-only;
  374. };
  375. };
  376. fpga@1,0 {
  377. #address-cells = <1>;
  378. #size-cells = <1>;
  379. compatible = "fsl,p1023rds-fpga";
  380. reg = <1 0 0x8000>;
  381. ranges = <0 1 0 0x8000>;
  382. bcsr@20 {
  383. compatible = "fsl,p1023rds-bcsr";
  384. reg = <0x20 0x20>;
  385. };
  386. };
  387. };
  388. pci0: pcie@ff60a000 {
  389. compatible = "fsl,p1023-pcie", "fsl,qoriq-pcie-v2.2";
  390. cell-index = <1>;
  391. device_type = "pci";
  392. #size-cells = <2>;
  393. #address-cells = <3>;
  394. reg = <0 0xff60a000 0 0x1000>;
  395. bus-range = <0 255>;
  396. ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
  397. 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
  398. clock-frequency = <33333333>;
  399. interrupt-parent = <&mpic>;
  400. interrupts = <16 2>;
  401. pcie@0 {
  402. reg = <0x0 0x0 0x0 0x0 0x0>;
  403. #interrupt-cells = <1>;
  404. #size-cells = <2>;
  405. #address-cells = <3>;
  406. device_type = "pci";
  407. interrupt-parent = <&mpic>;
  408. interrupts = <16 2>;
  409. interrupt-map-mask = <0xf800 0 0 7>;
  410. interrupt-map = <
  411. /* IDSEL 0x0 */
  412. 0000 0 0 1 &mpic 0 1
  413. 0000 0 0 2 &mpic 1 1
  414. 0000 0 0 3 &mpic 2 1
  415. 0000 0 0 4 &mpic 3 1
  416. >;
  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. pci1: pcie@ff609000 {
  426. compatible = "fsl,p1023-pcie", "fsl,qoriq-pcie-v2.2";
  427. cell-index = <2>;
  428. device_type = "pci";
  429. #size-cells = <2>;
  430. #address-cells = <3>;
  431. reg = <0 0xff609000 0 0x1000>;
  432. bus-range = <0 255>;
  433. ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
  434. 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
  435. clock-frequency = <33333333>;
  436. interrupt-parent = <&mpic>;
  437. interrupts = <16 2>;
  438. pcie@0 {
  439. reg = <0x0 0x0 0x0 0x0 0x0>;
  440. #interrupt-cells = <1>;
  441. #size-cells = <2>;
  442. #address-cells = <3>;
  443. device_type = "pci";
  444. interrupt-parent = <&mpic>;
  445. interrupts = <16 2>;
  446. interrupt-map-mask = <0xf800 0 0 7>;
  447. interrupt-map = <
  448. /* IDSEL 0x0 */
  449. 0000 0 0 1 &mpic 4 1
  450. 0000 0 0 2 &mpic 5 1
  451. 0000 0 0 3 &mpic 6 1
  452. 0000 0 0 4 &mpic 7 1
  453. >;
  454. ranges = <0x2000000 0x0 0xa0000000
  455. 0x2000000 0x0 0xa0000000
  456. 0x0 0x20000000
  457. 0x1000000 0x0 0x0
  458. 0x1000000 0x0 0x0
  459. 0x0 0x100000>;
  460. };
  461. };
  462. pci2: pcie@ff60b000 {
  463. cell-index = <3>;
  464. compatible = "fsl,p1023-pcie", "fsl,qoriq-pcie-v2.2";
  465. device_type = "pci";
  466. #size-cells = <2>;
  467. #address-cells = <3>;
  468. reg = <0 0xff60b000 0 0x1000>;
  469. bus-range = <0 255>;
  470. ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
  471. 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
  472. clock-frequency = <33333333>;
  473. interrupt-parent = <&mpic>;
  474. interrupts = <16 2>;
  475. pcie@0 {
  476. reg = <0x0 0x0 0x0 0x0 0x0>;
  477. #interrupt-cells = <1>;
  478. #size-cells = <2>;
  479. #address-cells = <3>;
  480. device_type = "pci";
  481. interrupt-parent = <&mpic>;
  482. interrupts = <16 2>;
  483. interrupt-map-mask = <0xf800 0 0 7>;
  484. interrupt-map = <
  485. /* IDSEL 0x0 */
  486. 0000 0 0 1 &mpic 8 1
  487. 0000 0 0 2 &mpic 9 1
  488. 0000 0 0 3 &mpic 10 1
  489. 0000 0 0 4 &mpic 11 1
  490. >;
  491. ranges = <0x2000000 0x0 0x80000000
  492. 0x2000000 0x0 0x80000000
  493. 0x0 0x20000000
  494. 0x1000000 0x0 0x0
  495. 0x1000000 0x0 0x0
  496. 0x0 0x100000>;
  497. };
  498. };
  499. };