mpc8536ds.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. /*
  2. * MPC8536 DS Device Tree Source
  3. *
  4. * Copyright 2008 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,mpc8536ds";
  14. compatible = "fsl,mpc8536ds";
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. aliases {
  18. ethernet0 = &enet0;
  19. ethernet1 = &enet1;
  20. serial0 = &serial0;
  21. serial1 = &serial1;
  22. pci0 = &pci0;
  23. pci1 = &pci1;
  24. pci2 = &pci2;
  25. pci3 = &pci3;
  26. };
  27. cpus {
  28. #cpus = <1>;
  29. #address-cells = <1>;
  30. #size-cells = <0>;
  31. PowerPC,8536@0 {
  32. device_type = "cpu";
  33. reg = <0>;
  34. next-level-cache = <&L2>;
  35. };
  36. };
  37. memory {
  38. device_type = "memory";
  39. reg = <0 0 0 0>; // Filled by U-Boot
  40. };
  41. soc@ffe00000 {
  42. #address-cells = <1>;
  43. #size-cells = <1>;
  44. device_type = "soc";
  45. compatible = "simple-bus";
  46. ranges = <0x0 0 0xffe00000 0x100000>;
  47. bus-frequency = <0>; // Filled out by uboot.
  48. ecm-law@0 {
  49. compatible = "fsl,ecm-law";
  50. reg = <0x0 0x1000>;
  51. fsl,num-laws = <12>;
  52. };
  53. ecm@1000 {
  54. compatible = "fsl,mpc8536-ecm", "fsl,ecm";
  55. reg = <0x1000 0x1000>;
  56. interrupts = <17 2>;
  57. interrupt-parent = <&mpic>;
  58. };
  59. memory-controller@2000 {
  60. compatible = "fsl,mpc8536-memory-controller";
  61. reg = <0x2000 0x1000>;
  62. interrupt-parent = <&mpic>;
  63. interrupts = <18 0x2>;
  64. };
  65. L2: l2-cache-controller@20000 {
  66. compatible = "fsl,mpc8536-l2-cache-controller";
  67. reg = <0x20000 0x1000>;
  68. interrupt-parent = <&mpic>;
  69. interrupts = <16 0x2>;
  70. };
  71. i2c@3000 {
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. cell-index = <0>;
  75. compatible = "fsl-i2c";
  76. reg = <0x3000 0x100>;
  77. interrupts = <43 0x2>;
  78. interrupt-parent = <&mpic>;
  79. dfsrr;
  80. };
  81. i2c@3100 {
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. cell-index = <1>;
  85. compatible = "fsl-i2c";
  86. reg = <0x3100 0x100>;
  87. interrupts = <43 0x2>;
  88. interrupt-parent = <&mpic>;
  89. dfsrr;
  90. rtc@68 {
  91. compatible = "dallas,ds3232";
  92. reg = <0x68>;
  93. interrupts = <0 0x1>;
  94. interrupt-parent = <&mpic>;
  95. };
  96. };
  97. spi@7000 {
  98. #address-cells = <1>;
  99. #size-cells = <0>;
  100. compatible = "fsl,mpc8536-espi";
  101. reg = <0x7000 0x1000>;
  102. interrupts = <59 0x2>;
  103. interrupt-parent = <&mpic>;
  104. fsl,espi-num-chipselects = <4>;
  105. flash@0 {
  106. #address-cells = <1>;
  107. #size-cells = <1>;
  108. compatible = "spansion,s25sl12801";
  109. reg = <0>;
  110. spi-max-frequency = <40000000>;
  111. partition@u-boot {
  112. label = "u-boot";
  113. reg = <0x00000000 0x00100000>;
  114. read-only;
  115. };
  116. partition@kernel {
  117. label = "kernel";
  118. reg = <0x00100000 0x00500000>;
  119. read-only;
  120. };
  121. partition@dtb {
  122. label = "dtb";
  123. reg = <0x00600000 0x00100000>;
  124. read-only;
  125. };
  126. partition@fs {
  127. label = "file system";
  128. reg = <0x00700000 0x00900000>;
  129. };
  130. };
  131. flash@1 {
  132. compatible = "spansion,s25sl12801";
  133. reg = <1>;
  134. spi-max-frequency = <40000000>;
  135. };
  136. flash@2 {
  137. compatible = "spansion,s25sl12801";
  138. reg = <2>;
  139. spi-max-frequency = <40000000>;
  140. };
  141. flash@3 {
  142. compatible = "spansion,s25sl12801";
  143. reg = <3>;
  144. spi-max-frequency = <40000000>;
  145. };
  146. };
  147. dma@21300 {
  148. #address-cells = <1>;
  149. #size-cells = <1>;
  150. compatible = "fsl,mpc8536-dma", "fsl,eloplus-dma";
  151. reg = <0x21300 4>;
  152. ranges = <0 0x21100 0x200>;
  153. cell-index = <0>;
  154. dma-channel@0 {
  155. compatible = "fsl,mpc8536-dma-channel",
  156. "fsl,eloplus-dma-channel";
  157. reg = <0x0 0x80>;
  158. cell-index = <0>;
  159. interrupt-parent = <&mpic>;
  160. interrupts = <20 2>;
  161. };
  162. dma-channel@80 {
  163. compatible = "fsl,mpc8536-dma-channel",
  164. "fsl,eloplus-dma-channel";
  165. reg = <0x80 0x80>;
  166. cell-index = <1>;
  167. interrupt-parent = <&mpic>;
  168. interrupts = <21 2>;
  169. };
  170. dma-channel@100 {
  171. compatible = "fsl,mpc8536-dma-channel",
  172. "fsl,eloplus-dma-channel";
  173. reg = <0x100 0x80>;
  174. cell-index = <2>;
  175. interrupt-parent = <&mpic>;
  176. interrupts = <22 2>;
  177. };
  178. dma-channel@180 {
  179. compatible = "fsl,mpc8536-dma-channel",
  180. "fsl,eloplus-dma-channel";
  181. reg = <0x180 0x80>;
  182. cell-index = <3>;
  183. interrupt-parent = <&mpic>;
  184. interrupts = <23 2>;
  185. };
  186. };
  187. usb@22000 {
  188. compatible = "fsl,mpc8536-usb2-mph", "fsl-usb2-mph";
  189. reg = <0x22000 0x1000>;
  190. #address-cells = <1>;
  191. #size-cells = <0>;
  192. interrupt-parent = <&mpic>;
  193. interrupts = <28 0x2>;
  194. phy_type = "ulpi";
  195. };
  196. usb@23000 {
  197. compatible = "fsl,mpc8536-usb2-mph", "fsl-usb2-mph";
  198. reg = <0x23000 0x1000>;
  199. #address-cells = <1>;
  200. #size-cells = <0>;
  201. interrupt-parent = <&mpic>;
  202. interrupts = <46 0x2>;
  203. phy_type = "ulpi";
  204. };
  205. enet0: ethernet@24000 {
  206. #address-cells = <1>;
  207. #size-cells = <1>;
  208. cell-index = <0>;
  209. device_type = "network";
  210. model = "eTSEC";
  211. compatible = "gianfar";
  212. reg = <0x24000 0x1000>;
  213. ranges = <0x0 0x24000 0x1000>;
  214. local-mac-address = [ 00 00 00 00 00 00 ];
  215. interrupts = <29 2 30 2 34 2>;
  216. interrupt-parent = <&mpic>;
  217. tbi-handle = <&tbi0>;
  218. phy-handle = <&phy1>;
  219. phy-connection-type = "rgmii-id";
  220. mdio@520 {
  221. #address-cells = <1>;
  222. #size-cells = <0>;
  223. compatible = "fsl,gianfar-mdio";
  224. reg = <0x520 0x20>;
  225. phy0: ethernet-phy@0 {
  226. interrupt-parent = <&mpic>;
  227. interrupts = <10 0x1>;
  228. reg = <0>;
  229. device_type = "ethernet-phy";
  230. };
  231. phy1: ethernet-phy@1 {
  232. interrupt-parent = <&mpic>;
  233. interrupts = <10 0x1>;
  234. reg = <1>;
  235. device_type = "ethernet-phy";
  236. };
  237. tbi0: tbi-phy@11 {
  238. reg = <0x11>;
  239. device_type = "tbi-phy";
  240. };
  241. };
  242. };
  243. enet1: ethernet@26000 {
  244. #address-cells = <1>;
  245. #size-cells = <1>;
  246. cell-index = <1>;
  247. device_type = "network";
  248. model = "eTSEC";
  249. compatible = "gianfar";
  250. reg = <0x26000 0x1000>;
  251. ranges = <0x0 0x26000 0x1000>;
  252. local-mac-address = [ 00 00 00 00 00 00 ];
  253. interrupts = <31 2 32 2 33 2>;
  254. interrupt-parent = <&mpic>;
  255. tbi-handle = <&tbi1>;
  256. phy-handle = <&phy0>;
  257. phy-connection-type = "rgmii-id";
  258. mdio@520 {
  259. #address-cells = <1>;
  260. #size-cells = <0>;
  261. compatible = "fsl,gianfar-tbi";
  262. reg = <0x520 0x20>;
  263. tbi1: tbi-phy@11 {
  264. reg = <0x11>;
  265. device_type = "tbi-phy";
  266. };
  267. };
  268. };
  269. usb@2b000 {
  270. compatible = "fsl,mpc8536-usb2-dr", "fsl-usb2-dr";
  271. reg = <0x2b000 0x1000>;
  272. #address-cells = <1>;
  273. #size-cells = <0>;
  274. interrupt-parent = <&mpic>;
  275. interrupts = <60 0x2>;
  276. dr_mode = "peripheral";
  277. phy_type = "ulpi";
  278. };
  279. sdhci@2e000 {
  280. compatible = "fsl,mpc8536-esdhc", "fsl,esdhc";
  281. reg = <0x2e000 0x1000>;
  282. interrupts = <72 0x2>;
  283. interrupt-parent = <&mpic>;
  284. clock-frequency = <250000000>;
  285. };
  286. serial0: serial@4500 {
  287. cell-index = <0>;
  288. device_type = "serial";
  289. compatible = "ns16550";
  290. reg = <0x4500 0x100>;
  291. clock-frequency = <0>;
  292. interrupts = <42 0x2>;
  293. interrupt-parent = <&mpic>;
  294. };
  295. serial1: serial@4600 {
  296. cell-index = <1>;
  297. device_type = "serial";
  298. compatible = "ns16550";
  299. reg = <0x4600 0x100>;
  300. clock-frequency = <0>;
  301. interrupts = <42 0x2>;
  302. interrupt-parent = <&mpic>;
  303. };
  304. crypto@30000 {
  305. compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
  306. "fsl,sec2.1", "fsl,sec2.0";
  307. reg = <0x30000 0x10000>;
  308. interrupts = <45 2 58 2>;
  309. interrupt-parent = <&mpic>;
  310. fsl,num-channels = <4>;
  311. fsl,channel-fifo-len = <24>;
  312. fsl,exec-units-mask = <0x9fe>;
  313. fsl,descriptor-types-mask = <0x3ab0ebf>;
  314. };
  315. sata@18000 {
  316. compatible = "fsl,mpc8536-sata", "fsl,pq-sata";
  317. reg = <0x18000 0x1000>;
  318. cell-index = <1>;
  319. interrupts = <74 0x2>;
  320. interrupt-parent = <&mpic>;
  321. };
  322. sata@19000 {
  323. compatible = "fsl,mpc8536-sata", "fsl,pq-sata";
  324. reg = <0x19000 0x1000>;
  325. cell-index = <2>;
  326. interrupts = <41 0x2>;
  327. interrupt-parent = <&mpic>;
  328. };
  329. global-utilities@e0000 { //global utilities block
  330. compatible = "fsl,mpc8548-guts";
  331. reg = <0xe0000 0x1000>;
  332. fsl,has-rstcr;
  333. };
  334. mpic: pic@40000 {
  335. clock-frequency = <0>;
  336. interrupt-controller;
  337. #address-cells = <0>;
  338. #interrupt-cells = <2>;
  339. reg = <0x40000 0x40000>;
  340. compatible = "chrp,open-pic";
  341. device_type = "open-pic";
  342. big-endian;
  343. };
  344. msi@41600 {
  345. compatible = "fsl,mpc8536-msi", "fsl,mpic-msi";
  346. reg = <0x41600 0x80>;
  347. msi-available-ranges = <0 0x100>;
  348. interrupts = <
  349. 0xe0 0
  350. 0xe1 0
  351. 0xe2 0
  352. 0xe3 0
  353. 0xe4 0
  354. 0xe5 0
  355. 0xe6 0
  356. 0xe7 0>;
  357. interrupt-parent = <&mpic>;
  358. };
  359. };
  360. pci0: pci@ffe08000 {
  361. compatible = "fsl,mpc8540-pci";
  362. device_type = "pci";
  363. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  364. interrupt-map = <
  365. /* IDSEL 0x11 J17 Slot 1 */
  366. 0x8800 0 0 1 &mpic 1 1
  367. 0x8800 0 0 2 &mpic 2 1
  368. 0x8800 0 0 3 &mpic 3 1
  369. 0x8800 0 0 4 &mpic 4 1>;
  370. interrupt-parent = <&mpic>;
  371. interrupts = <24 0x2>;
  372. bus-range = <0 0xff>;
  373. ranges = <0x02000000 0 0x80000000 0 0x80000000 0 0x10000000
  374. 0x01000000 0 0x00000000 0 0xffc00000 0 0x00010000>;
  375. clock-frequency = <66666666>;
  376. #interrupt-cells = <1>;
  377. #size-cells = <2>;
  378. #address-cells = <3>;
  379. reg = <0 0xffe08000 0 0x1000>;
  380. };
  381. pci1: pcie@ffe09000 {
  382. compatible = "fsl,mpc8548-pcie";
  383. device_type = "pci";
  384. #interrupt-cells = <1>;
  385. #size-cells = <2>;
  386. #address-cells = <3>;
  387. reg = <0 0xffe09000 0 0x1000>;
  388. bus-range = <0 0xff>;
  389. ranges = <0x02000000 0 0x98000000 0 0x98000000 0 0x08000000
  390. 0x01000000 0 0x00000000 0 0xffc20000 0 0x00010000>;
  391. clock-frequency = <33333333>;
  392. interrupt-parent = <&mpic>;
  393. interrupts = <25 0x2>;
  394. interrupt-map-mask = <0xf800 0 0 7>;
  395. interrupt-map = <
  396. /* IDSEL 0x0 */
  397. 0000 0 0 1 &mpic 4 1
  398. 0000 0 0 2 &mpic 5 1
  399. 0000 0 0 3 &mpic 6 1
  400. 0000 0 0 4 &mpic 7 1
  401. >;
  402. pcie@0 {
  403. reg = <0 0 0 0 0>;
  404. #size-cells = <2>;
  405. #address-cells = <3>;
  406. device_type = "pci";
  407. ranges = <0x02000000 0 0x98000000
  408. 0x02000000 0 0x98000000
  409. 0 0x08000000
  410. 0x01000000 0 0x00000000
  411. 0x01000000 0 0x00000000
  412. 0 0x00010000>;
  413. };
  414. };
  415. pci2: pcie@ffe0a000 {
  416. compatible = "fsl,mpc8548-pcie";
  417. device_type = "pci";
  418. #interrupt-cells = <1>;
  419. #size-cells = <2>;
  420. #address-cells = <3>;
  421. reg = <0 0xffe0a000 0 0x1000>;
  422. bus-range = <0 0xff>;
  423. ranges = <0x02000000 0 0x90000000 0 0x90000000 0 0x08000000
  424. 0x01000000 0 0x00000000 0 0xffc10000 0 0x00010000>;
  425. clock-frequency = <33333333>;
  426. interrupt-parent = <&mpic>;
  427. interrupts = <26 0x2>;
  428. interrupt-map-mask = <0xf800 0 0 7>;
  429. interrupt-map = <
  430. /* IDSEL 0x0 */
  431. 0000 0 0 1 &mpic 0 1
  432. 0000 0 0 2 &mpic 1 1
  433. 0000 0 0 3 &mpic 2 1
  434. 0000 0 0 4 &mpic 3 1
  435. >;
  436. pcie@0 {
  437. reg = <0 0 0 0 0>;
  438. #size-cells = <2>;
  439. #address-cells = <3>;
  440. device_type = "pci";
  441. ranges = <0x02000000 0 0x90000000
  442. 0x02000000 0 0x90000000
  443. 0 0x08000000
  444. 0x01000000 0 0x00000000
  445. 0x01000000 0 0x00000000
  446. 0 0x00010000>;
  447. };
  448. };
  449. pci3: pcie@ffe0b000 {
  450. compatible = "fsl,mpc8548-pcie";
  451. device_type = "pci";
  452. #interrupt-cells = <1>;
  453. #size-cells = <2>;
  454. #address-cells = <3>;
  455. reg = <0 0xffe0b000 0 0x1000>;
  456. bus-range = <0 0xff>;
  457. ranges = <0x02000000 0 0xa0000000 0 0xa0000000 0 0x20000000
  458. 0x01000000 0 0x00000000 0 0xffc30000 0 0x00010000>;
  459. clock-frequency = <33333333>;
  460. interrupt-parent = <&mpic>;
  461. interrupts = <27 0x2>;
  462. interrupt-map-mask = <0xf800 0 0 7>;
  463. interrupt-map = <
  464. /* IDSEL 0x0 */
  465. 0000 0 0 1 &mpic 8 1
  466. 0000 0 0 2 &mpic 9 1
  467. 0000 0 0 3 &mpic 10 1
  468. 0000 0 0 4 &mpic 11 1
  469. >;
  470. pcie@0 {
  471. reg = <0 0 0 0 0>;
  472. #size-cells = <2>;
  473. #address-cells = <3>;
  474. device_type = "pci";
  475. ranges = <0x02000000 0 0xa0000000
  476. 0x02000000 0 0xa0000000
  477. 0 0x20000000
  478. 0x01000000 0 0x00000000
  479. 0x01000000 0 0x00000000
  480. 0 0x00100000>;
  481. };
  482. };
  483. };