wm8505.dtsi 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. /*
  2. * wm8505.dtsi - Device tree file for Wondermedia WM8505 SoC
  3. *
  4. * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
  5. *
  6. * Licensed under GPLv2 or later
  7. */
  8. /include/ "skeleton.dtsi"
  9. / {
  10. compatible = "wm,wm8505";
  11. cpus {
  12. cpu@0 {
  13. compatible = "arm,arm926ejs";
  14. };
  15. };
  16. soc {
  17. #address-cells = <1>;
  18. #size-cells = <1>;
  19. compatible = "simple-bus";
  20. ranges;
  21. interrupt-parent = <&intc0>;
  22. intc0: interrupt-controller@d8140000 {
  23. compatible = "via,vt8500-intc";
  24. interrupt-controller;
  25. reg = <0xd8140000 0x10000>;
  26. #interrupt-cells = <1>;
  27. };
  28. /* Secondary IC cascaded to intc0 */
  29. intc1: interrupt-controller@d8150000 {
  30. compatible = "via,vt8500-intc";
  31. interrupt-controller;
  32. #interrupt-cells = <1>;
  33. reg = <0xD8150000 0x10000>;
  34. interrupts = <56 57 58 59 60 61 62 63>;
  35. };
  36. pinctrl: pinctrl@d8110000 {
  37. compatible = "wm,wm8505-pinctrl";
  38. reg = <0xd8110000 0x10000>;
  39. interrupt-controller;
  40. #interrupt-cells = <2>;
  41. gpio-controller;
  42. #gpio-cells = <2>;
  43. };
  44. pmc@d8130000 {
  45. compatible = "via,vt8500-pmc";
  46. reg = <0xd8130000 0x1000>;
  47. clocks {
  48. #address-cells = <1>;
  49. #size-cells = <0>;
  50. ref24: ref24M {
  51. #clock-cells = <0>;
  52. compatible = "fixed-clock";
  53. clock-frequency = <24000000>;
  54. };
  55. ref25: ref25M {
  56. #clock-cells = <0>;
  57. compatible = "fixed-clock";
  58. clock-frequency = <25000000>;
  59. };
  60. pllb: pllb {
  61. #clock-cells = <0>;
  62. compatible = "via,vt8500-pll-clock";
  63. clocks = <&ref25>;
  64. reg = <0x204>;
  65. };
  66. clkuart0: uart0 {
  67. #clock-cells = <0>;
  68. compatible = "via,vt8500-device-clock";
  69. clocks = <&ref24>;
  70. enable-reg = <0x250>;
  71. enable-bit = <1>;
  72. };
  73. clkuart1: uart1 {
  74. #clock-cells = <0>;
  75. compatible = "via,vt8500-device-clock";
  76. clocks = <&ref24>;
  77. enable-reg = <0x250>;
  78. enable-bit = <2>;
  79. };
  80. clkuart2: uart2 {
  81. #clock-cells = <0>;
  82. compatible = "via,vt8500-device-clock";
  83. clocks = <&ref24>;
  84. enable-reg = <0x250>;
  85. enable-bit = <3>;
  86. };
  87. clkuart3: uart3 {
  88. #clock-cells = <0>;
  89. compatible = "via,vt8500-device-clock";
  90. clocks = <&ref24>;
  91. enable-reg = <0x250>;
  92. enable-bit = <4>;
  93. };
  94. clkuart4: uart4 {
  95. #clock-cells = <0>;
  96. compatible = "via,vt8500-device-clock";
  97. clocks = <&ref24>;
  98. enable-reg = <0x250>;
  99. enable-bit = <22>;
  100. };
  101. clkuart5: uart5 {
  102. #clock-cells = <0>;
  103. compatible = "via,vt8500-device-clock";
  104. clocks = <&ref24>;
  105. enable-reg = <0x250>;
  106. enable-bit = <23>;
  107. };
  108. clksdhc: sdhc {
  109. #clock-cells = <0>;
  110. compatible = "via,vt8500-device-clock";
  111. clocks = <&pllb>;
  112. divisor-reg = <0x328>;
  113. divisor-mask = <0x3f>;
  114. enable-reg = <0x254>;
  115. enable-bit = <18>;
  116. };
  117. };
  118. };
  119. timer@d8130100 {
  120. compatible = "via,vt8500-timer";
  121. reg = <0xd8130100 0x28>;
  122. interrupts = <36>;
  123. };
  124. ehci@d8007100 {
  125. compatible = "via,vt8500-ehci";
  126. reg = <0xd8007100 0x200>;
  127. interrupts = <1>;
  128. };
  129. uhci@d8007300 {
  130. compatible = "platform-uhci";
  131. reg = <0xd8007300 0x200>;
  132. interrupts = <0>;
  133. };
  134. fb: fb@d8050800 {
  135. compatible = "wm,wm8505-fb";
  136. reg = <0xd8050800 0x200>;
  137. };
  138. ge_rops@d8050400 {
  139. compatible = "wm,prizm-ge-rops";
  140. reg = <0xd8050400 0x100>;
  141. };
  142. uart@d8200000 {
  143. compatible = "via,vt8500-uart";
  144. reg = <0xd8200000 0x1040>;
  145. interrupts = <32>;
  146. clocks = <&clkuart0>;
  147. };
  148. uart@d82b0000 {
  149. compatible = "via,vt8500-uart";
  150. reg = <0xd82b0000 0x1040>;
  151. interrupts = <33>;
  152. clocks = <&clkuart1>;
  153. };
  154. uart@d8210000 {
  155. compatible = "via,vt8500-uart";
  156. reg = <0xd8210000 0x1040>;
  157. interrupts = <47>;
  158. clocks = <&clkuart2>;
  159. };
  160. uart@d82c0000 {
  161. compatible = "via,vt8500-uart";
  162. reg = <0xd82c0000 0x1040>;
  163. interrupts = <50>;
  164. clocks = <&clkuart3>;
  165. };
  166. uart@d8370000 {
  167. compatible = "via,vt8500-uart";
  168. reg = <0xd8370000 0x1040>;
  169. interrupts = <31>;
  170. clocks = <&clkuart4>;
  171. };
  172. uart@d8380000 {
  173. compatible = "via,vt8500-uart";
  174. reg = <0xd8380000 0x1040>;
  175. interrupts = <30>;
  176. clocks = <&clkuart5>;
  177. };
  178. rtc@d8100000 {
  179. compatible = "via,vt8500-rtc";
  180. reg = <0xd8100000 0x10000>;
  181. interrupts = <48>;
  182. };
  183. sdhc@d800a000 {
  184. compatible = "wm,wm8505-sdhc";
  185. reg = <0xd800a000 0x1000>;
  186. interrupts = <20 21>;
  187. clocks = <&clksdhc>;
  188. bus-width = <4>;
  189. };
  190. };
  191. };