wm8850.dtsi 5.2 KB

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