am33xx-clocks.dtsi 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Device Tree Source for AM33xx clock data
  4. *
  5. * Copyright (C) 2013 Texas Instruments, Inc.
  6. */
  7. &scm_clocks {
  8. sys_clkin_ck: clock-sys-clkin-22@40 {
  9. #clock-cells = <0>;
  10. compatible = "ti,mux-clock";
  11. clock-output-names = "sys_clkin_ck";
  12. clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
  13. ti,bit-shift = <22>;
  14. reg = <0x0040>;
  15. };
  16. adc_tsc_fck: clock-adc-tsc-fck {
  17. #clock-cells = <0>;
  18. compatible = "fixed-factor-clock";
  19. clock-output-names = "adc_tsc_fck";
  20. clocks = <&sys_clkin_ck>;
  21. clock-mult = <1>;
  22. clock-div = <1>;
  23. };
  24. dcan0_fck: clock-dcan0-fck {
  25. #clock-cells = <0>;
  26. compatible = "fixed-factor-clock";
  27. clock-output-names = "dcan0_fck";
  28. clocks = <&sys_clkin_ck>;
  29. clock-mult = <1>;
  30. clock-div = <1>;
  31. };
  32. dcan1_fck: clock-dcan1-fck {
  33. #clock-cells = <0>;
  34. compatible = "fixed-factor-clock";
  35. clock-output-names = "dcan1_fck";
  36. clocks = <&sys_clkin_ck>;
  37. clock-mult = <1>;
  38. clock-div = <1>;
  39. };
  40. mcasp0_fck: clock-mcasp0-fck {
  41. #clock-cells = <0>;
  42. compatible = "fixed-factor-clock";
  43. clock-output-names = "mcasp0_fck";
  44. clocks = <&sys_clkin_ck>;
  45. clock-mult = <1>;
  46. clock-div = <1>;
  47. };
  48. mcasp1_fck: clock-mcasp1-fck {
  49. #clock-cells = <0>;
  50. compatible = "fixed-factor-clock";
  51. clock-output-names = "mcasp1_fck";
  52. clocks = <&sys_clkin_ck>;
  53. clock-mult = <1>;
  54. clock-div = <1>;
  55. };
  56. smartreflex0_fck: clock-smartreflex0-fck {
  57. #clock-cells = <0>;
  58. compatible = "fixed-factor-clock";
  59. clock-output-names = "smartreflex0_fck";
  60. clocks = <&sys_clkin_ck>;
  61. clock-mult = <1>;
  62. clock-div = <1>;
  63. };
  64. smartreflex1_fck: clock-smartreflex1-fck {
  65. #clock-cells = <0>;
  66. compatible = "fixed-factor-clock";
  67. clock-output-names = "smartreflex1_fck";
  68. clocks = <&sys_clkin_ck>;
  69. clock-mult = <1>;
  70. clock-div = <1>;
  71. };
  72. sha0_fck: clock-sha0-fck {
  73. #clock-cells = <0>;
  74. compatible = "fixed-factor-clock";
  75. clock-output-names = "sha0_fck";
  76. clocks = <&sys_clkin_ck>;
  77. clock-mult = <1>;
  78. clock-div = <1>;
  79. };
  80. aes0_fck: clock-aes0-fck {
  81. #clock-cells = <0>;
  82. compatible = "fixed-factor-clock";
  83. clock-output-names = "aes0_fck";
  84. clocks = <&sys_clkin_ck>;
  85. clock-mult = <1>;
  86. clock-div = <1>;
  87. };
  88. rng_fck: clock-rng-fck {
  89. #clock-cells = <0>;
  90. compatible = "fixed-factor-clock";
  91. clock-output-names = "rng_fck";
  92. clocks = <&sys_clkin_ck>;
  93. clock-mult = <1>;
  94. clock-div = <1>;
  95. };
  96. clock@664 {
  97. compatible = "ti,clksel";
  98. reg = <0x664>;
  99. #clock-cells = <2>;
  100. #address-cells = <0>;
  101. ehrpwm0_tbclk: clock-ehrpwm0-tbclk {
  102. #clock-cells = <0>;
  103. compatible = "ti,gate-clock";
  104. clock-output-names = "ehrpwm0_tbclk";
  105. clocks = <&l4ls_gclk>;
  106. ti,bit-shift = <0>;
  107. };
  108. ehrpwm1_tbclk: clock-ehrpwm1-tbclk {
  109. #clock-cells = <0>;
  110. compatible = "ti,gate-clock";
  111. clock-output-names = "ehrpwm1_tbclk";
  112. clocks = <&l4ls_gclk>;
  113. ti,bit-shift = <1>;
  114. };
  115. ehrpwm2_tbclk: clock-ehrpwm2-tbclk {
  116. #clock-cells = <0>;
  117. compatible = "ti,gate-clock";
  118. clock-output-names = "ehrpwm2_tbclk";
  119. clocks = <&l4ls_gclk>;
  120. ti,bit-shift = <2>;
  121. };
  122. };
  123. };
  124. &prcm_clocks {
  125. clk_32768_ck: clock-clk-32768 {
  126. #clock-cells = <0>;
  127. compatible = "fixed-clock";
  128. clock-output-names = "clk_32768_ck";
  129. clock-frequency = <32768>;
  130. };
  131. clk_rc32k_ck: clock-clk-rc32k {
  132. #clock-cells = <0>;
  133. compatible = "fixed-clock";
  134. clock-output-names = "clk_rc32k_ck";
  135. clock-frequency = <32000>;
  136. };
  137. virt_19200000_ck: clock-virt-19200000 {
  138. #clock-cells = <0>;
  139. compatible = "fixed-clock";
  140. clock-output-names = "virt_19200000_ck";
  141. clock-frequency = <19200000>;
  142. };
  143. virt_24000000_ck: clock-virt-24000000 {
  144. #clock-cells = <0>;
  145. compatible = "fixed-clock";
  146. clock-output-names = "virt_24000000_ck";
  147. clock-frequency = <24000000>;
  148. };
  149. virt_25000000_ck: clock-virt-25000000 {
  150. #clock-cells = <0>;
  151. compatible = "fixed-clock";
  152. clock-output-names = "virt_25000000_ck";
  153. clock-frequency = <25000000>;
  154. };
  155. virt_26000000_ck: clock-virt-26000000 {
  156. #clock-cells = <0>;
  157. compatible = "fixed-clock";
  158. clock-output-names = "virt_26000000_ck";
  159. clock-frequency = <26000000>;
  160. };
  161. tclkin_ck: clock-tclkin {
  162. #clock-cells = <0>;
  163. compatible = "fixed-clock";
  164. clock-output-names = "tclkin_ck";
  165. clock-frequency = <12000000>;
  166. };
  167. dpll_core_ck: clock@490 {
  168. #clock-cells = <0>;
  169. compatible = "ti,am3-dpll-core-clock";
  170. clock-output-names = "dpll_core_ck";
  171. clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
  172. reg = <0x0490>, <0x045c>, <0x0468>, <0x0460>, <0x0464>;
  173. };
  174. dpll_core_x2_ck: clock-dpll-core-x2 {
  175. #clock-cells = <0>;
  176. compatible = "ti,am3-dpll-x2-clock";
  177. clock-output-names = "dpll_core_x2_ck";
  178. clocks = <&dpll_core_ck>;
  179. };
  180. dpll_core_m4_ck: clock-dpll-core-m4@480 {
  181. #clock-cells = <0>;
  182. compatible = "ti,divider-clock";
  183. clock-output-names = "dpll_core_m4_ck";
  184. clocks = <&dpll_core_x2_ck>;
  185. ti,max-div = <31>;
  186. reg = <0x0480>;
  187. ti,index-starts-at-one;
  188. };
  189. dpll_core_m5_ck: clock-dpll-core-m5@484 {
  190. #clock-cells = <0>;
  191. compatible = "ti,divider-clock";
  192. clock-output-names = "dpll_core_m5_ck";
  193. clocks = <&dpll_core_x2_ck>;
  194. ti,max-div = <31>;
  195. reg = <0x0484>;
  196. ti,index-starts-at-one;
  197. };
  198. dpll_core_m6_ck: clock-dpll-core-m6@4d8 {
  199. #clock-cells = <0>;
  200. compatible = "ti,divider-clock";
  201. clock-output-names = "dpll_core_m6_ck";
  202. clocks = <&dpll_core_x2_ck>;
  203. ti,max-div = <31>;
  204. reg = <0x04d8>;
  205. ti,index-starts-at-one;
  206. };
  207. dpll_mpu_ck: clock@488 {
  208. #clock-cells = <0>;
  209. compatible = "ti,am3-dpll-clock";
  210. clock-output-names = "dpll_mpu_ck";
  211. clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
  212. reg = <0x0488>, <0x0420>, <0x042c>, <0x0424>, <0x0428>;
  213. };
  214. dpll_mpu_m2_ck: clock-dpll-mpu-m2@4a8 {
  215. #clock-cells = <0>;
  216. compatible = "ti,divider-clock";
  217. clock-output-names = "dpll_mpu_m2_ck";
  218. clocks = <&dpll_mpu_ck>;
  219. ti,max-div = <31>;
  220. reg = <0x04a8>;
  221. ti,index-starts-at-one;
  222. };
  223. dpll_ddr_ck: clock@494 {
  224. #clock-cells = <0>;
  225. compatible = "ti,am3-dpll-no-gate-clock";
  226. clock-output-names = "dpll_ddr_ck";
  227. clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
  228. reg = <0x0494>, <0x0434>, <0x0440>, <0x0438>, <0x043c>;
  229. };
  230. dpll_ddr_m2_ck: clock-dpll-ddr-m2@4a0 {
  231. #clock-cells = <0>;
  232. compatible = "ti,divider-clock";
  233. clock-output-names = "dpll_ddr_m2_ck";
  234. clocks = <&dpll_ddr_ck>;
  235. ti,max-div = <31>;
  236. reg = <0x04a0>;
  237. ti,index-starts-at-one;
  238. };
  239. dpll_ddr_m2_div2_ck: clock-dpll-ddr-m2-div2 {
  240. #clock-cells = <0>;
  241. compatible = "fixed-factor-clock";
  242. clock-output-names = "dpll_ddr_m2_div2_ck";
  243. clocks = <&dpll_ddr_m2_ck>;
  244. clock-mult = <1>;
  245. clock-div = <2>;
  246. };
  247. dpll_disp_ck: clock@498 {
  248. #clock-cells = <0>;
  249. compatible = "ti,am3-dpll-no-gate-clock";
  250. clock-output-names = "dpll_disp_ck";
  251. clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
  252. reg = <0x0498>, <0x0448>, <0x0454>, <0x044c>, <0x0450>;
  253. };
  254. dpll_disp_m2_ck: clock-dpll-disp-m2@4a4 {
  255. #clock-cells = <0>;
  256. compatible = "ti,divider-clock";
  257. clock-output-names = "dpll_disp_m2_ck";
  258. clocks = <&dpll_disp_ck>;
  259. ti,max-div = <31>;
  260. reg = <0x04a4>;
  261. ti,index-starts-at-one;
  262. ti,set-rate-parent;
  263. };
  264. dpll_per_ck: clock@48c {
  265. #clock-cells = <0>;
  266. compatible = "ti,am3-dpll-no-gate-j-type-clock";
  267. clock-output-names = "dpll_per_ck";
  268. clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
  269. reg = <0x048c>, <0x0470>, <0x049c>, <0x0474>, <0x0478>;
  270. };
  271. dpll_per_m2_ck: clock-dpll-per-m2@4ac {
  272. #clock-cells = <0>;
  273. compatible = "ti,divider-clock";
  274. clock-output-names = "dpll_per_m2_ck";
  275. clocks = <&dpll_per_ck>;
  276. ti,max-div = <31>;
  277. reg = <0x04ac>;
  278. ti,index-starts-at-one;
  279. };
  280. dpll_per_m2_div4_wkupdm_ck: clock-dpll-per-m2-div4-wkupdm {
  281. #clock-cells = <0>;
  282. compatible = "fixed-factor-clock";
  283. clock-output-names = "dpll_per_m2_div4_wkupdm_ck";
  284. clocks = <&dpll_per_m2_ck>;
  285. clock-mult = <1>;
  286. clock-div = <4>;
  287. };
  288. dpll_per_m2_div4_ck: clock-dpll-per-m2-div4 {
  289. #clock-cells = <0>;
  290. compatible = "fixed-factor-clock";
  291. clock-output-names = "dpll_per_m2_div4_ck";
  292. clocks = <&dpll_per_m2_ck>;
  293. clock-mult = <1>;
  294. clock-div = <4>;
  295. };
  296. clk_24mhz: clock-clk-24mhz {
  297. #clock-cells = <0>;
  298. compatible = "fixed-factor-clock";
  299. clock-output-names = "clk_24mhz";
  300. clocks = <&dpll_per_m2_ck>;
  301. clock-mult = <1>;
  302. clock-div = <8>;
  303. };
  304. clkdiv32k_ck: clock-clkdiv32k {
  305. #clock-cells = <0>;
  306. compatible = "fixed-factor-clock";
  307. clock-output-names = "clkdiv32k_ck";
  308. clocks = <&clk_24mhz>;
  309. clock-mult = <1>;
  310. clock-div = <732>;
  311. };
  312. l3_gclk: clock-l3-gclk {
  313. #clock-cells = <0>;
  314. compatible = "fixed-factor-clock";
  315. clock-output-names = "l3_gclk";
  316. clocks = <&dpll_core_m4_ck>;
  317. clock-mult = <1>;
  318. clock-div = <1>;
  319. };
  320. pruss_ocp_gclk: clock-pruss-ocp-gclk@530 {
  321. #clock-cells = <0>;
  322. compatible = "ti,mux-clock";
  323. clock-output-names = "pruss_ocp_gclk";
  324. clocks = <&l3_gclk>, <&dpll_disp_m2_ck>;
  325. reg = <0x0530>;
  326. };
  327. mmu_fck: clock-mmu-fck-1@914 {
  328. #clock-cells = <0>;
  329. compatible = "ti,gate-clock";
  330. clock-output-names = "mmu_fck";
  331. clocks = <&dpll_core_m4_ck>;
  332. ti,bit-shift = <1>;
  333. reg = <0x0914>;
  334. };
  335. timer1_fck: clock-timer1-fck@528 {
  336. #clock-cells = <0>;
  337. compatible = "ti,mux-clock";
  338. clock-output-names = "timer1_fck";
  339. clocks = <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>;
  340. reg = <0x0528>;
  341. };
  342. timer2_fck: clock-timer2-fck@508 {
  343. #clock-cells = <0>;
  344. compatible = "ti,mux-clock";
  345. clock-output-names = "timer2_fck";
  346. clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  347. reg = <0x0508>;
  348. };
  349. timer3_fck: clock-timer3-fck@50c {
  350. #clock-cells = <0>;
  351. compatible = "ti,mux-clock";
  352. clock-output-names = "timer3_fck";
  353. clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  354. reg = <0x050c>;
  355. };
  356. timer4_fck: clock-timer4-fck@510 {
  357. #clock-cells = <0>;
  358. compatible = "ti,mux-clock";
  359. clock-output-names = "timer4_fck";
  360. clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  361. reg = <0x0510>;
  362. };
  363. timer5_fck: clock-timer5-fck@518 {
  364. #clock-cells = <0>;
  365. compatible = "ti,mux-clock";
  366. clock-output-names = "timer5_fck";
  367. clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  368. reg = <0x0518>;
  369. };
  370. timer6_fck: clock-timer6-fck@51c {
  371. #clock-cells = <0>;
  372. compatible = "ti,mux-clock";
  373. clock-output-names = "timer6_fck";
  374. clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  375. reg = <0x051c>;
  376. };
  377. timer7_fck: clock-timer7-fck@504 {
  378. #clock-cells = <0>;
  379. compatible = "ti,mux-clock";
  380. clock-output-names = "timer7_fck";
  381. clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  382. reg = <0x0504>;
  383. };
  384. usbotg_fck: clock-usbotg-fck-8@47c {
  385. #clock-cells = <0>;
  386. compatible = "ti,gate-clock";
  387. clock-output-names = "usbotg_fck";
  388. clocks = <&dpll_per_ck>;
  389. ti,bit-shift = <8>;
  390. reg = <0x047c>;
  391. };
  392. dpll_core_m4_div2_ck: clock-dpll-core-m4-div2 {
  393. #clock-cells = <0>;
  394. compatible = "fixed-factor-clock";
  395. clock-output-names = "dpll_core_m4_div2_ck";
  396. clocks = <&dpll_core_m4_ck>;
  397. clock-mult = <1>;
  398. clock-div = <2>;
  399. };
  400. ieee5000_fck: clock-ieee5000-fck-1@e4 {
  401. #clock-cells = <0>;
  402. compatible = "ti,gate-clock";
  403. clock-output-names = "ieee5000_fck";
  404. clocks = <&dpll_core_m4_div2_ck>;
  405. ti,bit-shift = <1>;
  406. reg = <0x00e4>;
  407. };
  408. wdt1_fck: clock-wdt1-fck@538 {
  409. #clock-cells = <0>;
  410. compatible = "ti,mux-clock";
  411. clock-output-names = "wdt1_fck";
  412. clocks = <&clk_rc32k_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  413. reg = <0x0538>;
  414. };
  415. l4_rtc_gclk: clock-l4-rtc-gclk {
  416. #clock-cells = <0>;
  417. compatible = "fixed-factor-clock";
  418. clock-output-names = "l4_rtc_gclk";
  419. clocks = <&dpll_core_m4_ck>;
  420. clock-mult = <1>;
  421. clock-div = <2>;
  422. };
  423. l4hs_gclk: clock-l4hs-gclk {
  424. #clock-cells = <0>;
  425. compatible = "fixed-factor-clock";
  426. clock-output-names = "l4hs_gclk";
  427. clocks = <&dpll_core_m4_ck>;
  428. clock-mult = <1>;
  429. clock-div = <1>;
  430. };
  431. l3s_gclk: clock-l3s-gclk {
  432. #clock-cells = <0>;
  433. compatible = "fixed-factor-clock";
  434. clock-output-names = "l3s_gclk";
  435. clocks = <&dpll_core_m4_div2_ck>;
  436. clock-mult = <1>;
  437. clock-div = <1>;
  438. };
  439. l4fw_gclk: clock-l4fw-gclk {
  440. #clock-cells = <0>;
  441. compatible = "fixed-factor-clock";
  442. clock-output-names = "l4fw_gclk";
  443. clocks = <&dpll_core_m4_div2_ck>;
  444. clock-mult = <1>;
  445. clock-div = <1>;
  446. };
  447. l4ls_gclk: clock-l4ls-gclk {
  448. #clock-cells = <0>;
  449. compatible = "fixed-factor-clock";
  450. clock-output-names = "l4ls_gclk";
  451. clocks = <&dpll_core_m4_div2_ck>;
  452. clock-mult = <1>;
  453. clock-div = <1>;
  454. };
  455. sysclk_div_ck: clock-sysclk-div {
  456. #clock-cells = <0>;
  457. compatible = "fixed-factor-clock";
  458. clock-output-names = "sysclk_div_ck";
  459. clocks = <&dpll_core_m4_ck>;
  460. clock-mult = <1>;
  461. clock-div = <1>;
  462. };
  463. cpsw_125mhz_gclk: clock-cpsw-125mhz-gclk {
  464. #clock-cells = <0>;
  465. compatible = "fixed-factor-clock";
  466. clock-output-names = "cpsw_125mhz_gclk";
  467. clocks = <&dpll_core_m5_ck>;
  468. clock-mult = <1>;
  469. clock-div = <2>;
  470. };
  471. cpsw_cpts_rft_clk: clock-cpsw-cpts-rft@520 {
  472. #clock-cells = <0>;
  473. compatible = "ti,mux-clock";
  474. clock-output-names = "cpsw_cpts_rft_clk";
  475. clocks = <&dpll_core_m5_ck>, <&dpll_core_m4_ck>;
  476. reg = <0x0520>;
  477. };
  478. gpio0_dbclk_mux_ck: clock-gpio0-dbclk-mux@53c {
  479. #clock-cells = <0>;
  480. compatible = "ti,mux-clock";
  481. clock-output-names = "gpio0_dbclk_mux_ck";
  482. clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
  483. reg = <0x053c>;
  484. };
  485. lcd_gclk: clock-lcd-gclk@534 {
  486. #clock-cells = <0>;
  487. compatible = "ti,mux-clock";
  488. clock-output-names = "lcd_gclk";
  489. clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
  490. reg = <0x0534>;
  491. ti,set-rate-parent;
  492. };
  493. mmc_clk: clock-mmc {
  494. #clock-cells = <0>;
  495. compatible = "fixed-factor-clock";
  496. clock-output-names = "mmc_clk";
  497. clocks = <&dpll_per_m2_ck>;
  498. clock-mult = <1>;
  499. clock-div = <2>;
  500. };
  501. clock@52c {
  502. compatible = "ti,clksel";
  503. reg = <0x52c>;
  504. #clock-cells = <2>;
  505. #address-cells = <0>;
  506. gfx_fclk_clksel_ck: clock-gfx-fclk-clksel {
  507. #clock-cells = <0>;
  508. compatible = "ti,mux-clock";
  509. clock-output-names = "gfx_fclk_clksel_ck";
  510. clocks = <&dpll_core_m4_ck>, <&dpll_per_m2_ck>;
  511. ti,bit-shift = <1>;
  512. };
  513. gfx_fck_div_ck: clock-gfx-fck-div {
  514. #clock-cells = <0>;
  515. compatible = "ti,divider-clock";
  516. clock-output-names = "gfx_fck_div_ck";
  517. clocks = <&gfx_fclk_clksel_ck>;
  518. ti,max-div = <2>;
  519. };
  520. };
  521. clock@700 {
  522. compatible = "ti,clksel";
  523. reg = <0x700>;
  524. #clock-cells = <2>;
  525. #address-cells = <0>;
  526. sysclkout_pre_ck: clock-sysclkout-pre {
  527. #clock-cells = <0>;
  528. compatible = "ti,mux-clock";
  529. clock-output-names = "sysclkout_pre_ck";
  530. clocks = <&clk_32768_ck>, <&l3_gclk>, <&dpll_ddr_m2_ck>, <&dpll_per_m2_ck>, <&lcd_gclk>;
  531. };
  532. clkout2_div_ck: clock-clkout2-div {
  533. #clock-cells = <0>;
  534. compatible = "ti,divider-clock";
  535. clock-output-names = "clkout2_div_ck";
  536. clocks = <&sysclkout_pre_ck>;
  537. ti,bit-shift = <3>;
  538. ti,max-div = <8>;
  539. };
  540. clkout2_ck: clock-clkout2 {
  541. #clock-cells = <0>;
  542. compatible = "ti,gate-clock";
  543. clock-output-names = "clkout2_ck";
  544. clocks = <&clkout2_div_ck>;
  545. ti,bit-shift = <7>;
  546. };
  547. };
  548. };
  549. &prcm {
  550. per_cm: clock@0 {
  551. compatible = "ti,omap4-cm";
  552. clock-output-names = "per_cm";
  553. reg = <0x0 0x400>;
  554. #address-cells = <1>;
  555. #size-cells = <1>;
  556. ranges = <0 0x0 0x400>;
  557. l4ls_clkctrl: clock@38 {
  558. compatible = "ti,clkctrl";
  559. clock-output-names = "l4ls_clkctrl";
  560. reg = <0x38 0x2c>, <0x6c 0x28>, <0xac 0xc>, <0xc0 0x1c>, <0xec 0xc>, <0x10c 0x8>, <0x130 0x4>;
  561. #clock-cells = <2>;
  562. };
  563. l3s_clkctrl: clock@1c {
  564. compatible = "ti,clkctrl";
  565. clock-output-names = "l3s_clkctrl";
  566. reg = <0x1c 0x4>, <0x30 0x8>, <0x68 0x4>, <0xf8 0x4>;
  567. #clock-cells = <2>;
  568. };
  569. l3_clkctrl: clock@24 {
  570. compatible = "ti,clkctrl";
  571. clock-output-names = "l3_clkctrl";
  572. reg = <0x24 0xc>, <0x94 0x10>, <0xbc 0x4>, <0xdc 0x8>, <0xfc 0x8>;
  573. #clock-cells = <2>;
  574. };
  575. l4hs_clkctrl: clock@120 {
  576. compatible = "ti,clkctrl";
  577. clock-output-names = "l4hs_clkctrl";
  578. reg = <0x120 0x4>;
  579. #clock-cells = <2>;
  580. };
  581. pruss_ocp_clkctrl: clock@e8 {
  582. compatible = "ti,clkctrl";
  583. clock-output-names = "pruss_ocp_clkctrl";
  584. reg = <0xe8 0x4>;
  585. #clock-cells = <2>;
  586. };
  587. cpsw_125mhz_clkctrl: clock@0 {
  588. compatible = "ti,clkctrl";
  589. clock-output-names = "cpsw_125mhz_clkctrl";
  590. reg = <0x0 0x18>;
  591. #clock-cells = <2>;
  592. };
  593. lcdc_clkctrl: clock@18 {
  594. compatible = "ti,clkctrl";
  595. clock-output-names = "lcdc_clkctrl";
  596. reg = <0x18 0x4>;
  597. #clock-cells = <2>;
  598. };
  599. clk_24mhz_clkctrl: clock@14c {
  600. compatible = "ti,clkctrl";
  601. clock-output-names = "clk_24mhz_clkctrl";
  602. reg = <0x14c 0x4>;
  603. #clock-cells = <2>;
  604. };
  605. };
  606. wkup_cm: clock@400 {
  607. compatible = "ti,omap4-cm";
  608. clock-output-names = "wkup_cm";
  609. reg = <0x400 0x100>;
  610. #address-cells = <1>;
  611. #size-cells = <1>;
  612. ranges = <0 0x400 0x100>;
  613. l4_wkup_clkctrl: clock@0 {
  614. compatible = "ti,clkctrl";
  615. clock-output-names = "l4_wkup_clkctrl";
  616. reg = <0x0 0x10>, <0xb4 0x24>;
  617. #clock-cells = <2>;
  618. };
  619. l3_aon_clkctrl: clock@14 {
  620. compatible = "ti,clkctrl";
  621. clock-output-names = "l3_aon_clkctrl";
  622. reg = <0x14 0x4>;
  623. #clock-cells = <2>;
  624. };
  625. l4_wkup_aon_clkctrl: clock@b0 {
  626. compatible = "ti,clkctrl";
  627. clock-output-names = "l4_wkup_aon_clkctrl";
  628. reg = <0xb0 0x4>;
  629. #clock-cells = <2>;
  630. };
  631. };
  632. mpu_cm: clock@600 {
  633. compatible = "ti,omap4-cm";
  634. clock-output-names = "mpu_cm";
  635. reg = <0x600 0x100>;
  636. #address-cells = <1>;
  637. #size-cells = <1>;
  638. ranges = <0 0x600 0x100>;
  639. mpu_clkctrl: clock@0 {
  640. compatible = "ti,clkctrl";
  641. clock-output-names = "mpu_clkctrl";
  642. reg = <0x0 0x8>;
  643. #clock-cells = <2>;
  644. };
  645. };
  646. l4_rtc_cm: clock@800 {
  647. compatible = "ti,omap4-cm";
  648. clock-output-names = "l4_rtc_cm";
  649. reg = <0x800 0x100>;
  650. #address-cells = <1>;
  651. #size-cells = <1>;
  652. ranges = <0 0x800 0x100>;
  653. l4_rtc_clkctrl: clock@0 {
  654. compatible = "ti,clkctrl";
  655. clock-output-names = "l4_rtc_clkctrl";
  656. reg = <0x0 0x4>;
  657. #clock-cells = <2>;
  658. };
  659. };
  660. gfx_l3_cm: clock@900 {
  661. compatible = "ti,omap4-cm";
  662. clock-output-names = "gfx_l3_cm";
  663. reg = <0x900 0x100>;
  664. #address-cells = <1>;
  665. #size-cells = <1>;
  666. ranges = <0 0x900 0x100>;
  667. gfx_l3_clkctrl: clock@0 {
  668. compatible = "ti,clkctrl";
  669. clock-output-names = "gfx_l3_clkctrl";
  670. reg = <0x0 0x8>;
  671. #clock-cells = <2>;
  672. };
  673. };
  674. l4_cefuse_cm: clock@a00 {
  675. compatible = "ti,omap4-cm";
  676. clock-output-names = "l4_cefuse_cm";
  677. reg = <0xa00 0x100>;
  678. #address-cells = <1>;
  679. #size-cells = <1>;
  680. ranges = <0 0xa00 0x100>;
  681. l4_cefuse_clkctrl: clock@0 {
  682. compatible = "ti,clkctrl";
  683. clock-output-names = "l4_cefuse_clkctrl";
  684. reg = <0x0 0x24>;
  685. #clock-cells = <2>;
  686. };
  687. };
  688. };