wm8650.dtsi 4.2 KB

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