mpc885ads.dts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. /*
  2. * MPC885 ADS 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 = "MPC885ADS";
  15. compatible = "fsl,mpc885ads";
  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@ff000100 {
  40. compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus";
  41. #address-cells = <2>;
  42. #size-cells = <1>;
  43. reg = <0xff000100 0x40>;
  44. ranges = <
  45. 0x0 0x0 0xfe000000 0x800000
  46. 0x1 0x0 0xff080000 0x8000
  47. 0x5 0x0 0xff0a0000 0x8000
  48. >;
  49. flash@0,0 {
  50. compatible = "jedec-flash";
  51. reg = <0x0 0x0 0x800000>;
  52. bank-width = <4>;
  53. device-width = <1>;
  54. };
  55. board-control@1,0 {
  56. reg = <0x1 0x0 0x20 0x5 0x300 0x4>;
  57. compatible = "fsl,mpc885ads-bcsr";
  58. };
  59. };
  60. soc@ff000000 {
  61. compatible = "fsl,mpc885", "fsl,pq1-soc";
  62. #address-cells = <1>;
  63. #size-cells = <1>;
  64. device_type = "soc";
  65. ranges = <0x0 0xff000000 0x4000>;
  66. bus-frequency = <0>;
  67. // Temporary -- will go away once kernel uses ranges for get_immrbase().
  68. reg = <0xff000000 0x4000>;
  69. mdio@e00 {
  70. compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";
  71. reg = <0xe00 0x188>;
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. PHY0: ethernet-phy@0 {
  75. reg = <0x0>;
  76. device_type = "ethernet-phy";
  77. };
  78. PHY1: ethernet-phy@1 {
  79. reg = <0x1>;
  80. device_type = "ethernet-phy";
  81. };
  82. PHY2: ethernet-phy@2 {
  83. reg = <0x2>;
  84. device_type = "ethernet-phy";
  85. };
  86. };
  87. ethernet@e00 {
  88. device_type = "network";
  89. compatible = "fsl,mpc885-fec-enet",
  90. "fsl,pq1-fec-enet";
  91. reg = <0xe00 0x188>;
  92. local-mac-address = [ 00 00 00 00 00 00 ];
  93. interrupts = <3 1>;
  94. interrupt-parent = <&PIC>;
  95. phy-handle = <&PHY0>;
  96. linux,network-index = <0>;
  97. };
  98. ethernet@1e00 {
  99. device_type = "network";
  100. compatible = "fsl,mpc885-fec-enet",
  101. "fsl,pq1-fec-enet";
  102. reg = <0x1e00 0x188>;
  103. local-mac-address = [ 00 00 00 00 00 00 ];
  104. interrupts = <7 1>;
  105. interrupt-parent = <&PIC>;
  106. phy-handle = <&PHY1>;
  107. linux,network-index = <1>;
  108. };
  109. PIC: interrupt-controller@0 {
  110. interrupt-controller;
  111. #interrupt-cells = <2>;
  112. reg = <0x0 0x24>;
  113. compatible = "fsl,mpc885-pic", "fsl,pq1-pic";
  114. };
  115. pcmcia@80 {
  116. #address-cells = <3>;
  117. #interrupt-cells = <1>;
  118. #size-cells = <2>;
  119. compatible = "fsl,pq-pcmcia";
  120. device_type = "pcmcia";
  121. reg = <0x80 0x80>;
  122. interrupt-parent = <&PIC>;
  123. interrupts = <13 1>;
  124. };
  125. cpm@9c0 {
  126. #address-cells = <1>;
  127. #size-cells = <1>;
  128. compatible = "fsl,mpc885-cpm", "fsl,cpm1";
  129. command-proc = <0x9c0>;
  130. interrupts = <0>; // cpm error interrupt
  131. interrupt-parent = <&CPM_PIC>;
  132. reg = <0x9c0 0x40>;
  133. ranges;
  134. muram@2000 {
  135. #address-cells = <1>;
  136. #size-cells = <1>;
  137. ranges = <0x0 0x2000 0x2000>;
  138. data@0 {
  139. compatible = "fsl,cpm-muram-data";
  140. reg = <0x0 0x1c00>;
  141. };
  142. };
  143. brg@9f0 {
  144. compatible = "fsl,mpc885-brg",
  145. "fsl,cpm1-brg",
  146. "fsl,cpm-brg";
  147. clock-frequency = <0>;
  148. reg = <0x9f0 0x10>;
  149. };
  150. CPM_PIC: interrupt-controller@930 {
  151. interrupt-controller;
  152. #interrupt-cells = <1>;
  153. interrupts = <5 2 0 2>;
  154. interrupt-parent = <&PIC>;
  155. reg = <0x930 0x20>;
  156. compatible = "fsl,mpc885-cpm-pic",
  157. "fsl,cpm1-pic";
  158. };
  159. serial@a80 {
  160. device_type = "serial";
  161. compatible = "fsl,mpc885-smc-uart",
  162. "fsl,cpm1-smc-uart";
  163. reg = <0xa80 0x10 0x3e80 0x40>;
  164. interrupts = <4>;
  165. interrupt-parent = <&CPM_PIC>;
  166. fsl,cpm-brg = <1>;
  167. fsl,cpm-command = <0x90>;
  168. };
  169. serial@a90 {
  170. device_type = "serial";
  171. compatible = "fsl,mpc885-smc-uart",
  172. "fsl,cpm1-smc-uart";
  173. reg = <0xa90 0x10 0x3f80 0x40>;
  174. interrupts = <3>;
  175. interrupt-parent = <&CPM_PIC>;
  176. fsl,cpm-brg = <2>;
  177. fsl,cpm-command = <0xd0>;
  178. };
  179. ethernet@a40 {
  180. device_type = "network";
  181. compatible = "fsl,mpc885-scc-enet",
  182. "fsl,cpm1-scc-enet";
  183. reg = <0xa40 0x18 0x3e00 0x100>;
  184. local-mac-address = [ 00 00 00 00 00 00 ];
  185. interrupts = <28>;
  186. interrupt-parent = <&CPM_PIC>;
  187. phy-handle = <&PHY2>;
  188. fsl,cpm-command = <0x80>;
  189. linux,network-index = <2>;
  190. };
  191. i2c@860 {
  192. compatible = "fsl,mpc885-i2c",
  193. "fsl,cpm1-i2c";
  194. reg = <0x860 0x20 0x3c80 0x30>;
  195. interrupts = <16>;
  196. interrupt-parent = <&CPM_PIC>;
  197. fsl,cpm-command = <0x10>;
  198. #address-cells = <1>;
  199. #size-cells = <0>;
  200. };
  201. };
  202. };
  203. chosen {
  204. linux,stdout-path = "/soc/cpm/serial@a80";
  205. };
  206. };