p4080ds.dts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  1. /*
  2. * P4080DS Device Tree Source
  3. *
  4. * Copyright 2009-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. model = "fsl,P4080DS";
  14. compatible = "fsl,P4080DS";
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. aliases {
  18. ccsr = &soc;
  19. serial0 = &serial0;
  20. serial1 = &serial1;
  21. serial2 = &serial2;
  22. serial3 = &serial3;
  23. pci0 = &pci0;
  24. pci1 = &pci1;
  25. pci2 = &pci2;
  26. usb0 = &usb0;
  27. usb1 = &usb1;
  28. dma0 = &dma0;
  29. dma1 = &dma1;
  30. sdhc = &sdhc;
  31. crypto = &crypto;
  32. sec_jr0 = &sec_jr0;
  33. sec_jr1 = &sec_jr1;
  34. sec_jr2 = &sec_jr2;
  35. sec_jr3 = &sec_jr3;
  36. rtic_a = &rtic_a;
  37. rtic_b = &rtic_b;
  38. rtic_c = &rtic_c;
  39. rtic_d = &rtic_d;
  40. sec_mon = &sec_mon;
  41. rio0 = &rapidio0;
  42. };
  43. cpus {
  44. #address-cells = <1>;
  45. #size-cells = <0>;
  46. cpu0: PowerPC,4080@0 {
  47. device_type = "cpu";
  48. reg = <0>;
  49. next-level-cache = <&L2_0>;
  50. L2_0: l2-cache {
  51. };
  52. };
  53. cpu1: PowerPC,4080@1 {
  54. device_type = "cpu";
  55. reg = <1>;
  56. next-level-cache = <&L2_1>;
  57. L2_1: l2-cache {
  58. };
  59. };
  60. cpu2: PowerPC,4080@2 {
  61. device_type = "cpu";
  62. reg = <2>;
  63. next-level-cache = <&L2_2>;
  64. L2_2: l2-cache {
  65. };
  66. };
  67. cpu3: PowerPC,4080@3 {
  68. device_type = "cpu";
  69. reg = <3>;
  70. next-level-cache = <&L2_3>;
  71. L2_3: l2-cache {
  72. };
  73. };
  74. cpu4: PowerPC,4080@4 {
  75. device_type = "cpu";
  76. reg = <4>;
  77. next-level-cache = <&L2_4>;
  78. L2_4: l2-cache {
  79. };
  80. };
  81. cpu5: PowerPC,4080@5 {
  82. device_type = "cpu";
  83. reg = <5>;
  84. next-level-cache = <&L2_5>;
  85. L2_5: l2-cache {
  86. };
  87. };
  88. cpu6: PowerPC,4080@6 {
  89. device_type = "cpu";
  90. reg = <6>;
  91. next-level-cache = <&L2_6>;
  92. L2_6: l2-cache {
  93. };
  94. };
  95. cpu7: PowerPC,4080@7 {
  96. device_type = "cpu";
  97. reg = <7>;
  98. next-level-cache = <&L2_7>;
  99. L2_7: l2-cache {
  100. };
  101. };
  102. };
  103. memory {
  104. device_type = "memory";
  105. };
  106. soc: soc@ffe000000 {
  107. #address-cells = <1>;
  108. #size-cells = <1>;
  109. device_type = "soc";
  110. compatible = "simple-bus";
  111. ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
  112. reg = <0xf 0xfe000000 0 0x00001000>;
  113. corenet-law@0 {
  114. compatible = "fsl,corenet-law";
  115. reg = <0x0 0x1000>;
  116. fsl,num-laws = <32>;
  117. };
  118. memory-controller@8000 {
  119. compatible = "fsl,p4080-memory-controller";
  120. reg = <0x8000 0x1000>;
  121. interrupt-parent = <&mpic>;
  122. interrupts = <0x12 2>;
  123. };
  124. memory-controller@9000 {
  125. compatible = "fsl,p4080-memory-controller";
  126. reg = <0x9000 0x1000>;
  127. interrupt-parent = <&mpic>;
  128. interrupts = <0x12 2>;
  129. };
  130. corenet-cf@18000 {
  131. compatible = "fsl,corenet-cf";
  132. reg = <0x18000 0x1000>;
  133. fsl,ccf-num-csdids = <32>;
  134. fsl,ccf-num-snoopids = <32>;
  135. };
  136. iommu@20000 {
  137. compatible = "fsl,p4080-pamu";
  138. reg = <0x20000 0x10000>;
  139. interrupts = <24 2>;
  140. interrupt-parent = <&mpic>;
  141. };
  142. mpic: pic@40000 {
  143. interrupt-controller;
  144. #address-cells = <0>;
  145. #interrupt-cells = <2>;
  146. reg = <0x40000 0x40000>;
  147. compatible = "chrp,open-pic";
  148. device_type = "open-pic";
  149. };
  150. dma0: dma@100300 {
  151. #address-cells = <1>;
  152. #size-cells = <1>;
  153. compatible = "fsl,p4080-dma", "fsl,eloplus-dma";
  154. reg = <0x100300 0x4>;
  155. ranges = <0x0 0x100100 0x200>;
  156. cell-index = <0>;
  157. dma-channel@0 {
  158. compatible = "fsl,p4080-dma-channel",
  159. "fsl,eloplus-dma-channel";
  160. reg = <0x0 0x80>;
  161. cell-index = <0>;
  162. interrupt-parent = <&mpic>;
  163. interrupts = <28 2>;
  164. };
  165. dma-channel@80 {
  166. compatible = "fsl,p4080-dma-channel",
  167. "fsl,eloplus-dma-channel";
  168. reg = <0x80 0x80>;
  169. cell-index = <1>;
  170. interrupt-parent = <&mpic>;
  171. interrupts = <29 2>;
  172. };
  173. dma-channel@100 {
  174. compatible = "fsl,p4080-dma-channel",
  175. "fsl,eloplus-dma-channel";
  176. reg = <0x100 0x80>;
  177. cell-index = <2>;
  178. interrupt-parent = <&mpic>;
  179. interrupts = <30 2>;
  180. };
  181. dma-channel@180 {
  182. compatible = "fsl,p4080-dma-channel",
  183. "fsl,eloplus-dma-channel";
  184. reg = <0x180 0x80>;
  185. cell-index = <3>;
  186. interrupt-parent = <&mpic>;
  187. interrupts = <31 2>;
  188. };
  189. };
  190. dma1: dma@101300 {
  191. #address-cells = <1>;
  192. #size-cells = <1>;
  193. compatible = "fsl,p4080-dma", "fsl,eloplus-dma";
  194. reg = <0x101300 0x4>;
  195. ranges = <0x0 0x101100 0x200>;
  196. cell-index = <1>;
  197. dma-channel@0 {
  198. compatible = "fsl,p4080-dma-channel",
  199. "fsl,eloplus-dma-channel";
  200. reg = <0x0 0x80>;
  201. cell-index = <0>;
  202. interrupt-parent = <&mpic>;
  203. interrupts = <32 2>;
  204. };
  205. dma-channel@80 {
  206. compatible = "fsl,p4080-dma-channel",
  207. "fsl,eloplus-dma-channel";
  208. reg = <0x80 0x80>;
  209. cell-index = <1>;
  210. interrupt-parent = <&mpic>;
  211. interrupts = <33 2>;
  212. };
  213. dma-channel@100 {
  214. compatible = "fsl,p4080-dma-channel",
  215. "fsl,eloplus-dma-channel";
  216. reg = <0x100 0x80>;
  217. cell-index = <2>;
  218. interrupt-parent = <&mpic>;
  219. interrupts = <34 2>;
  220. };
  221. dma-channel@180 {
  222. compatible = "fsl,p4080-dma-channel",
  223. "fsl,eloplus-dma-channel";
  224. reg = <0x180 0x80>;
  225. cell-index = <3>;
  226. interrupt-parent = <&mpic>;
  227. interrupts = <35 2>;
  228. };
  229. };
  230. spi@110000 {
  231. #address-cells = <1>;
  232. #size-cells = <0>;
  233. compatible = "fsl,p4080-espi", "fsl,mpc8536-espi";
  234. reg = <0x110000 0x1000>;
  235. interrupts = <53 0x2>;
  236. interrupt-parent = <&mpic>;
  237. fsl,espi-num-chipselects = <4>;
  238. flash@0 {
  239. #address-cells = <1>;
  240. #size-cells = <1>;
  241. compatible = "spansion,s25sl12801";
  242. reg = <0>;
  243. spi-max-frequency = <40000000>; /* input clock */
  244. partition@u-boot {
  245. label = "u-boot";
  246. reg = <0x00000000 0x00100000>;
  247. read-only;
  248. };
  249. partition@kernel {
  250. label = "kernel";
  251. reg = <0x00100000 0x00500000>;
  252. read-only;
  253. };
  254. partition@dtb {
  255. label = "dtb";
  256. reg = <0x00600000 0x00100000>;
  257. read-only;
  258. };
  259. partition@fs {
  260. label = "file system";
  261. reg = <0x00700000 0x00900000>;
  262. };
  263. };
  264. };
  265. sdhc: sdhc@114000 {
  266. compatible = "fsl,p4080-esdhc", "fsl,esdhc";
  267. reg = <0x114000 0x1000>;
  268. interrupts = <48 2>;
  269. interrupt-parent = <&mpic>;
  270. voltage-ranges = <3300 3300>;
  271. sdhci,auto-cmd12;
  272. };
  273. i2c@118000 {
  274. #address-cells = <1>;
  275. #size-cells = <0>;
  276. cell-index = <0>;
  277. compatible = "fsl-i2c";
  278. reg = <0x118000 0x100>;
  279. interrupts = <38 2>;
  280. interrupt-parent = <&mpic>;
  281. dfsrr;
  282. };
  283. i2c@118100 {
  284. #address-cells = <1>;
  285. #size-cells = <0>;
  286. cell-index = <1>;
  287. compatible = "fsl-i2c";
  288. reg = <0x118100 0x100>;
  289. interrupts = <38 2>;
  290. interrupt-parent = <&mpic>;
  291. dfsrr;
  292. eeprom@51 {
  293. compatible = "at24,24c256";
  294. reg = <0x51>;
  295. };
  296. eeprom@52 {
  297. compatible = "at24,24c256";
  298. reg = <0x52>;
  299. };
  300. rtc@68 {
  301. compatible = "dallas,ds3232";
  302. reg = <0x68>;
  303. interrupts = <0 0x1>;
  304. interrupt-parent = <&mpic>;
  305. };
  306. };
  307. i2c@119000 {
  308. #address-cells = <1>;
  309. #size-cells = <0>;
  310. cell-index = <2>;
  311. compatible = "fsl-i2c";
  312. reg = <0x119000 0x100>;
  313. interrupts = <39 2>;
  314. interrupt-parent = <&mpic>;
  315. dfsrr;
  316. };
  317. i2c@119100 {
  318. #address-cells = <1>;
  319. #size-cells = <0>;
  320. cell-index = <3>;
  321. compatible = "fsl-i2c";
  322. reg = <0x119100 0x100>;
  323. interrupts = <39 2>;
  324. interrupt-parent = <&mpic>;
  325. dfsrr;
  326. };
  327. serial0: serial@11c500 {
  328. cell-index = <0>;
  329. device_type = "serial";
  330. compatible = "ns16550";
  331. reg = <0x11c500 0x100>;
  332. clock-frequency = <0>;
  333. interrupts = <36 2>;
  334. interrupt-parent = <&mpic>;
  335. };
  336. serial1: serial@11c600 {
  337. cell-index = <1>;
  338. device_type = "serial";
  339. compatible = "ns16550";
  340. reg = <0x11c600 0x100>;
  341. clock-frequency = <0>;
  342. interrupts = <36 2>;
  343. interrupt-parent = <&mpic>;
  344. };
  345. serial2: serial@11d500 {
  346. cell-index = <2>;
  347. device_type = "serial";
  348. compatible = "ns16550";
  349. reg = <0x11d500 0x100>;
  350. clock-frequency = <0>;
  351. interrupts = <37 2>;
  352. interrupt-parent = <&mpic>;
  353. };
  354. serial3: serial@11d600 {
  355. cell-index = <3>;
  356. device_type = "serial";
  357. compatible = "ns16550";
  358. reg = <0x11d600 0x100>;
  359. clock-frequency = <0>;
  360. interrupts = <37 2>;
  361. interrupt-parent = <&mpic>;
  362. };
  363. gpio0: gpio@130000 {
  364. compatible = "fsl,p4080-gpio";
  365. reg = <0x130000 0x1000>;
  366. interrupts = <55 2>;
  367. interrupt-parent = <&mpic>;
  368. #gpio-cells = <2>;
  369. gpio-controller;
  370. };
  371. usb0: usb@210000 {
  372. compatible = "fsl,p4080-usb2-mph",
  373. "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph";
  374. reg = <0x210000 0x1000>;
  375. #address-cells = <1>;
  376. #size-cells = <0>;
  377. interrupt-parent = <&mpic>;
  378. interrupts = <44 0x2>;
  379. phy_type = "ulpi";
  380. };
  381. usb1: usb@211000 {
  382. compatible = "fsl,p4080-usb2-dr",
  383. "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr";
  384. reg = <0x211000 0x1000>;
  385. #address-cells = <1>;
  386. #size-cells = <0>;
  387. interrupt-parent = <&mpic>;
  388. interrupts = <45 0x2>;
  389. dr_mode = "host";
  390. phy_type = "ulpi";
  391. };
  392. crypto: crypto@300000 {
  393. compatible = "fsl,sec-v4.0";
  394. #address-cells = <1>;
  395. #size-cells = <1>;
  396. reg = <0x300000 0x10000>;
  397. ranges = <0 0x300000 0x10000>;
  398. interrupt-parent = <&mpic>;
  399. interrupts = <92 2>;
  400. sec_jr0: jr@1000 {
  401. compatible = "fsl,sec-v4.0-job-ring";
  402. reg = <0x1000 0x1000>;
  403. interrupt-parent = <&mpic>;
  404. interrupts = <88 2>;
  405. };
  406. sec_jr1: jr@2000 {
  407. compatible = "fsl,sec-v4.0-job-ring";
  408. reg = <0x2000 0x1000>;
  409. interrupt-parent = <&mpic>;
  410. interrupts = <89 2>;
  411. };
  412. sec_jr2: jr@3000 {
  413. compatible = "fsl,sec-v4.0-job-ring";
  414. reg = <0x3000 0x1000>;
  415. interrupt-parent = <&mpic>;
  416. interrupts = <90 2>;
  417. };
  418. sec_jr3: jr@4000 {
  419. compatible = "fsl,sec-v4.0-job-ring";
  420. reg = <0x4000 0x1000>;
  421. interrupt-parent = <&mpic>;
  422. interrupts = <91 2>;
  423. };
  424. rtic@6000 {
  425. compatible = "fsl,sec-v4.0-rtic";
  426. #address-cells = <1>;
  427. #size-cells = <1>;
  428. reg = <0x6000 0x100>;
  429. ranges = <0x0 0x6100 0xe00>;
  430. rtic_a: rtic-a@0 {
  431. compatible = "fsl,sec-v4.0-rtic-memory";
  432. reg = <0x00 0x20 0x100 0x80>;
  433. };
  434. rtic_b: rtic-b@20 {
  435. compatible = "fsl,sec-v4.0-rtic-memory";
  436. reg = <0x20 0x20 0x200 0x80>;
  437. };
  438. rtic_c: rtic-c@40 {
  439. compatible = "fsl,sec-v4.0-rtic-memory";
  440. reg = <0x40 0x20 0x300 0x80>;
  441. };
  442. rtic_d: rtic-d@60 {
  443. compatible = "fsl,sec-v4.0-rtic-memory";
  444. reg = <0x60 0x20 0x500 0x80>;
  445. };
  446. };
  447. };
  448. sec_mon: sec_mon@314000 {
  449. compatible = "fsl,sec-v4.0-mon";
  450. reg = <0x314000 0x1000>;
  451. interrupt-parent = <&mpic>;
  452. interrupts = <93 2>;
  453. };
  454. };
  455. rapidio0: rapidio@ffe0c0000 {
  456. #address-cells = <2>;
  457. #size-cells = <2>;
  458. compatible = "fsl,rapidio-delta";
  459. reg = <0xf 0xfe0c0000 0 0x20000>;
  460. ranges = <0 0 0xf 0xf5000000 0 0x01000000>;
  461. interrupt-parent = <&mpic>;
  462. /* err_irq bell_outb_irq bell_inb_irq
  463. msg1_tx_irq msg1_rx_irq msg2_tx_irq msg2_rx_irq */
  464. interrupts = <16 2 56 2 57 2 60 2 61 2 62 2 63 2>;
  465. };
  466. localbus@ffe124000 {
  467. compatible = "fsl,p4080-elbc", "fsl,elbc", "simple-bus";
  468. reg = <0xf 0xfe124000 0 0x1000>;
  469. interrupts = <25 2>;
  470. #address-cells = <2>;
  471. #size-cells = <1>;
  472. ranges = <0 0 0xf 0xe8000000 0x08000000>;
  473. flash@0,0 {
  474. compatible = "cfi-flash";
  475. reg = <0 0 0x08000000>;
  476. bank-width = <2>;
  477. device-width = <2>;
  478. };
  479. };
  480. pci0: pcie@ffe200000 {
  481. compatible = "fsl,p4080-pcie";
  482. device_type = "pci";
  483. #interrupt-cells = <1>;
  484. #size-cells = <2>;
  485. #address-cells = <3>;
  486. reg = <0xf 0xfe200000 0 0x1000>;
  487. bus-range = <0x0 0xff>;
  488. ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000
  489. 0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>;
  490. clock-frequency = <0x1fca055>;
  491. interrupt-parent = <&mpic>;
  492. interrupts = <16 2>;
  493. interrupt-map-mask = <0xf800 0 0 7>;
  494. interrupt-map = <
  495. /* IDSEL 0x0 */
  496. 0000 0 0 1 &mpic 40 1
  497. 0000 0 0 2 &mpic 1 1
  498. 0000 0 0 3 &mpic 2 1
  499. 0000 0 0 4 &mpic 3 1
  500. >;
  501. pcie@0 {
  502. reg = <0 0 0 0 0>;
  503. #size-cells = <2>;
  504. #address-cells = <3>;
  505. device_type = "pci";
  506. ranges = <0x02000000 0 0xe0000000
  507. 0x02000000 0 0xe0000000
  508. 0 0x20000000
  509. 0x01000000 0 0x00000000
  510. 0x01000000 0 0x00000000
  511. 0 0x00010000>;
  512. };
  513. };
  514. pci1: pcie@ffe201000 {
  515. compatible = "fsl,p4080-pcie";
  516. device_type = "pci";
  517. #interrupt-cells = <1>;
  518. #size-cells = <2>;
  519. #address-cells = <3>;
  520. reg = <0xf 0xfe201000 0 0x1000>;
  521. bus-range = <0 0xff>;
  522. ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
  523. 0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>;
  524. clock-frequency = <0x1fca055>;
  525. interrupt-parent = <&mpic>;
  526. interrupts = <16 2>;
  527. interrupt-map-mask = <0xf800 0 0 7>;
  528. interrupt-map = <
  529. /* IDSEL 0x0 */
  530. 0000 0 0 1 &mpic 41 1
  531. 0000 0 0 2 &mpic 5 1
  532. 0000 0 0 3 &mpic 6 1
  533. 0000 0 0 4 &mpic 7 1
  534. >;
  535. pcie@0 {
  536. reg = <0 0 0 0 0>;
  537. #size-cells = <2>;
  538. #address-cells = <3>;
  539. device_type = "pci";
  540. ranges = <0x02000000 0 0xe0000000
  541. 0x02000000 0 0xe0000000
  542. 0 0x20000000
  543. 0x01000000 0 0x00000000
  544. 0x01000000 0 0x00000000
  545. 0 0x00010000>;
  546. };
  547. };
  548. pci2: pcie@ffe202000 {
  549. compatible = "fsl,p4080-pcie";
  550. device_type = "pci";
  551. #interrupt-cells = <1>;
  552. #size-cells = <2>;
  553. #address-cells = <3>;
  554. reg = <0xf 0xfe202000 0 0x1000>;
  555. bus-range = <0x0 0xff>;
  556. ranges = <0x02000000 0 0xe0000000 0xc 0x40000000 0 0x20000000
  557. 0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
  558. clock-frequency = <0x1fca055>;
  559. interrupt-parent = <&mpic>;
  560. interrupts = <16 2>;
  561. interrupt-map-mask = <0xf800 0 0 7>;
  562. interrupt-map = <
  563. /* IDSEL 0x0 */
  564. 0000 0 0 1 &mpic 42 1
  565. 0000 0 0 2 &mpic 9 1
  566. 0000 0 0 3 &mpic 10 1
  567. 0000 0 0 4 &mpic 11 1
  568. >;
  569. pcie@0 {
  570. reg = <0 0 0 0 0>;
  571. #size-cells = <2>;
  572. #address-cells = <3>;
  573. device_type = "pci";
  574. ranges = <0x02000000 0 0xe0000000
  575. 0x02000000 0 0xe0000000
  576. 0 0x20000000
  577. 0x01000000 0 0x00000000
  578. 0x01000000 0 0x00000000
  579. 0 0x00010000>;
  580. };
  581. };
  582. };