ep88xc.dts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. /*
  2. * EP88xC Device Tree Source
  3. *
  4. * Copyright 2006 MontaVista Software, Inc.
  5. * Copyright 2007,2008 Freescale Semiconductor, Inc.
  6. *
  7. * This program is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by the
  9. * Free Software Foundation; either version 2 of the License, or (at your
  10. * option) any later version.
  11. */
  12. /dts-v1/;
  13. / {
  14. model = "EP88xC";
  15. compatible = "fsl,ep88xc";
  16. #address-cells = <1>;
  17. #size-cells = <1>;
  18. cpus {
  19. #address-cells = <1>;
  20. #size-cells = <0>;
  21. PowerPC,885@0 {
  22. device_type = "cpu";
  23. reg = <0x0>;
  24. d-cache-line-size = <16>;
  25. i-cache-line-size = <16>;
  26. d-cache-size = <8192>;
  27. i-cache-size = <8192>;
  28. timebase-frequency = <0>;
  29. bus-frequency = <0>;
  30. clock-frequency = <0>;
  31. interrupts = <15 2>; // decrementer interrupt
  32. interrupt-parent = <&PIC>;
  33. };
  34. };
  35. memory {
  36. device_type = "memory";
  37. reg = <0x0 0x0>;
  38. };
  39. localbus@fa200100 {
  40. compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
  41. #address-cells = <2>;
  42. #size-cells = <1>;
  43. reg = <0xfa200100 0x40>;
  44. ranges = <
  45. 0x0 0x0 0xfc000000 0x4000000
  46. 0x3 0x0 0xfa000000 0x1000000
  47. >;
  48. flash@0,2000000 {
  49. compatible = "cfi-flash";
  50. reg = <0x0 0x2000000 0x2000000>;
  51. bank-width = <4>;
  52. device-width = <2>;
  53. };
  54. board-control@3,400000 {
  55. reg = <0x3 0x400000 0x10>;
  56. compatible = "fsl,ep88xc-bcsr";
  57. };
  58. };
  59. soc@fa200000 {
  60. compatible = "fsl,mpc885", "fsl,pq1-soc";
  61. #address-cells = <1>;
  62. #size-cells = <1>;
  63. device_type = "soc";
  64. ranges = <0x0 0xfa200000 0x4000>;
  65. bus-frequency = <0>;
  66. // Temporary -- will go away once kernel uses ranges for get_immrbase().
  67. reg = <0xfa200000 0x4000>;
  68. mdio@e00 {
  69. compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
  70. reg = <0xe00 0x188>;
  71. #address-cells = <1>;
  72. #size-cells = <0>;
  73. PHY0: ethernet-phy@0 {
  74. reg = <0x0>;
  75. };
  76. PHY1: ethernet-phy@1 {
  77. reg = <0x1>;
  78. };
  79. };
  80. ethernet@e00 {
  81. device_type = "network";
  82. compatible = "fsl,mpc885-fec-enet",
  83. "fsl,pq1-fec-enet";
  84. reg = <0xe00 0x188>;
  85. local-mac-address = [ 00 00 00 00 00 00 ];
  86. interrupts = <3 1>;
  87. interrupt-parent = <&PIC>;
  88. phy-handle = <&PHY0>;
  89. linux,network-index = <0>;
  90. };
  91. ethernet@1e00 {
  92. device_type = "network";
  93. compatible = "fsl,mpc885-fec-enet",
  94. "fsl,pq1-fec-enet";
  95. reg = <0x1e00 0x188>;
  96. local-mac-address = [ 00 00 00 00 00 00 ];
  97. interrupts = <7 1>;
  98. interrupt-parent = <&PIC>;
  99. phy-handle = <&PHY1>;
  100. linux,network-index = <1>;
  101. };
  102. PIC: interrupt-controller@0 {
  103. interrupt-controller;
  104. #interrupt-cells = <2>;
  105. reg = <0x0 0x24>;
  106. compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
  107. };
  108. pcmcia@80 {
  109. #address-cells = <3>;
  110. #interrupt-cells = <1>;
  111. #size-cells = <2>;
  112. compatible = "fsl,pq-pcmcia";
  113. device_type = "pcmcia";
  114. reg = <0x80 0x80>;
  115. interrupt-parent = <&PIC>;
  116. interrupts = <13 1>;
  117. };
  118. cpm@9c0 {
  119. #address-cells = <1>;
  120. #size-cells = <1>;
  121. compatible = "fsl,mpc885-cpm", "fsl,cpm1";
  122. command-proc = <0x9c0>;
  123. interrupts = <0>; // cpm error interrupt
  124. interrupt-parent = <&CPM_PIC>;
  125. reg = <0x9c0 0x40>;
  126. ranges;
  127. muram@2000 {
  128. #address-cells = <1>;
  129. #size-cells = <1>;
  130. ranges = <0x0 0x2000 0x2000>;
  131. data@0 {
  132. compatible = "fsl,cpm-muram-data";
  133. reg = <0x0 0x1c00>;
  134. };
  135. };
  136. brg@9f0 {
  137. compatible = "fsl,mpc885-brg",
  138. "fsl,cpm1-brg",
  139. "fsl,cpm-brg";
  140. reg = <0x9f0 0x10>;
  141. };
  142. CPM_PIC: interrupt-controller@930 {
  143. interrupt-controller;
  144. #interrupt-cells = <1>;
  145. interrupts = <5 2 0 2>;
  146. interrupt-parent = <&PIC>;
  147. reg = <0x930 0x20>;
  148. compatible = "fsl,mpc885-cpm-pic",
  149. "fsl,cpm1-pic";
  150. };
  151. // MON-1
  152. serial@a80 {
  153. device_type = "serial";
  154. compatible = "fsl,mpc885-smc-uart",
  155. "fsl,cpm1-smc-uart";
  156. reg = <0xa80 0x10 0x3e80 0x40>;
  157. interrupts = <4>;
  158. interrupt-parent = <&CPM_PIC>;
  159. fsl,cpm-brg = <1>;
  160. fsl,cpm-command = <0x90>;
  161. linux,planetcore-label = "SMC1";
  162. };
  163. // SER-1
  164. serial@a20 {
  165. device_type = "serial";
  166. compatible = "fsl,mpc885-scc-uart",
  167. "fsl,cpm1-scc-uart";
  168. reg = <0xa20 0x20 0x3d00 0x80>;
  169. interrupts = <29>;
  170. interrupt-parent = <&CPM_PIC>;
  171. fsl,cpm-brg = <2>;
  172. fsl,cpm-command = <0x40>;
  173. linux,planetcore-label = "SCC2";
  174. };
  175. usb@a00 {
  176. #address-cells = <1>;
  177. #size-cells = <0>;
  178. compatible = "fsl,mpc885-usb",
  179. "fsl,cpm1-usb";
  180. reg = <0xa00 0x18 0x1c00 0x80>;
  181. interrupt-parent = <&CPM_PIC>;
  182. interrupts = <30>;
  183. fsl,cpm-command = <0000>;
  184. };
  185. };
  186. };
  187. };