ecx-common.dtsi 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. /*
  2. * Copyright 2011-2012 Calxeda, Inc.
  3. *
  4. * This program is free software; you can redistribute it and/or modify it
  5. * under the terms and conditions of the GNU General Public License,
  6. * version 2, as published by the Free Software Foundation.
  7. *
  8. * This program is distributed in the hope it will be useful, but WITHOUT
  9. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  11. * more details.
  12. *
  13. * You should have received a copy of the GNU General Public License along with
  14. * this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. / {
  17. chosen {
  18. bootargs = "console=ttyAMA0";
  19. };
  20. psci {
  21. compatible = "arm,psci";
  22. method = "smc";
  23. cpu_suspend = <0x84000002>;
  24. cpu_off = <0x84000004>;
  25. cpu_on = <0x84000006>;
  26. };
  27. soc {
  28. #address-cells = <1>;
  29. #size-cells = <1>;
  30. compatible = "simple-bus";
  31. interrupt-parent = <&intc>;
  32. sata@ffe08000 {
  33. compatible = "calxeda,hb-ahci";
  34. reg = <0xffe08000 0x10000>;
  35. interrupts = <0 83 4>;
  36. dma-coherent;
  37. calxeda,port-phys = <&combophy5 0 &combophy0 0
  38. &combophy0 1 &combophy0 2
  39. &combophy0 3>;
  40. calxeda,sgpio-gpio =<&gpioh 5 1 &gpioh 6 1 &gpioh 7 1>;
  41. calxeda,led-order = <4 0 1 2 3>;
  42. };
  43. sdhci@ffe0e000 {
  44. compatible = "calxeda,hb-sdhci";
  45. reg = <0xffe0e000 0x1000>;
  46. interrupts = <0 90 4>;
  47. clocks = <&eclk>;
  48. status = "disabled";
  49. };
  50. memory-controller@fff00000 {
  51. compatible = "calxeda,hb-ddr-ctrl";
  52. reg = <0xfff00000 0x1000>;
  53. interrupts = <0 91 4>;
  54. };
  55. ipc@fff20000 {
  56. compatible = "arm,pl320", "arm,primecell";
  57. reg = <0xfff20000 0x1000>;
  58. interrupts = <0 7 4>;
  59. clocks = <&pclk>;
  60. clock-names = "apb_pclk";
  61. };
  62. gpioe: gpio@fff30000 {
  63. #gpio-cells = <2>;
  64. compatible = "arm,pl061", "arm,primecell";
  65. gpio-controller;
  66. reg = <0xfff30000 0x1000>;
  67. interrupts = <0 14 4>;
  68. clocks = <&pclk>;
  69. clock-names = "apb_pclk";
  70. status = "disabled";
  71. };
  72. gpiof: gpio@fff31000 {
  73. #gpio-cells = <2>;
  74. compatible = "arm,pl061", "arm,primecell";
  75. gpio-controller;
  76. reg = <0xfff31000 0x1000>;
  77. interrupts = <0 15 4>;
  78. clocks = <&pclk>;
  79. clock-names = "apb_pclk";
  80. status = "disabled";
  81. };
  82. gpiog: gpio@fff32000 {
  83. #gpio-cells = <2>;
  84. compatible = "arm,pl061", "arm,primecell";
  85. gpio-controller;
  86. reg = <0xfff32000 0x1000>;
  87. interrupts = <0 16 4>;
  88. clocks = <&pclk>;
  89. clock-names = "apb_pclk";
  90. status = "disabled";
  91. };
  92. gpioh: gpio@fff33000 {
  93. #gpio-cells = <2>;
  94. compatible = "arm,pl061", "arm,primecell";
  95. gpio-controller;
  96. reg = <0xfff33000 0x1000>;
  97. interrupts = <0 17 4>;
  98. clocks = <&pclk>;
  99. clock-names = "apb_pclk";
  100. status = "disabled";
  101. };
  102. timer@fff34000 {
  103. compatible = "arm,sp804", "arm,primecell";
  104. reg = <0xfff34000 0x1000>;
  105. interrupts = <0 18 4>;
  106. clocks = <&pclk>;
  107. clock-names = "apb_pclk";
  108. };
  109. rtc@fff35000 {
  110. compatible = "arm,pl031", "arm,primecell";
  111. reg = <0xfff35000 0x1000>;
  112. interrupts = <0 19 4>;
  113. clocks = <&pclk>;
  114. clock-names = "apb_pclk";
  115. };
  116. serial@fff36000 {
  117. compatible = "arm,pl011", "arm,primecell";
  118. reg = <0xfff36000 0x1000>;
  119. interrupts = <0 20 4>;
  120. clocks = <&pclk>;
  121. clock-names = "apb_pclk";
  122. };
  123. smic@fff3a000 {
  124. compatible = "ipmi-smic";
  125. device_type = "ipmi";
  126. reg = <0xfff3a000 0x1000>;
  127. interrupts = <0 24 4>;
  128. reg-size = <4>;
  129. reg-spacing = <4>;
  130. };
  131. sregs@fff3c000 {
  132. compatible = "calxeda,hb-sregs";
  133. reg = <0xfff3c000 0x1000>;
  134. clocks {
  135. #address-cells = <1>;
  136. #size-cells = <0>;
  137. osc: oscillator {
  138. #clock-cells = <0>;
  139. compatible = "fixed-clock";
  140. clock-frequency = <33333000>;
  141. };
  142. ddrpll: ddrpll {
  143. #clock-cells = <0>;
  144. compatible = "calxeda,hb-pll-clock";
  145. clocks = <&osc>;
  146. reg = <0x108>;
  147. };
  148. a9pll: a9pll {
  149. #clock-cells = <0>;
  150. compatible = "calxeda,hb-pll-clock";
  151. clocks = <&osc>;
  152. reg = <0x100>;
  153. };
  154. a9periphclk: a9periphclk {
  155. #clock-cells = <0>;
  156. compatible = "calxeda,hb-a9periph-clock";
  157. clocks = <&a9pll>;
  158. reg = <0x104>;
  159. };
  160. a9bclk: a9bclk {
  161. #clock-cells = <0>;
  162. compatible = "calxeda,hb-a9bus-clock";
  163. clocks = <&a9pll>;
  164. reg = <0x104>;
  165. };
  166. emmcpll: emmcpll {
  167. #clock-cells = <0>;
  168. compatible = "calxeda,hb-pll-clock";
  169. clocks = <&osc>;
  170. reg = <0x10C>;
  171. };
  172. eclk: eclk {
  173. #clock-cells = <0>;
  174. compatible = "calxeda,hb-emmc-clock";
  175. clocks = <&emmcpll>;
  176. reg = <0x114>;
  177. };
  178. pclk: pclk {
  179. #clock-cells = <0>;
  180. compatible = "fixed-clock";
  181. clock-frequency = <150000000>;
  182. };
  183. };
  184. };
  185. dma@fff3d000 {
  186. compatible = "arm,pl330", "arm,primecell";
  187. reg = <0xfff3d000 0x1000>;
  188. interrupts = <0 92 4>;
  189. clocks = <&pclk>;
  190. clock-names = "apb_pclk";
  191. };
  192. ethernet@fff50000 {
  193. compatible = "calxeda,hb-xgmac";
  194. reg = <0xfff50000 0x1000>;
  195. interrupts = <0 77 4 0 78 4 0 79 4>;
  196. dma-coherent;
  197. };
  198. ethernet@fff51000 {
  199. compatible = "calxeda,hb-xgmac";
  200. reg = <0xfff51000 0x1000>;
  201. interrupts = <0 80 4 0 81 4 0 82 4>;
  202. dma-coherent;
  203. };
  204. combophy0: combo-phy@fff58000 {
  205. compatible = "calxeda,hb-combophy";
  206. #phy-cells = <1>;
  207. reg = <0xfff58000 0x1000>;
  208. phydev = <5>;
  209. };
  210. combophy5: combo-phy@fff5d000 {
  211. compatible = "calxeda,hb-combophy";
  212. #phy-cells = <1>;
  213. reg = <0xfff5d000 0x1000>;
  214. phydev = <31>;
  215. };
  216. };
  217. };