wm8505.dtsi 4.4 KB

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