prcm-regs.c 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. /*
  2. *
  3. * HW regs data for OMAP4
  4. *
  5. * (C) Copyright 2013
  6. * Texas Instruments, <www.ti.com>
  7. *
  8. * Sricharan R <r.sricharan@ti.com>
  9. *
  10. * SPDX-License-Identifier: GPL-2.0+
  11. */
  12. #include <asm/omap_common.h>
  13. struct prcm_regs const omap4_prcm = {
  14. /* cm1.ckgen */
  15. .cm_clksel_core = 0x4a004100,
  16. .cm_clksel_abe = 0x4a004108,
  17. .cm_dll_ctrl = 0x4a004110,
  18. .cm_clkmode_dpll_core = 0x4a004120,
  19. .cm_idlest_dpll_core = 0x4a004124,
  20. .cm_autoidle_dpll_core = 0x4a004128,
  21. .cm_clksel_dpll_core = 0x4a00412c,
  22. .cm_div_m2_dpll_core = 0x4a004130,
  23. .cm_div_m3_dpll_core = 0x4a004134,
  24. .cm_div_m4_dpll_core = 0x4a004138,
  25. .cm_div_m5_dpll_core = 0x4a00413c,
  26. .cm_div_m6_dpll_core = 0x4a004140,
  27. .cm_div_m7_dpll_core = 0x4a004144,
  28. .cm_ssc_deltamstep_dpll_core = 0x4a004148,
  29. .cm_ssc_modfreqdiv_dpll_core = 0x4a00414c,
  30. .cm_emu_override_dpll_core = 0x4a004150,
  31. .cm_clkmode_dpll_mpu = 0x4a004160,
  32. .cm_idlest_dpll_mpu = 0x4a004164,
  33. .cm_autoidle_dpll_mpu = 0x4a004168,
  34. .cm_clksel_dpll_mpu = 0x4a00416c,
  35. .cm_div_m2_dpll_mpu = 0x4a004170,
  36. .cm_ssc_deltamstep_dpll_mpu = 0x4a004188,
  37. .cm_ssc_modfreqdiv_dpll_mpu = 0x4a00418c,
  38. .cm_bypclk_dpll_mpu = 0x4a00419c,
  39. .cm_clkmode_dpll_iva = 0x4a0041a0,
  40. .cm_idlest_dpll_iva = 0x4a0041a4,
  41. .cm_autoidle_dpll_iva = 0x4a0041a8,
  42. .cm_clksel_dpll_iva = 0x4a0041ac,
  43. .cm_div_m4_dpll_iva = 0x4a0041b8,
  44. .cm_div_m5_dpll_iva = 0x4a0041bc,
  45. .cm_ssc_deltamstep_dpll_iva = 0x4a0041c8,
  46. .cm_ssc_modfreqdiv_dpll_iva = 0x4a0041cc,
  47. .cm_bypclk_dpll_iva = 0x4a0041dc,
  48. .cm_clkmode_dpll_abe = 0x4a0041e0,
  49. .cm_idlest_dpll_abe = 0x4a0041e4,
  50. .cm_autoidle_dpll_abe = 0x4a0041e8,
  51. .cm_clksel_dpll_abe = 0x4a0041ec,
  52. .cm_div_m2_dpll_abe = 0x4a0041f0,
  53. .cm_div_m3_dpll_abe = 0x4a0041f4,
  54. .cm_ssc_deltamstep_dpll_abe = 0x4a004208,
  55. .cm_ssc_modfreqdiv_dpll_abe = 0x4a00420c,
  56. .cm_clkmode_dpll_ddrphy = 0x4a004220,
  57. .cm_idlest_dpll_ddrphy = 0x4a004224,
  58. .cm_autoidle_dpll_ddrphy = 0x4a004228,
  59. .cm_clksel_dpll_ddrphy = 0x4a00422c,
  60. .cm_div_m2_dpll_ddrphy = 0x4a004230,
  61. .cm_div_m4_dpll_ddrphy = 0x4a004238,
  62. .cm_div_m5_dpll_ddrphy = 0x4a00423c,
  63. .cm_div_m6_dpll_ddrphy = 0x4a004240,
  64. .cm_ssc_deltamstep_dpll_ddrphy = 0x4a004248,
  65. .cm_shadow_freq_config1 = 0x4a004260,
  66. .cm_mpu_mpu_clkctrl = 0x4a004320,
  67. /* cm1.dsp */
  68. .cm_dsp_clkstctrl = 0x4a004400,
  69. .cm_dsp_dsp_clkctrl = 0x4a004420,
  70. /* cm1.abe */
  71. .cm1_abe_clkstctrl = 0x4a004500,
  72. .cm1_abe_l4abe_clkctrl = 0x4a004520,
  73. .cm1_abe_aess_clkctrl = 0x4a004528,
  74. .cm1_abe_pdm_clkctrl = 0x4a004530,
  75. .cm1_abe_dmic_clkctrl = 0x4a004538,
  76. .cm1_abe_mcasp_clkctrl = 0x4a004540,
  77. .cm1_abe_mcbsp1_clkctrl = 0x4a004548,
  78. .cm1_abe_mcbsp2_clkctrl = 0x4a004550,
  79. .cm1_abe_mcbsp3_clkctrl = 0x4a004558,
  80. .cm1_abe_slimbus_clkctrl = 0x4a004560,
  81. .cm1_abe_timer5_clkctrl = 0x4a004568,
  82. .cm1_abe_timer6_clkctrl = 0x4a004570,
  83. .cm1_abe_timer7_clkctrl = 0x4a004578,
  84. .cm1_abe_timer8_clkctrl = 0x4a004580,
  85. .cm1_abe_wdt3_clkctrl = 0x4a004588,
  86. /* cm2.ckgen */
  87. .cm_clksel_mpu_m3_iss_root = 0x4a008100,
  88. .cm_clksel_usb_60mhz = 0x4a008104,
  89. .cm_scale_fclk = 0x4a008108,
  90. .cm_core_dvfs_perf1 = 0x4a008110,
  91. .cm_core_dvfs_perf2 = 0x4a008114,
  92. .cm_core_dvfs_perf3 = 0x4a008118,
  93. .cm_core_dvfs_perf4 = 0x4a00811c,
  94. .cm_core_dvfs_current = 0x4a008124,
  95. .cm_iva_dvfs_perf_tesla = 0x4a008128,
  96. .cm_iva_dvfs_perf_ivahd = 0x4a00812c,
  97. .cm_iva_dvfs_perf_abe = 0x4a008130,
  98. .cm_iva_dvfs_current = 0x4a008138,
  99. .cm_clkmode_dpll_per = 0x4a008140,
  100. .cm_idlest_dpll_per = 0x4a008144,
  101. .cm_autoidle_dpll_per = 0x4a008148,
  102. .cm_clksel_dpll_per = 0x4a00814c,
  103. .cm_div_m2_dpll_per = 0x4a008150,
  104. .cm_div_m3_dpll_per = 0x4a008154,
  105. .cm_div_m4_dpll_per = 0x4a008158,
  106. .cm_div_m5_dpll_per = 0x4a00815c,
  107. .cm_div_m6_dpll_per = 0x4a008160,
  108. .cm_div_m7_dpll_per = 0x4a008164,
  109. .cm_ssc_deltamstep_dpll_per = 0x4a008168,
  110. .cm_ssc_modfreqdiv_dpll_per = 0x4a00816c,
  111. .cm_emu_override_dpll_per = 0x4a008170,
  112. .cm_clkmode_dpll_usb = 0x4a008180,
  113. .cm_idlest_dpll_usb = 0x4a008184,
  114. .cm_autoidle_dpll_usb = 0x4a008188,
  115. .cm_clksel_dpll_usb = 0x4a00818c,
  116. .cm_div_m2_dpll_usb = 0x4a008190,
  117. .cm_ssc_deltamstep_dpll_usb = 0x4a0081a8,
  118. .cm_ssc_modfreqdiv_dpll_usb = 0x4a0081ac,
  119. .cm_clkdcoldo_dpll_usb = 0x4a0081b4,
  120. .cm_clkmode_dpll_unipro = 0x4a0081c0,
  121. .cm_idlest_dpll_unipro = 0x4a0081c4,
  122. .cm_autoidle_dpll_unipro = 0x4a0081c8,
  123. .cm_clksel_dpll_unipro = 0x4a0081cc,
  124. .cm_div_m2_dpll_unipro = 0x4a0081d0,
  125. .cm_ssc_deltamstep_dpll_unipro = 0x4a0081e8,
  126. .cm_ssc_modfreqdiv_dpll_unipro = 0x4a0081ec,
  127. .cm_coreaon_usb_phy1_core_clkctrl = 0x4a008640,
  128. /* cm2.core */
  129. .cm_l3_1_clkstctrl = 0x4a008700,
  130. .cm_l3_1_dynamicdep = 0x4a008708,
  131. .cm_l3_1_l3_1_clkctrl = 0x4a008720,
  132. .cm_l3_2_clkstctrl = 0x4a008800,
  133. .cm_l3_2_dynamicdep = 0x4a008808,
  134. .cm_l3_2_l3_2_clkctrl = 0x4a008820,
  135. .cm_l3_gpmc_clkctrl = 0x4a008828,
  136. .cm_l3_2_ocmc_ram_clkctrl = 0x4a008830,
  137. .cm_mpu_m3_clkstctrl = 0x4a008900,
  138. .cm_mpu_m3_staticdep = 0x4a008904,
  139. .cm_mpu_m3_dynamicdep = 0x4a008908,
  140. .cm_mpu_m3_mpu_m3_clkctrl = 0x4a008920,
  141. .cm_sdma_clkstctrl = 0x4a008a00,
  142. .cm_sdma_staticdep = 0x4a008a04,
  143. .cm_sdma_dynamicdep = 0x4a008a08,
  144. .cm_sdma_sdma_clkctrl = 0x4a008a20,
  145. .cm_memif_clkstctrl = 0x4a008b00,
  146. .cm_memif_dmm_clkctrl = 0x4a008b20,
  147. .cm_memif_emif_fw_clkctrl = 0x4a008b28,
  148. .cm_memif_emif_1_clkctrl = 0x4a008b30,
  149. .cm_memif_emif_2_clkctrl = 0x4a008b38,
  150. .cm_memif_dll_clkctrl = 0x4a008b40,
  151. .cm_memif_emif_h1_clkctrl = 0x4a008b50,
  152. .cm_memif_emif_h2_clkctrl = 0x4a008b58,
  153. .cm_memif_dll_h_clkctrl = 0x4a008b60,
  154. .cm_c2c_clkstctrl = 0x4a008c00,
  155. .cm_c2c_staticdep = 0x4a008c04,
  156. .cm_c2c_dynamicdep = 0x4a008c08,
  157. .cm_c2c_sad2d_clkctrl = 0x4a008c20,
  158. .cm_c2c_modem_icr_clkctrl = 0x4a008c28,
  159. .cm_c2c_sad2d_fw_clkctrl = 0x4a008c30,
  160. .cm_l4cfg_clkstctrl = 0x4a008d00,
  161. .cm_l4cfg_dynamicdep = 0x4a008d08,
  162. .cm_l4cfg_l4_cfg_clkctrl = 0x4a008d20,
  163. .cm_l4cfg_hw_sem_clkctrl = 0x4a008d28,
  164. .cm_l4cfg_mailbox_clkctrl = 0x4a008d30,
  165. .cm_l4cfg_sar_rom_clkctrl = 0x4a008d38,
  166. .cm_l3instr_clkstctrl = 0x4a008e00,
  167. .cm_l3instr_l3_3_clkctrl = 0x4a008e20,
  168. .cm_l3instr_l3_instr_clkctrl = 0x4a008e28,
  169. .cm_l3instr_intrconn_wp1_clkct = 0x4a008e40,
  170. .cm_ivahd_clkstctrl = 0x4a008f00,
  171. /* cm2.ivahd */
  172. .cm_ivahd_ivahd_clkctrl = 0x4a008f20,
  173. .cm_ivahd_sl2_clkctrl = 0x4a008f28,
  174. /* cm2.cam */
  175. .cm_cam_clkstctrl = 0x4a009000,
  176. .cm_cam_iss_clkctrl = 0x4a009020,
  177. .cm_cam_fdif_clkctrl = 0x4a009028,
  178. /* cm2.dss */
  179. .cm_dss_clkstctrl = 0x4a009100,
  180. .cm_dss_dss_clkctrl = 0x4a009120,
  181. /* cm2.sgx */
  182. .cm_sgx_clkstctrl = 0x4a009200,
  183. .cm_sgx_sgx_clkctrl = 0x4a009220,
  184. /* cm2.l3init */
  185. .cm_l3init_clkstctrl = 0x4a009300,
  186. .cm_l3init_hsmmc1_clkctrl = 0x4a009328,
  187. .cm_l3init_hsmmc2_clkctrl = 0x4a009330,
  188. .cm_l3init_hsi_clkctrl = 0x4a009338,
  189. .cm_l3init_hsusbhost_clkctrl = 0x4a009358,
  190. .cm_l3init_hsusbotg_clkctrl = 0x4a009360,
  191. .cm_l3init_hsusbtll_clkctrl = 0x4a009368,
  192. .cm_l3init_p1500_clkctrl = 0x4a009378,
  193. .cm_l3init_fsusb_clkctrl = 0x4a0093d0,
  194. .cm_l3init_usbphy_clkctrl = 0x4a0093e0,
  195. /* cm2.l4per */
  196. .cm_l4per_clkstctrl = 0x4a009400,
  197. .cm_l4per_dynamicdep = 0x4a009408,
  198. .cm_l4per_adc_clkctrl = 0x4a009420,
  199. .cm_l4per_gptimer10_clkctrl = 0x4a009428,
  200. .cm_l4per_gptimer11_clkctrl = 0x4a009430,
  201. .cm_l4per_gptimer2_clkctrl = 0x4a009438,
  202. .cm_l4per_gptimer3_clkctrl = 0x4a009440,
  203. .cm_l4per_gptimer4_clkctrl = 0x4a009448,
  204. .cm_l4per_gptimer9_clkctrl = 0x4a009450,
  205. .cm_l4per_elm_clkctrl = 0x4a009458,
  206. .cm_l4per_gpio2_clkctrl = 0x4a009460,
  207. .cm_l4per_gpio3_clkctrl = 0x4a009468,
  208. .cm_l4per_gpio4_clkctrl = 0x4a009470,
  209. .cm_l4per_gpio5_clkctrl = 0x4a009478,
  210. .cm_l4per_gpio6_clkctrl = 0x4a009480,
  211. .cm_l4per_hdq1w_clkctrl = 0x4a009488,
  212. .cm_l4per_hecc1_clkctrl = 0x4a009490,
  213. .cm_l4per_hecc2_clkctrl = 0x4a009498,
  214. .cm_l4per_i2c1_clkctrl = 0x4a0094a0,
  215. .cm_l4per_i2c2_clkctrl = 0x4a0094a8,
  216. .cm_l4per_i2c3_clkctrl = 0x4a0094b0,
  217. .cm_l4per_i2c4_clkctrl = 0x4a0094b8,
  218. .cm_l4per_l4per_clkctrl = 0x4a0094c0,
  219. .cm_l4per_mcasp2_clkctrl = 0x4a0094d0,
  220. .cm_l4per_mcasp3_clkctrl = 0x4a0094d8,
  221. .cm_l4per_mcbsp4_clkctrl = 0x4a0094e0,
  222. .cm_l4per_mgate_clkctrl = 0x4a0094e8,
  223. .cm_l4per_mcspi1_clkctrl = 0x4a0094f0,
  224. .cm_l4per_mcspi2_clkctrl = 0x4a0094f8,
  225. .cm_l4per_mcspi3_clkctrl = 0x4a009500,
  226. .cm_l4per_mcspi4_clkctrl = 0x4a009508,
  227. .cm_l4per_mmcsd3_clkctrl = 0x4a009520,
  228. .cm_l4per_mmcsd4_clkctrl = 0x4a009528,
  229. .cm_l4per_msprohg_clkctrl = 0x4a009530,
  230. .cm_l4per_slimbus2_clkctrl = 0x4a009538,
  231. .cm_l4per_uart1_clkctrl = 0x4a009540,
  232. .cm_l4per_uart2_clkctrl = 0x4a009548,
  233. .cm_l4per_uart3_clkctrl = 0x4a009550,
  234. .cm_l4per_uart4_clkctrl = 0x4a009558,
  235. .cm_l4per_mmcsd5_clkctrl = 0x4a009560,
  236. .cm_l4per_i2c5_clkctrl = 0x4a009568,
  237. .cm_l4sec_clkstctrl = 0x4a009580,
  238. .cm_l4sec_staticdep = 0x4a009584,
  239. .cm_l4sec_dynamicdep = 0x4a009588,
  240. .cm_l4sec_aes1_clkctrl = 0x4a0095a0,
  241. .cm_l4sec_aes2_clkctrl = 0x4a0095a8,
  242. .cm_l4sec_des3des_clkctrl = 0x4a0095b0,
  243. .cm_l4sec_pkaeip29_clkctrl = 0x4a0095b8,
  244. .cm_l4sec_rng_clkctrl = 0x4a0095c0,
  245. .cm_l4sec_sha2md51_clkctrl = 0x4a0095c8,
  246. .cm_l4sec_cryptodma_clkctrl = 0x4a0095d8,
  247. /* l4 wkup regs */
  248. .cm_abe_pll_ref_clksel = 0x4a30610c,
  249. .cm_sys_clksel = 0x4a306110,
  250. .cm_wkup_clkstctrl = 0x4a307800,
  251. .cm_wkup_l4wkup_clkctrl = 0x4a307820,
  252. .cm_wkup_wdtimer1_clkctrl = 0x4a307828,
  253. .cm_wkup_wdtimer2_clkctrl = 0x4a307830,
  254. .cm_wkup_gpio1_clkctrl = 0x4a307838,
  255. .cm_wkup_gptimer1_clkctrl = 0x4a307840,
  256. .cm_wkup_gptimer12_clkctrl = 0x4a307848,
  257. .cm_wkup_synctimer_clkctrl = 0x4a307850,
  258. .cm_wkup_usim_clkctrl = 0x4a307858,
  259. .cm_wkup_sarram_clkctrl = 0x4a307860,
  260. .cm_wkup_keyboard_clkctrl = 0x4a307878,
  261. .cm_wkup_rtc_clkctrl = 0x4a307880,
  262. .cm_wkup_bandgap_clkctrl = 0x4a307888,
  263. .prm_vc_val_bypass = 0x4a307ba0,
  264. .prm_vc_cfg_channel = 0x4a307ba4,
  265. .prm_vc_cfg_i2c_mode = 0x4a307ba8,
  266. .prm_vc_cfg_i2c_clk = 0x4a307bac,
  267. };
  268. struct omap_sys_ctrl_regs const omap4_ctrl = {
  269. .control_status = 0x4A0022C4,
  270. .control_std_fuse_die_id_0 = 0x4A002200,
  271. .control_std_fuse_die_id_1 = 0x4A002208,
  272. .control_std_fuse_die_id_2 = 0x4A00220C,
  273. .control_std_fuse_die_id_3 = 0x4A002210,
  274. .control_std_fuse_opp_bgap = 0x4a002260,
  275. .control_status = 0x4a0022c4,
  276. .control_ldosram_iva_voltage_ctrl = 0x4A002320,
  277. .control_ldosram_mpu_voltage_ctrl = 0x4A002324,
  278. .control_ldosram_core_voltage_ctrl = 0x4A002328,
  279. .control_usbotghs_ctrl = 0x4A00233C,
  280. .control_padconf_core_base = 0x4A100000,
  281. .control_pbiaslite = 0x4A100600,
  282. .control_lpddr2io1_0 = 0x4A100638,
  283. .control_lpddr2io1_1 = 0x4A10063C,
  284. .control_lpddr2io1_2 = 0x4A100640,
  285. .control_lpddr2io1_3 = 0x4A100644,
  286. .control_lpddr2io2_0 = 0x4A100648,
  287. .control_lpddr2io2_1 = 0x4A10064C,
  288. .control_lpddr2io2_2 = 0x4A100650,
  289. .control_lpddr2io2_3 = 0x4A100654,
  290. .control_efuse_1 = 0x4A100700,
  291. .control_efuse_2 = 0x4A100704,
  292. .control_padconf_wkup_base = 0x4A31E000,
  293. };