mpc836x_mds.dts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * MPC8360E EMDS Device Tree Source
  4. *
  5. * Copyright 2006 Freescale Semiconductor Inc.
  6. */
  7. /*
  8. /memreserve/ 00000000 1000000;
  9. */
  10. /dts-v1/;
  11. / {
  12. model = "MPC8360MDS";
  13. compatible = "MPC8360EMDS", "MPC836xMDS", "MPC83xxMDS";
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. aliases {
  17. ethernet0 = &enet0;
  18. ethernet1 = &enet1;
  19. serial0 = &serial0;
  20. serial1 = &serial1;
  21. pci0 = &pci0;
  22. };
  23. cpus {
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. PowerPC,8360@0 {
  27. device_type = "cpu";
  28. reg = <0x0>;
  29. d-cache-line-size = <32>; // 32 bytes
  30. i-cache-line-size = <32>; // 32 bytes
  31. d-cache-size = <32768>; // L1, 32K
  32. i-cache-size = <32768>; // L1, 32K
  33. timebase-frequency = <66000000>;
  34. bus-frequency = <264000000>;
  35. clock-frequency = <528000000>;
  36. };
  37. };
  38. memory {
  39. device_type = "memory";
  40. reg = <0x00000000 0x10000000>;
  41. };
  42. localbus@e0005000 {
  43. #address-cells = <2>;
  44. #size-cells = <1>;
  45. compatible = "fsl,mpc8360-localbus", "fsl,pq2pro-localbus",
  46. "simple-bus";
  47. reg = <0xe0005000 0xd8>;
  48. ranges = <0 0 0xfe000000 0x02000000
  49. 1 0 0xf8000000 0x00008000>;
  50. flash@0,0 {
  51. compatible = "cfi-flash";
  52. reg = <0 0 0x2000000>;
  53. bank-width = <2>;
  54. device-width = <1>;
  55. };
  56. bcsr@1,0 {
  57. #address-cells = <1>;
  58. #size-cells = <1>;
  59. compatible = "fsl,mpc8360mds-bcsr";
  60. reg = <1 0 0x8000>;
  61. ranges = <0 1 0 0x8000>;
  62. bcsr13: gpio-controller@d {
  63. #gpio-cells = <2>;
  64. compatible = "fsl,mpc8360mds-bcsr-gpio";
  65. reg = <0xd 1>;
  66. gpio-controller;
  67. };
  68. };
  69. };
  70. soc8360@e0000000 {
  71. #address-cells = <1>;
  72. #size-cells = <1>;
  73. device_type = "soc";
  74. compatible = "simple-bus";
  75. ranges = <0x0 0xe0000000 0x00100000>;
  76. reg = <0xe0000000 0x00000200>;
  77. bus-frequency = <264000000>;
  78. wdt@200 {
  79. device_type = "watchdog";
  80. compatible = "mpc83xx_wdt";
  81. reg = <0x200 0x100>;
  82. };
  83. pmc: power@b00 {
  84. compatible = "fsl,mpc8360-pmc", "fsl,mpc8349-pmc";
  85. reg = <0xb00 0x100 0xa00 0x100>;
  86. interrupts = <80 0x8>;
  87. interrupt-parent = <&ipic>;
  88. };
  89. i2c@3000 {
  90. #address-cells = <1>;
  91. #size-cells = <0>;
  92. cell-index = <0>;
  93. compatible = "fsl-i2c";
  94. reg = <0x3000 0x100>;
  95. interrupts = <14 0x8>;
  96. interrupt-parent = <&ipic>;
  97. dfsrr;
  98. rtc@68 {
  99. compatible = "dallas,ds1374";
  100. reg = <0x68>;
  101. };
  102. };
  103. i2c@3100 {
  104. #address-cells = <1>;
  105. #size-cells = <0>;
  106. cell-index = <1>;
  107. compatible = "fsl-i2c";
  108. reg = <0x3100 0x100>;
  109. interrupts = <15 0x8>;
  110. interrupt-parent = <&ipic>;
  111. dfsrr;
  112. };
  113. serial0: serial@4500 {
  114. cell-index = <0>;
  115. device_type = "serial";
  116. compatible = "fsl,ns16550", "ns16550";
  117. reg = <0x4500 0x100>;
  118. clock-frequency = <264000000>;
  119. interrupts = <9 0x8>;
  120. interrupt-parent = <&ipic>;
  121. };
  122. serial1: serial@4600 {
  123. cell-index = <1>;
  124. device_type = "serial";
  125. compatible = "fsl,ns16550", "ns16550";
  126. reg = <0x4600 0x100>;
  127. clock-frequency = <264000000>;
  128. interrupts = <10 0x8>;
  129. interrupt-parent = <&ipic>;
  130. };
  131. dma@82a8 {
  132. #address-cells = <1>;
  133. #size-cells = <1>;
  134. compatible = "fsl,mpc8360-dma", "fsl,elo-dma";
  135. reg = <0x82a8 4>;
  136. ranges = <0 0x8100 0x1a8>;
  137. interrupt-parent = <&ipic>;
  138. interrupts = <71 8>;
  139. cell-index = <0>;
  140. dma-channel@0 {
  141. compatible = "fsl,mpc8360-dma-channel", "fsl,elo-dma-channel";
  142. reg = <0 0x80>;
  143. cell-index = <0>;
  144. interrupt-parent = <&ipic>;
  145. interrupts = <71 8>;
  146. };
  147. dma-channel@80 {
  148. compatible = "fsl,mpc8360-dma-channel", "fsl,elo-dma-channel";
  149. reg = <0x80 0x80>;
  150. cell-index = <1>;
  151. interrupt-parent = <&ipic>;
  152. interrupts = <71 8>;
  153. };
  154. dma-channel@100 {
  155. compatible = "fsl,mpc8360-dma-channel", "fsl,elo-dma-channel";
  156. reg = <0x100 0x80>;
  157. cell-index = <2>;
  158. interrupt-parent = <&ipic>;
  159. interrupts = <71 8>;
  160. };
  161. dma-channel@180 {
  162. compatible = "fsl,mpc8360-dma-channel", "fsl,elo-dma-channel";
  163. reg = <0x180 0x28>;
  164. cell-index = <3>;
  165. interrupt-parent = <&ipic>;
  166. interrupts = <71 8>;
  167. };
  168. };
  169. crypto@30000 {
  170. compatible = "fsl,sec2.0";
  171. reg = <0x30000 0x10000>;
  172. interrupts = <11 0x8>;
  173. interrupt-parent = <&ipic>;
  174. fsl,num-channels = <4>;
  175. fsl,channel-fifo-len = <24>;
  176. fsl,exec-units-mask = <0x7e>;
  177. fsl,descriptor-types-mask = <0x01010ebf>;
  178. sleep = <&pmc 0x03000000>;
  179. };
  180. ipic: pic@700 {
  181. interrupt-controller;
  182. #address-cells = <0>;
  183. #interrupt-cells = <2>;
  184. reg = <0x700 0x100>;
  185. device_type = "ipic";
  186. };
  187. par_io@1400 {
  188. #address-cells = <1>;
  189. #size-cells = <1>;
  190. reg = <0x1400 0x100>;
  191. ranges = <0 0x1400 0x100>;
  192. device_type = "par_io";
  193. num-ports = <7>;
  194. qe_pio_b: gpio-controller@18 {
  195. #gpio-cells = <2>;
  196. compatible = "fsl,mpc8360-qe-pario-bank",
  197. "fsl,mpc8323-qe-pario-bank";
  198. reg = <0x18 0x18>;
  199. gpio-controller;
  200. };
  201. pio1: ucc_pin@1 {
  202. pio-map = <
  203. /* port pin dir open_drain assignment has_irq */
  204. 0 3 1 0 1 0 /* TxD0 */
  205. 0 4 1 0 1 0 /* TxD1 */
  206. 0 5 1 0 1 0 /* TxD2 */
  207. 0 6 1 0 1 0 /* TxD3 */
  208. 1 6 1 0 3 0 /* TxD4 */
  209. 1 7 1 0 1 0 /* TxD5 */
  210. 1 9 1 0 2 0 /* TxD6 */
  211. 1 10 1 0 2 0 /* TxD7 */
  212. 0 9 2 0 1 0 /* RxD0 */
  213. 0 10 2 0 1 0 /* RxD1 */
  214. 0 11 2 0 1 0 /* RxD2 */
  215. 0 12 2 0 1 0 /* RxD3 */
  216. 0 13 2 0 1 0 /* RxD4 */
  217. 1 1 2 0 2 0 /* RxD5 */
  218. 1 0 2 0 2 0 /* RxD6 */
  219. 1 4 2 0 2 0 /* RxD7 */
  220. 0 7 1 0 1 0 /* TX_EN */
  221. 0 8 1 0 1 0 /* TX_ER */
  222. 0 15 2 0 1 0 /* RX_DV */
  223. 0 16 2 0 1 0 /* RX_ER */
  224. 0 0 2 0 1 0 /* RX_CLK */
  225. 2 9 1 0 3 0 /* GTX_CLK - CLK10 */
  226. 2 8 2 0 1 0>; /* GTX125 - CLK9 */
  227. };
  228. pio2: ucc_pin@2 {
  229. pio-map = <
  230. /* port pin dir open_drain assignment has_irq */
  231. 0 17 1 0 1 0 /* TxD0 */
  232. 0 18 1 0 1 0 /* TxD1 */
  233. 0 19 1 0 1 0 /* TxD2 */
  234. 0 20 1 0 1 0 /* TxD3 */
  235. 1 2 1 0 1 0 /* TxD4 */
  236. 1 3 1 0 2 0 /* TxD5 */
  237. 1 5 1 0 3 0 /* TxD6 */
  238. 1 8 1 0 3 0 /* TxD7 */
  239. 0 23 2 0 1 0 /* RxD0 */
  240. 0 24 2 0 1 0 /* RxD1 */
  241. 0 25 2 0 1 0 /* RxD2 */
  242. 0 26 2 0 1 0 /* RxD3 */
  243. 0 27 2 0 1 0 /* RxD4 */
  244. 1 12 2 0 2 0 /* RxD5 */
  245. 1 13 2 0 3 0 /* RxD6 */
  246. 1 11 2 0 2 0 /* RxD7 */
  247. 0 21 1 0 1 0 /* TX_EN */
  248. 0 22 1 0 1 0 /* TX_ER */
  249. 0 29 2 0 1 0 /* RX_DV */
  250. 0 30 2 0 1 0 /* RX_ER */
  251. 0 31 2 0 1 0 /* RX_CLK */
  252. 2 2 1 0 2 0 /* GTX_CLK - CLK10 */
  253. 2 3 2 0 1 0 /* GTX125 - CLK4 */
  254. 0 1 3 0 2 0 /* MDIO */
  255. 0 2 1 0 1 0>; /* MDC */
  256. };
  257. };
  258. };
  259. qe@e0100000 {
  260. #address-cells = <1>;
  261. #size-cells = <1>;
  262. device_type = "qe";
  263. compatible = "fsl,qe";
  264. ranges = <0x0 0xe0100000 0x00100000>;
  265. reg = <0xe0100000 0x480>;
  266. brg-frequency = <0>;
  267. bus-frequency = <396000000>;
  268. fsl,qe-num-riscs = <2>;
  269. fsl,qe-num-snums = <28>;
  270. muram@10000 {
  271. #address-cells = <1>;
  272. #size-cells = <1>;
  273. compatible = "fsl,qe-muram", "fsl,cpm-muram";
  274. ranges = <0x0 0x00010000 0x0000c000>;
  275. data-only@0 {
  276. compatible = "fsl,qe-muram-data",
  277. "fsl,cpm-muram-data";
  278. reg = <0x0 0xc000>;
  279. };
  280. };
  281. timer@440 {
  282. compatible = "fsl,mpc8360-qe-gtm",
  283. "fsl,qe-gtm", "fsl,gtm";
  284. reg = <0x440 0x40>;
  285. clock-frequency = <132000000>;
  286. interrupts = <12 13 14 15>;
  287. interrupt-parent = <&qeic>;
  288. };
  289. spi@4c0 {
  290. cell-index = <0>;
  291. compatible = "fsl,spi";
  292. reg = <0x4c0 0x40>;
  293. interrupts = <2>;
  294. interrupt-parent = <&qeic>;
  295. mode = "cpu";
  296. };
  297. spi@500 {
  298. cell-index = <1>;
  299. compatible = "fsl,spi";
  300. reg = <0x500 0x40>;
  301. interrupts = <1>;
  302. interrupt-parent = <&qeic>;
  303. mode = "cpu";
  304. };
  305. usb@6c0 {
  306. compatible = "fsl,mpc8360-qe-usb",
  307. "fsl,mpc8323-qe-usb";
  308. reg = <0x6c0 0x40 0x8b00 0x100>;
  309. interrupts = <11>;
  310. interrupt-parent = <&qeic>;
  311. fsl,fullspeed-clock = "clk21";
  312. fsl,lowspeed-clock = "brg9";
  313. gpios = <&qe_pio_b 2 0 /* USBOE */
  314. &qe_pio_b 3 0 /* USBTP */
  315. &qe_pio_b 8 0 /* USBTN */
  316. &qe_pio_b 9 0 /* USBRP */
  317. &qe_pio_b 11 0 /* USBRN */
  318. &bcsr13 5 0 /* SPEED */
  319. &bcsr13 4 1>; /* POWER */
  320. };
  321. enet0: ucc@2000 {
  322. device_type = "network";
  323. compatible = "ucc_geth";
  324. cell-index = <1>;
  325. reg = <0x2000 0x200>;
  326. interrupts = <32>;
  327. interrupt-parent = <&qeic>;
  328. local-mac-address = [ 00 00 00 00 00 00 ];
  329. rx-clock-name = "none";
  330. tx-clock-name = "clk9";
  331. phy-handle = <&phy0>;
  332. phy-connection-type = "rgmii-id";
  333. pio-handle = <&pio1>;
  334. };
  335. enet1: ucc@3000 {
  336. device_type = "network";
  337. compatible = "ucc_geth";
  338. cell-index = <2>;
  339. reg = <0x3000 0x200>;
  340. interrupts = <33>;
  341. interrupt-parent = <&qeic>;
  342. local-mac-address = [ 00 00 00 00 00 00 ];
  343. rx-clock-name = "none";
  344. tx-clock-name = "clk4";
  345. phy-handle = <&phy1>;
  346. phy-connection-type = "rgmii-id";
  347. pio-handle = <&pio2>;
  348. };
  349. mdio@2120 {
  350. #address-cells = <1>;
  351. #size-cells = <0>;
  352. reg = <0x2120 0x18>;
  353. compatible = "fsl,ucc-mdio";
  354. phy0: ethernet-phy@0 {
  355. interrupt-parent = <&ipic>;
  356. interrupts = <17 0x8>;
  357. reg = <0x0>;
  358. };
  359. phy1: ethernet-phy@1 {
  360. interrupt-parent = <&ipic>;
  361. interrupts = <18 0x8>;
  362. reg = <0x1>;
  363. };
  364. tbi-phy@2 {
  365. device_type = "tbi-phy";
  366. reg = <0x2>;
  367. };
  368. };
  369. qeic: interrupt-controller@80 {
  370. interrupt-controller;
  371. compatible = "fsl,qe-ic";
  372. #address-cells = <0>;
  373. #interrupt-cells = <1>;
  374. reg = <0x80 0x80>;
  375. big-endian;
  376. interrupts = <32 0x8 33 0x8>; // high:32 low:33
  377. interrupt-parent = <&ipic>;
  378. };
  379. };
  380. pci0: pci@e0008500 {
  381. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  382. interrupt-map = <
  383. /* IDSEL 0x11 AD17 */
  384. 0x8800 0x0 0x0 0x1 &ipic 20 0x8
  385. 0x8800 0x0 0x0 0x2 &ipic 21 0x8
  386. 0x8800 0x0 0x0 0x3 &ipic 22 0x8
  387. 0x8800 0x0 0x0 0x4 &ipic 23 0x8
  388. /* IDSEL 0x12 AD18 */
  389. 0x9000 0x0 0x0 0x1 &ipic 22 0x8
  390. 0x9000 0x0 0x0 0x2 &ipic 23 0x8
  391. 0x9000 0x0 0x0 0x3 &ipic 20 0x8
  392. 0x9000 0x0 0x0 0x4 &ipic 21 0x8
  393. /* IDSEL 0x13 AD19 */
  394. 0x9800 0x0 0x0 0x1 &ipic 23 0x8
  395. 0x9800 0x0 0x0 0x2 &ipic 20 0x8
  396. 0x9800 0x0 0x0 0x3 &ipic 21 0x8
  397. 0x9800 0x0 0x0 0x4 &ipic 22 0x8
  398. /* IDSEL 0x15 AD21*/
  399. 0xa800 0x0 0x0 0x1 &ipic 20 0x8
  400. 0xa800 0x0 0x0 0x2 &ipic 21 0x8
  401. 0xa800 0x0 0x0 0x3 &ipic 22 0x8
  402. 0xa800 0x0 0x0 0x4 &ipic 23 0x8
  403. /* IDSEL 0x16 AD22*/
  404. 0xb000 0x0 0x0 0x1 &ipic 23 0x8
  405. 0xb000 0x0 0x0 0x2 &ipic 20 0x8
  406. 0xb000 0x0 0x0 0x3 &ipic 21 0x8
  407. 0xb000 0x0 0x0 0x4 &ipic 22 0x8
  408. /* IDSEL 0x17 AD23*/
  409. 0xb800 0x0 0x0 0x1 &ipic 22 0x8
  410. 0xb800 0x0 0x0 0x2 &ipic 23 0x8
  411. 0xb800 0x0 0x0 0x3 &ipic 20 0x8
  412. 0xb800 0x0 0x0 0x4 &ipic 21 0x8
  413. /* IDSEL 0x18 AD24*/
  414. 0xc000 0x0 0x0 0x1 &ipic 21 0x8
  415. 0xc000 0x0 0x0 0x2 &ipic 22 0x8
  416. 0xc000 0x0 0x0 0x3 &ipic 23 0x8
  417. 0xc000 0x0 0x0 0x4 &ipic 20 0x8>;
  418. interrupt-parent = <&ipic>;
  419. interrupts = <66 0x8>;
  420. bus-range = <0 0>;
  421. ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
  422. 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
  423. 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
  424. clock-frequency = <66666666>;
  425. #interrupt-cells = <1>;
  426. #size-cells = <2>;
  427. #address-cells = <3>;
  428. reg = <0xe0008500 0x100 /* internal registers */
  429. 0xe0008300 0x8>; /* config space access registers */
  430. compatible = "fsl,mpc8349-pci";
  431. device_type = "pci";
  432. sleep = <&pmc 0x00010000>;
  433. };
  434. };