mpc832x_rdb.dts 6.4 KB

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