wm8505.dtsi 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  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. aliases {
  20. serial0 = &uart0;
  21. serial1 = &uart1;
  22. serial2 = &uart2;
  23. serial3 = &uart3;
  24. serial4 = &uart4;
  25. serial5 = &uart5;
  26. };
  27. soc {
  28. #address-cells = <1>;
  29. #size-cells = <1>;
  30. compatible = "simple-bus";
  31. ranges;
  32. interrupt-parent = <&intc0>;
  33. intc0: interrupt-controller@d8140000 {
  34. compatible = "via,vt8500-intc";
  35. interrupt-controller;
  36. reg = <0xd8140000 0x10000>;
  37. #interrupt-cells = <1>;
  38. };
  39. /* Secondary IC cascaded to intc0 */
  40. intc1: interrupt-controller@d8150000 {
  41. compatible = "via,vt8500-intc";
  42. interrupt-controller;
  43. #interrupt-cells = <1>;
  44. reg = <0xD8150000 0x10000>;
  45. interrupts = <56 57 58 59 60 61 62 63>;
  46. };
  47. pinctrl: pinctrl@d8110000 {
  48. compatible = "wm,wm8505-pinctrl";
  49. reg = <0xd8110000 0x10000>;
  50. interrupt-controller;
  51. #interrupt-cells = <2>;
  52. gpio-controller;
  53. #gpio-cells = <2>;
  54. };
  55. pmc@d8130000 {
  56. compatible = "via,vt8500-pmc";
  57. reg = <0xd8130000 0x1000>;
  58. clocks {
  59. #address-cells = <1>;
  60. #size-cells = <0>;
  61. ref24: ref24M {
  62. #clock-cells = <0>;
  63. compatible = "fixed-clock";
  64. clock-frequency = <24000000>;
  65. };
  66. ref25: ref25M {
  67. #clock-cells = <0>;
  68. compatible = "fixed-clock";
  69. clock-frequency = <25000000>;
  70. };
  71. plla: plla {
  72. #clock-cells = <0>;
  73. compatible = "via,vt8500-pll-clock";
  74. clocks = <&ref25>;
  75. reg = <0x200>;
  76. };
  77. pllb: pllb {
  78. #clock-cells = <0>;
  79. compatible = "via,vt8500-pll-clock";
  80. clocks = <&ref25>;
  81. reg = <0x204>;
  82. };
  83. pllc: pllc {
  84. #clock-cells = <0>;
  85. compatible = "via,vt8500-pll-clock";
  86. clocks = <&ref25>;
  87. reg = <0x208>;
  88. };
  89. plld: plld {
  90. #clock-cells = <0>;
  91. compatible = "via,vt8500-pll-clock";
  92. clocks = <&ref25>;
  93. reg = <0x20c>;
  94. };
  95. clkarm: arm {
  96. #clock-cells = <0>;
  97. compatible = "via,vt8500-device-clock";
  98. clocks = <&plla>;
  99. divisor-reg = <0x300>;
  100. };
  101. clkahb: ahb {
  102. #clock-cells = <0>;
  103. compatible = "via,vt8500-device-clock";
  104. clocks = <&pllb>;
  105. divisor-reg = <0x304>;
  106. };
  107. clkapb: apb {
  108. #clock-cells = <0>;
  109. compatible = "via,vt8500-device-clock";
  110. clocks = <&pllb>;
  111. divisor-reg = <0x350>;
  112. };
  113. clkddr: ddr {
  114. #clock-cells = <0>;
  115. compatible = "via,vt8500-device-clock";
  116. clocks = <&plld>;
  117. divisor-reg = <0x310>;
  118. };
  119. clkuart0: uart0 {
  120. #clock-cells = <0>;
  121. compatible = "via,vt8500-device-clock";
  122. clocks = <&ref24>;
  123. enable-reg = <0x250>;
  124. enable-bit = <1>;
  125. };
  126. clkuart1: uart1 {
  127. #clock-cells = <0>;
  128. compatible = "via,vt8500-device-clock";
  129. clocks = <&ref24>;
  130. enable-reg = <0x250>;
  131. enable-bit = <2>;
  132. };
  133. clkuart2: uart2 {
  134. #clock-cells = <0>;
  135. compatible = "via,vt8500-device-clock";
  136. clocks = <&ref24>;
  137. enable-reg = <0x250>;
  138. enable-bit = <3>;
  139. };
  140. clkuart3: uart3 {
  141. #clock-cells = <0>;
  142. compatible = "via,vt8500-device-clock";
  143. clocks = <&ref24>;
  144. enable-reg = <0x250>;
  145. enable-bit = <4>;
  146. };
  147. clkuart4: uart4 {
  148. #clock-cells = <0>;
  149. compatible = "via,vt8500-device-clock";
  150. clocks = <&ref24>;
  151. enable-reg = <0x250>;
  152. enable-bit = <22>;
  153. };
  154. clkuart5: uart5 {
  155. #clock-cells = <0>;
  156. compatible = "via,vt8500-device-clock";
  157. clocks = <&ref24>;
  158. enable-reg = <0x250>;
  159. enable-bit = <23>;
  160. };
  161. clksdhc: sdhc {
  162. #clock-cells = <0>;
  163. compatible = "via,vt8500-device-clock";
  164. clocks = <&pllb>;
  165. divisor-reg = <0x328>;
  166. divisor-mask = <0x3f>;
  167. enable-reg = <0x254>;
  168. enable-bit = <18>;
  169. };
  170. };
  171. };
  172. timer@d8130100 {
  173. compatible = "via,vt8500-timer";
  174. reg = <0xd8130100 0x28>;
  175. interrupts = <36>;
  176. };
  177. ehci@d8007100 {
  178. compatible = "via,vt8500-ehci";
  179. reg = <0xd8007100 0x200>;
  180. interrupts = <1>;
  181. };
  182. uhci@d8007300 {
  183. compatible = "platform-uhci";
  184. reg = <0xd8007300 0x200>;
  185. interrupts = <0>;
  186. };
  187. fb: fb@d8050800 {
  188. compatible = "wm,wm8505-fb";
  189. reg = <0xd8050800 0x200>;
  190. };
  191. ge_rops@d8050400 {
  192. compatible = "wm,prizm-ge-rops";
  193. reg = <0xd8050400 0x100>;
  194. };
  195. uart0: serial@d8200000 {
  196. compatible = "via,vt8500-uart";
  197. reg = <0xd8200000 0x1040>;
  198. interrupts = <32>;
  199. clocks = <&clkuart0>;
  200. status = "disabled";
  201. };
  202. uart1: serial@d82b0000 {
  203. compatible = "via,vt8500-uart";
  204. reg = <0xd82b0000 0x1040>;
  205. interrupts = <33>;
  206. clocks = <&clkuart1>;
  207. status = "disabled";
  208. };
  209. uart2: serial@d8210000 {
  210. compatible = "via,vt8500-uart";
  211. reg = <0xd8210000 0x1040>;
  212. interrupts = <47>;
  213. clocks = <&clkuart2>;
  214. status = "disabled";
  215. };
  216. uart3: serial@d82c0000 {
  217. compatible = "via,vt8500-uart";
  218. reg = <0xd82c0000 0x1040>;
  219. interrupts = <50>;
  220. clocks = <&clkuart3>;
  221. status = "disabled";
  222. };
  223. uart4: serial@d8370000 {
  224. compatible = "via,vt8500-uart";
  225. reg = <0xd8370000 0x1040>;
  226. interrupts = <31>;
  227. clocks = <&clkuart4>;
  228. status = "disabled";
  229. };
  230. uart5: serial@d8380000 {
  231. compatible = "via,vt8500-uart";
  232. reg = <0xd8380000 0x1040>;
  233. interrupts = <30>;
  234. clocks = <&clkuart5>;
  235. status = "disabled";
  236. };
  237. rtc@d8100000 {
  238. compatible = "via,vt8500-rtc";
  239. reg = <0xd8100000 0x10000>;
  240. interrupts = <48>;
  241. };
  242. sdhc@d800a000 {
  243. compatible = "wm,wm8505-sdhc";
  244. reg = <0xd800a000 0x1000>;
  245. interrupts = <20 21>;
  246. clocks = <&clksdhc>;
  247. bus-width = <4>;
  248. };
  249. };
  250. };