mpc832x_rdb.dts 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. /*
  2. * MPC832x RDB Device Tree Source
  3. *
  4. * Copyright 2007 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. / {
  12. model = "MPC8323ERDB";
  13. compatible = "MPC8323ERDB", "MPC832xRDB", "MPC83xxRDB";
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. cpus {
  17. #address-cells = <1>;
  18. #size-cells = <0>;
  19. PowerPC,8323@0 {
  20. device_type = "cpu";
  21. reg = <0>;
  22. d-cache-line-size = <20>; // 32 bytes
  23. i-cache-line-size = <20>; // 32 bytes
  24. d-cache-size = <4000>; // L1, 16K
  25. i-cache-size = <4000>; // L1, 16K
  26. timebase-frequency = <0>;
  27. bus-frequency = <0>;
  28. clock-frequency = <0>;
  29. };
  30. };
  31. memory {
  32. device_type = "memory";
  33. reg = <00000000 04000000>;
  34. };
  35. soc8323@e0000000 {
  36. #address-cells = <1>;
  37. #size-cells = <1>;
  38. device_type = "soc";
  39. ranges = <0 e0000000 00100000>;
  40. reg = <e0000000 00000200>;
  41. bus-frequency = <0>;
  42. wdt@200 {
  43. device_type = "watchdog";
  44. compatible = "mpc83xx_wdt";
  45. reg = <200 100>;
  46. };
  47. i2c@3000 {
  48. device_type = "i2c";
  49. compatible = "fsl-i2c";
  50. reg = <3000 100>;
  51. interrupts = <e 8>;
  52. interrupt-parent = <&pic>;
  53. dfsrr;
  54. };
  55. serial@4500 {
  56. device_type = "serial";
  57. compatible = "ns16550";
  58. reg = <4500 100>;
  59. clock-frequency = <0>;
  60. interrupts = <9 8>;
  61. interrupt-parent = <&pic>;
  62. };
  63. serial@4600 {
  64. device_type = "serial";
  65. compatible = "ns16550";
  66. reg = <4600 100>;
  67. clock-frequency = <0>;
  68. interrupts = <a 8>;
  69. interrupt-parent = <&pic>;
  70. };
  71. crypto@30000 {
  72. device_type = "crypto";
  73. model = "SEC2";
  74. compatible = "talitos";
  75. reg = <30000 7000>;
  76. interrupts = <b 8>;
  77. interrupt-parent = <&pic>;
  78. /* Rev. 2.2 */
  79. num-channels = <1>;
  80. channel-fifo-len = <18>;
  81. exec-units-mask = <0000004c>;
  82. descriptor-types-mask = <0122003f>;
  83. };
  84. pci@8500 {
  85. interrupt-map-mask = <f800 0 0 7>;
  86. interrupt-map = <
  87. /* IDSEL 0x10 AD16 (USB) */
  88. 8000 0 0 1 &pic 11 8
  89. /* IDSEL 0x11 AD17 (Mini1)*/
  90. 8800 0 0 1 &pic 12 8
  91. 8800 0 0 2 &pic 13 8
  92. 8800 0 0 3 &pic 14 8
  93. 8800 0 0 4 &pic 30 8
  94. /* IDSEL 0x12 AD18 (PCI/Mini2) */
  95. 9000 0 0 1 &pic 13 8
  96. 9000 0 0 2 &pic 14 8
  97. 9000 0 0 3 &pic 30 8
  98. 9000 0 0 4 &pic 11 8>;
  99. interrupt-parent = <&pic>;
  100. interrupts = <42 8>;
  101. bus-range = <0 0>;
  102. ranges = <42000000 0 80000000 80000000 0 10000000
  103. 02000000 0 90000000 90000000 0 10000000
  104. 01000000 0 d0000000 d0000000 0 04000000>;
  105. clock-frequency = <0>;
  106. #interrupt-cells = <1>;
  107. #size-cells = <2>;
  108. #address-cells = <3>;
  109. reg = <8500 100>;
  110. compatible = "fsl,mpc8349-pci";
  111. device_type = "pci";
  112. };
  113. pic:pic@700 {
  114. interrupt-controller;
  115. #address-cells = <0>;
  116. #interrupt-cells = <2>;
  117. reg = <700 100>;
  118. device_type = "ipic";
  119. };
  120. par_io@1400 {
  121. reg = <1400 100>;
  122. device_type = "par_io";
  123. num-ports = <7>;
  124. ucc2pio:ucc_pin@02 {
  125. pio-map = <
  126. /* port pin dir open_drain assignment has_irq */
  127. 3 4 3 0 2 0 /* MDIO */
  128. 3 5 1 0 2 0 /* MDC */
  129. 3 15 2 0 1 0 /* RX_CLK (CLK16) */
  130. 3 17 2 0 1 0 /* TX_CLK (CLK3) */
  131. 0 12 1 0 1 0 /* TxD0 */
  132. 0 13 1 0 1 0 /* TxD1 */
  133. 0 14 1 0 1 0 /* TxD2 */
  134. 0 15 1 0 1 0 /* TxD3 */
  135. 0 16 2 0 1 0 /* RxD0 */
  136. 0 17 2 0 1 0 /* RxD1 */
  137. 0 18 2 0 1 0 /* RxD2 */
  138. 0 19 2 0 1 0 /* RxD3 */
  139. 0 1a 2 0 1 0 /* RX_ER */
  140. 0 1b 1 0 1 0 /* TX_ER */
  141. 0 1c 2 0 1 0 /* RX_DV */
  142. 0 1d 2 0 1 0 /* COL */
  143. 0 1e 1 0 1 0 /* TX_EN */
  144. 0 1f 2 0 1 0>; /* CRS */
  145. };
  146. ucc3pio:ucc_pin@03 {
  147. pio-map = <
  148. /* port pin dir open_drain assignment has_irq */
  149. 0 d 2 0 1 0 /* RX_CLK (CLK9) */
  150. 3 18 2 0 1 0 /* TX_CLK (CLK10) */
  151. 1 0 1 0 1 0 /* TxD0 */
  152. 1 1 1 0 1 0 /* TxD1 */
  153. 1 2 1 0 1 0 /* TxD2 */
  154. 1 3 1 0 1 0 /* TxD3 */
  155. 1 4 2 0 1 0 /* RxD0 */
  156. 1 5 2 0 1 0 /* RxD1 */
  157. 1 6 2 0 1 0 /* RxD2 */
  158. 1 7 2 0 1 0 /* RxD3 */
  159. 1 8 2 0 1 0 /* RX_ER */
  160. 1 9 1 0 1 0 /* TX_ER */
  161. 1 a 2 0 1 0 /* RX_DV */
  162. 1 b 2 0 1 0 /* COL */
  163. 1 c 1 0 1 0 /* TX_EN */
  164. 1 d 2 0 1 0>; /* CRS */
  165. };
  166. };
  167. };
  168. qe@e0100000 {
  169. #address-cells = <1>;
  170. #size-cells = <1>;
  171. device_type = "qe";
  172. model = "QE";
  173. ranges = <0 e0100000 00100000>;
  174. reg = <e0100000 480>;
  175. brg-frequency = <0>;
  176. bus-frequency = <BCD3D80>;
  177. muram@10000 {
  178. device_type = "muram";
  179. ranges = <0 00010000 00004000>;
  180. data-only@0 {
  181. reg = <0 4000>;
  182. };
  183. };
  184. spi@4c0 {
  185. device_type = "spi";
  186. compatible = "fsl_spi";
  187. reg = <4c0 40>;
  188. interrupts = <2>;
  189. interrupt-parent = <&qeic>;
  190. mode = "cpu";
  191. };
  192. spi@500 {
  193. device_type = "spi";
  194. compatible = "fsl_spi";
  195. reg = <500 40>;
  196. interrupts = <1>;
  197. interrupt-parent = <&qeic>;
  198. mode = "cpu";
  199. };
  200. ucc@3000 {
  201. device_type = "network";
  202. compatible = "ucc_geth";
  203. model = "UCC";
  204. device-id = <2>;
  205. reg = <3000 200>;
  206. interrupts = <21>;
  207. interrupt-parent = <&qeic>;
  208. /*
  209. * mac-address is deprecated and will be removed
  210. * in 2.6.25. Only recent versions of
  211. * U-Boot support local-mac-address, however.
  212. */
  213. mac-address = [ 00 00 00 00 00 00 ];
  214. local-mac-address = [ 00 00 00 00 00 00 ];
  215. rx-clock = <20>;
  216. tx-clock = <13>;
  217. phy-handle = <&phy00>;
  218. pio-handle = <&ucc2pio>;
  219. };
  220. ucc@2200 {
  221. device_type = "network";
  222. compatible = "ucc_geth";
  223. model = "UCC";
  224. device-id = <3>;
  225. reg = <2200 200>;
  226. interrupts = <22>;
  227. interrupt-parent = <&qeic>;
  228. /*
  229. * mac-address is deprecated and will be removed
  230. * in 2.6.25. Only recent versions of
  231. * U-Boot support local-mac-address, however.
  232. */
  233. mac-address = [ 00 00 00 00 00 00 ];
  234. local-mac-address = [ 00 00 00 00 00 00 ];
  235. rx-clock = <19>;
  236. tx-clock = <1a>;
  237. phy-handle = <&phy04>;
  238. pio-handle = <&ucc3pio>;
  239. };
  240. mdio@3120 {
  241. #address-cells = <1>;
  242. #size-cells = <0>;
  243. reg = <3120 18>;
  244. device_type = "mdio";
  245. compatible = "ucc_geth_phy";
  246. phy00:ethernet-phy@00 {
  247. interrupt-parent = <&pic>;
  248. interrupts = <0>;
  249. reg = <0>;
  250. device_type = "ethernet-phy";
  251. };
  252. phy04:ethernet-phy@04 {
  253. interrupt-parent = <&pic>;
  254. interrupts = <0>;
  255. reg = <4>;
  256. device_type = "ethernet-phy";
  257. };
  258. };
  259. qeic:qeic@80 {
  260. interrupt-controller;
  261. device_type = "qeic";
  262. #address-cells = <0>;
  263. #interrupt-cells = <1>;
  264. reg = <80 80>;
  265. big-endian;
  266. interrupts = <20 8 21 8>; //high:32 low:33
  267. interrupt-parent = <&pic>;
  268. };
  269. };
  270. };