dm816x-clocks.dtsi 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. &scrm {
  3. main_fapll: main_fapll {
  4. #clock-cells = <1>;
  5. compatible = "ti,dm816-fapll-clock";
  6. reg = <0x400 0x40>;
  7. clocks = <&sys_clkin_ck &sys_clkin_ck>;
  8. clock-indices = <1>, <2>, <3>, <4>, <5>,
  9. <6>, <7>;
  10. clock-output-names = "main_pll_clk1",
  11. "main_pll_clk2",
  12. "main_pll_clk3",
  13. "main_pll_clk4",
  14. "main_pll_clk5",
  15. "main_pll_clk6",
  16. "main_pll_clk7";
  17. };
  18. ddr_fapll: ddr_fapll {
  19. #clock-cells = <1>;
  20. compatible = "ti,dm816-fapll-clock";
  21. reg = <0x440 0x30>;
  22. clocks = <&sys_clkin_ck &sys_clkin_ck>;
  23. clock-indices = <1>, <2>, <3>, <4>;
  24. clock-output-names = "ddr_pll_clk1",
  25. "ddr_pll_clk2",
  26. "ddr_pll_clk3",
  27. "ddr_pll_clk4";
  28. };
  29. video_fapll: video_fapll {
  30. #clock-cells = <1>;
  31. compatible = "ti,dm816-fapll-clock";
  32. reg = <0x470 0x30>;
  33. clocks = <&sys_clkin_ck &sys_clkin_ck>;
  34. clock-indices = <1>, <2>, <3>;
  35. clock-output-names = "video_pll_clk1",
  36. "video_pll_clk2",
  37. "video_pll_clk3";
  38. };
  39. audio_fapll: audio_fapll {
  40. #clock-cells = <1>;
  41. compatible = "ti,dm816-fapll-clock";
  42. reg = <0x4a0 0x30>;
  43. clocks = <&main_fapll 7>, < &sys_clkin_ck>;
  44. clock-indices = <1>, <2>, <3>, <4>, <5>;
  45. clock-output-names = "audio_pll_clk1",
  46. "audio_pll_clk2",
  47. "audio_pll_clk3",
  48. "audio_pll_clk4",
  49. "audio_pll_clk5";
  50. };
  51. };
  52. &scrm_clocks {
  53. secure_32k_ck: secure_32k_ck {
  54. #clock-cells = <0>;
  55. compatible = "fixed-clock";
  56. clock-frequency = <32768>;
  57. };
  58. sys_32k_ck: sys_32k_ck {
  59. #clock-cells = <0>;
  60. compatible = "fixed-clock";
  61. clock-frequency = <32768>;
  62. };
  63. tclkin_ck: tclkin_ck {
  64. #clock-cells = <0>;
  65. compatible = "fixed-clock";
  66. clock-frequency = <32768>;
  67. };
  68. sys_clkin_ck: sys_clkin_ck {
  69. #clock-cells = <0>;
  70. compatible = "fixed-clock";
  71. clock-frequency = <27000000>;
  72. };
  73. };
  74. /* 0x48180000 */
  75. &prcm_clocks {
  76. clkout_pre_ck: clkout_pre_ck@100 {
  77. #clock-cells = <0>;
  78. compatible = "ti,mux-clock";
  79. clocks = <&main_fapll 5 &ddr_fapll 1 &video_fapll 1
  80. &audio_fapll 1>;
  81. reg = <0x100>;
  82. };
  83. clkout_div_ck: clkout_div_ck@100 {
  84. #clock-cells = <0>;
  85. compatible = "ti,divider-clock";
  86. clocks = <&clkout_pre_ck>;
  87. ti,bit-shift = <3>;
  88. ti,max-div = <8>;
  89. reg = <0x100>;
  90. };
  91. clkout_ck: clkout_ck@100 {
  92. #clock-cells = <0>;
  93. compatible = "ti,gate-clock";
  94. clocks = <&clkout_div_ck>;
  95. ti,bit-shift = <7>;
  96. reg = <0x100>;
  97. };
  98. /* CM_DPLL clocks p1795 */
  99. sysclk1_ck: sysclk1_ck@300 {
  100. #clock-cells = <0>;
  101. compatible = "ti,divider-clock";
  102. clocks = <&main_fapll 1>;
  103. ti,max-div = <7>;
  104. reg = <0x0300>;
  105. };
  106. sysclk2_ck: sysclk2_ck@304 {
  107. #clock-cells = <0>;
  108. compatible = "ti,divider-clock";
  109. clocks = <&main_fapll 2>;
  110. ti,max-div = <7>;
  111. reg = <0x0304>;
  112. };
  113. sysclk3_ck: sysclk3_ck@308 {
  114. #clock-cells = <0>;
  115. compatible = "ti,divider-clock";
  116. clocks = <&main_fapll 3>;
  117. ti,max-div = <7>;
  118. reg = <0x0308>;
  119. };
  120. sysclk4_ck: sysclk4_ck@30c {
  121. #clock-cells = <0>;
  122. compatible = "ti,divider-clock";
  123. clocks = <&main_fapll 4>;
  124. ti,max-div = <1>;
  125. reg = <0x030c>;
  126. };
  127. sysclk5_ck: sysclk5_ck@310 {
  128. #clock-cells = <0>;
  129. compatible = "ti,divider-clock";
  130. clocks = <&sysclk4_ck>;
  131. ti,max-div = <1>;
  132. reg = <0x0310>;
  133. };
  134. sysclk6_ck: sysclk6_ck@314 {
  135. #clock-cells = <0>;
  136. compatible = "ti,divider-clock";
  137. clocks = <&main_fapll 4>;
  138. ti,dividers = <2>, <4>;
  139. reg = <0x0314>;
  140. };
  141. sysclk10_ck: sysclk10_ck@324 {
  142. #clock-cells = <0>;
  143. compatible = "ti,divider-clock";
  144. clocks = <&ddr_fapll 2>;
  145. ti,max-div = <7>;
  146. reg = <0x0324>;
  147. };
  148. sysclk24_ck: sysclk24_ck@3b4 {
  149. #clock-cells = <0>;
  150. compatible = "ti,divider-clock";
  151. clocks = <&main_fapll 5>;
  152. ti,max-div = <7>;
  153. reg = <0x03b4>;
  154. };
  155. mpu_ck: mpu_ck@15dc {
  156. #clock-cells = <0>;
  157. compatible = "ti,gate-clock";
  158. clocks = <&sysclk2_ck>;
  159. ti,bit-shift = <1>;
  160. reg = <0x15dc>;
  161. };
  162. audio_pll_a_ck: audio_pll_a_ck@35c {
  163. #clock-cells = <0>;
  164. compatible = "ti,divider-clock";
  165. clocks = <&audio_fapll 1>;
  166. ti,max-div = <7>;
  167. reg = <0x035c>;
  168. };
  169. sysclk18_ck: sysclk18_ck@378 {
  170. #clock-cells = <0>;
  171. compatible = "ti,mux-clock";
  172. clocks = <&sys_32k_ck>, <&audio_pll_a_ck>;
  173. reg = <0x0378>;
  174. };
  175. timer1_fck: timer1_fck@390 {
  176. #clock-cells = <0>;
  177. compatible = "ti,mux-clock";
  178. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  179. reg = <0x0390>;
  180. };
  181. timer2_fck: timer2_fck@394 {
  182. #clock-cells = <0>;
  183. compatible = "ti,mux-clock";
  184. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  185. reg = <0x0394>;
  186. };
  187. timer3_fck: timer3_fck@398 {
  188. #clock-cells = <0>;
  189. compatible = "ti,mux-clock";
  190. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  191. reg = <0x0398>;
  192. };
  193. timer4_fck: timer4_fck@39c {
  194. #clock-cells = <0>;
  195. compatible = "ti,mux-clock";
  196. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  197. reg = <0x039c>;
  198. };
  199. timer5_fck: timer5_fck@3a0 {
  200. #clock-cells = <0>;
  201. compatible = "ti,mux-clock";
  202. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  203. reg = <0x03a0>;
  204. };
  205. timer6_fck: timer6_fck@3a4 {
  206. #clock-cells = <0>;
  207. compatible = "ti,mux-clock";
  208. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  209. reg = <0x03a4>;
  210. };
  211. timer7_fck: timer7_fck@3a8 {
  212. #clock-cells = <0>;
  213. compatible = "ti,mux-clock";
  214. clocks = <&tclkin_ck>, <&sysclk18_ck>, <&sys_clkin_ck>;
  215. reg = <0x03a8>;
  216. };
  217. };
  218. &prcm {
  219. default_cm: default_cm@500 {
  220. compatible = "ti,omap4-cm";
  221. reg = <0x500 0x100>;
  222. #address-cells = <1>;
  223. #size-cells = <1>;
  224. ranges = <0 0x500 0x100>;
  225. default_clkctrl: clk@0 {
  226. compatible = "ti,clkctrl";
  227. reg = <0x0 0x5c>;
  228. #clock-cells = <2>;
  229. };
  230. };
  231. alwon_cm: alwon_cm@1400 {
  232. compatible = "ti,omap4-cm";
  233. reg = <0x1400 0x300>;
  234. #address-cells = <1>;
  235. #size-cells = <1>;
  236. ranges = <0 0x1400 0x300>;
  237. alwon_clkctrl: clk@0 {
  238. compatible = "ti,clkctrl";
  239. reg = <0x0 0x208>;
  240. #clock-cells = <2>;
  241. };
  242. };
  243. };