spm_reg.h 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. /*
  2. * Copyright (c) 2022, Mediatek Inc. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef SPM_REG_H
  7. #define SPM_REG_H
  8. #include <platform_def.h>
  9. /* Register_SPM_CFG */
  10. #define MD32PCM_CFG_BASE (SPM_BASE + 0xA00)
  11. #define POWERON_CONFIG_EN (SPM_BASE + 0x000)
  12. #define SPM_POWER_ON_VAL0 (SPM_BASE + 0x004)
  13. #define SPM_POWER_ON_VAL1 (SPM_BASE + 0x008)
  14. #define SPM_CLK_CON (SPM_BASE + 0x00C)
  15. #define SPM_CLK_SETTLE (SPM_BASE + 0x010)
  16. #define SPM_AP_STANDBY_CON (SPM_BASE + 0x014)
  17. #define PCM_CON0 (SPM_BASE + 0x018)
  18. #define PCM_CON1 (SPM_BASE + 0x01C)
  19. #define SPM_POWER_ON_VAL2 (SPM_BASE + 0x020)
  20. #define SPM_POWER_ON_VAL3 (SPM_BASE + 0x024)
  21. #define PCM_REG_DATA_INI (SPM_BASE + 0x028)
  22. #define PCM_PWR_IO_EN (SPM_BASE + 0x02C)
  23. #define PCM_TIMER_VAL (SPM_BASE + 0x030)
  24. #define PCM_WDT_VAL (SPM_BASE + 0x034)
  25. #define SPM_SW_RST_CON (SPM_BASE + 0x040)
  26. #define SPM_SW_RST_CON_SET (SPM_BASE + 0x044)
  27. #define SPM_SW_RST_CON_CLR (SPM_BASE + 0x048)
  28. #define SPM_ARBITER_EN (SPM_BASE + 0x050)
  29. #define SCPSYS_CLK_CON (SPM_BASE + 0x054)
  30. #define SPM_SRAM_RSV_CON (SPM_BASE + 0x058)
  31. #define SPM_SWINT (SPM_BASE + 0x05C)
  32. #define SPM_SWINT_SET (SPM_BASE + 0x060)
  33. #define SPM_SWINT_CLR (SPM_BASE + 0x064)
  34. #define SPM_SCP_MAILBOX (SPM_BASE + 0x068)
  35. #define SCP_SPM_MAILBOX (SPM_BASE + 0x06C)
  36. #define SPM_SCP_IRQ (SPM_BASE + 0x070)
  37. #define SPM_CPU_WAKEUP_EVENT (SPM_BASE + 0x074)
  38. #define SPM_IRQ_MASK (SPM_BASE + 0x078)
  39. #define SPM_SRC_REQ (SPM_BASE + 0x080)
  40. #define SPM_SRC_MASK (SPM_BASE + 0x084)
  41. #define SPM_SRC2_MASK (SPM_BASE + 0x088)
  42. #define SPM_SRC3_MASK (SPM_BASE + 0x090)
  43. #define SPM_SRC4_MASK (SPM_BASE + 0x094)
  44. #define SPM_WAKEUP_EVENT_MASK2 (SPM_BASE + 0x098)
  45. #define SPM_WAKEUP_EVENT_MASK (SPM_BASE + 0x09C)
  46. #define SPM_WAKEUP_EVENT_SENS (SPM_BASE + 0x0A0)
  47. #define SPM_WAKEUP_EVENT_CLEAR (SPM_BASE + 0x0A4)
  48. #define SPM_WAKEUP_EVENT_EXT_MASK (SPM_BASE + 0x0A8)
  49. #define SCP_CLK_CON (SPM_BASE + 0x0AC)
  50. #define PCM_DEBUG_CON (SPM_BASE + 0x0B0)
  51. #define DDREN_DBC_CON (SPM_BASE + 0x0B4)
  52. #define SPM_RESOURCE_ACK_CON0 (SPM_BASE + 0x0B8)
  53. #define SPM_RESOURCE_ACK_CON1 (SPM_BASE + 0x0BC)
  54. #define SPM_RESOURCE_ACK_CON2 (SPM_BASE + 0x0C0)
  55. #define SPM_RESOURCE_ACK_CON3 (SPM_BASE + 0x0C4)
  56. #define SPM_RESOURCE_ACK_CON4 (SPM_BASE + 0x0C8)
  57. #define SPM_SRAM_CON (SPM_BASE + 0x0CC)
  58. #define PCM_REG0_DATA (SPM_BASE + 0x100)
  59. #define PCM_REG2_DATA (SPM_BASE + 0x104)
  60. #define PCM_REG6_DATA (SPM_BASE + 0x108)
  61. #define PCM_REG7_DATA (SPM_BASE + 0x10C)
  62. #define PCM_REG13_DATA (SPM_BASE + 0x110)
  63. #define SRC_REQ_STA_0 (SPM_BASE + 0x114)
  64. #define SRC_REQ_STA_1 (SPM_BASE + 0x118)
  65. #define SRC_REQ_STA_2 (SPM_BASE + 0x120)
  66. #define SRC_REQ_STA_3 (SPM_BASE + 0x124)
  67. #define SRC_REQ_STA_4 (SPM_BASE + 0x128)
  68. #define PCM_TIMER_OUT (SPM_BASE + 0x130)
  69. #define PCM_WDT_OUT (SPM_BASE + 0x134)
  70. #define SPM_IRQ_STA (SPM_BASE + 0x138)
  71. #define MD32PCM_WAKEUP_STA (SPM_BASE + 0x13C)
  72. #define MD32PCM_EVENT_STA (SPM_BASE + 0x140)
  73. #define SPM_WAKEUP_STA (SPM_BASE + 0x144)
  74. #define SPM_WAKEUP_EXT_STA (SPM_BASE + 0x148)
  75. #define SPM_WAKEUP_MISC (SPM_BASE + 0x14C)
  76. #define MM_DVFS_HALT (SPM_BASE + 0x150)
  77. #define SUBSYS_IDLE_STA (SPM_BASE + 0x164)
  78. #define PCM_STA (SPM_BASE + 0x168)
  79. #define PWR_STATUS (SPM_BASE + 0x16C)
  80. #define PWR_STATUS_2ND (SPM_BASE + 0x170)
  81. #define CPU_PWR_STATUS (SPM_BASE + 0x174)
  82. #define CPU_PWR_STATUS_2ND (SPM_BASE + 0x178)
  83. #define SPM_VTCXO_EVENT_COUNT_STA (SPM_BASE + 0x17C)
  84. #define SPM_INFRA_EVENT_COUNT_STA (SPM_BASE + 0x180)
  85. #define SPM_VRF18_EVENT_COUNT_STA (SPM_BASE + 0x184)
  86. #define SPM_APSRC_EVENT_COUNT_STA (SPM_BASE + 0x188)
  87. #define SPM_DDREN_EVENT_COUNT_STA (SPM_BASE + 0x18C)
  88. #define MD32PCM_STA (SPM_BASE + 0x190)
  89. #define MD32PCM_PC (SPM_BASE + 0x194)
  90. #define OTHER_PWR_STATUS (SPM_BASE + 0x198)
  91. #define DVFSRC_EVENT_STA (SPM_BASE + 0x19C)
  92. #define BUS_PROTECT_RDY (SPM_BASE + 0x1A0)
  93. #define BUS_PROTECT1_RDY (SPM_BASE + 0x1A4)
  94. #define BUS_PROTECT2_RDY (SPM_BASE + 0x1A8)
  95. #define BUS_PROTECT3_RDY (SPM_BASE + 0x1AC)
  96. #define BUS_PROTECT4_RDY (SPM_BASE + 0x1B0)
  97. #define BUS_PROTECT5_RDY (SPM_BASE + 0x1B4)
  98. #define BUS_PROTECT6_RDY (SPM_BASE + 0x1B8)
  99. #define BUS_PROTECT7_RDY (SPM_BASE + 0x1BC)
  100. #define BUS_PROTECT8_RDY (SPM_BASE + 0x1C0)
  101. #define BUS_PROTECT9_RDY (SPM_BASE + 0x1C4)
  102. #define SPM_TWAM_LAST_STA0 (SPM_BASE + 0x1D0)
  103. #define SPM_TWAM_LAST_STA1 (SPM_BASE + 0x1D4)
  104. #define SPM_TWAM_LAST_STA2 (SPM_BASE + 0x1D8)
  105. #define SPM_TWAM_LAST_STA3 (SPM_BASE + 0x1DC)
  106. #define SPM_TWAM_CURR_STA0 (SPM_BASE + 0x1E0)
  107. #define SPM_TWAM_CURR_STA1 (SPM_BASE + 0x1E4)
  108. #define SPM_TWAM_CURR_STA2 (SPM_BASE + 0x1E8)
  109. #define SPM_TWAM_CURR_STA3 (SPM_BASE + 0x1EC)
  110. #define SPM_TWAM_TIMER_OUT (SPM_BASE + 0x1F0)
  111. #define SPM_CG_CHECK_STA (SPM_BASE + 0x1F4)
  112. #define SPM_DVFS_STA (SPM_BASE + 0x1F8)
  113. #define SPM_DVFS_OPP_STA (SPM_BASE + 0x1FC)
  114. #define CPUEB_PWR_CON (SPM_BASE + 0x200)
  115. #define SPM_MCUSYS_PWR_CON (SPM_BASE + 0x204)
  116. #define SPM_CPUTOP_PWR_CON (SPM_BASE + 0x208)
  117. #define SPM_CPU0_PWR_CON (SPM_BASE + 0x20C)
  118. #define SPM_CPU1_PWR_CON (SPM_BASE + 0x210)
  119. #define SPM_CPU2_PWR_CON (SPM_BASE + 0x214)
  120. #define SPM_CPU3_PWR_CON (SPM_BASE + 0x218)
  121. #define SPM_CPU4_PWR_CON (SPM_BASE + 0x21C)
  122. #define SPM_CPU5_PWR_CON (SPM_BASE + 0x220)
  123. #define SPM_CPU6_PWR_CON (SPM_BASE + 0x224)
  124. #define SPM_CPU7_PWR_CON (SPM_BASE + 0x228)
  125. #define ARMPLL_CLK_CON (SPM_BASE + 0x22C)
  126. #define MCUSYS_IDLE_STA (SPM_BASE + 0x230)
  127. #define GIC_WAKEUP_STA (SPM_BASE + 0x234)
  128. #define CPU_SPARE_CON (SPM_BASE + 0x238)
  129. #define CPU_SPARE_CON_SET (SPM_BASE + 0x23C)
  130. #define CPU_SPARE_CON_CLR (SPM_BASE + 0x240)
  131. #define ARMPLL_CLK_SEL (SPM_BASE + 0x244)
  132. #define EXT_INT_WAKEUP_REQ (SPM_BASE + 0x248)
  133. #define EXT_INT_WAKEUP_REQ_SET (SPM_BASE + 0x24C)
  134. #define EXT_INT_WAKEUP_REQ_CLR (SPM_BASE + 0x250)
  135. #define CPU_IRQ_MASK (SPM_BASE + 0x260)
  136. #define CPU_IRQ_MASK_SET (SPM_BASE + 0x264)
  137. #define CPU_IRQ_MASK_CLR (SPM_BASE + 0x268)
  138. #define CPU_WFI_EN (SPM_BASE + 0x280)
  139. #define CPU_WFI_EN_SET (SPM_BASE + 0x284)
  140. #define CPU_WFI_EN_CLR (SPM_BASE + 0x288)
  141. #define SYSRAM_CON (SPM_BASE + 0x290)
  142. #define SYSROM_CON (SPM_BASE + 0x294)
  143. #define ROOT_CPUTOP_ADDR (SPM_BASE + 0x2A0)
  144. #define ROOT_CORE_ADDR (SPM_BASE + 0x2A4)
  145. #define SPM2SW_MAILBOX_0 (SPM_BASE + 0x2D0)
  146. #define SPM2SW_MAILBOX_1 (SPM_BASE + 0x2D4)
  147. #define SPM2SW_MAILBOX_2 (SPM_BASE + 0x2D8)
  148. #define SPM2SW_MAILBOX_3 (SPM_BASE + 0x2DC)
  149. #define SW2SPM_INT (SPM_BASE + 0x2E0)
  150. #define SW2SPM_INT_SET (SPM_BASE + 0x2E4)
  151. #define SW2SPM_INT_CLR (SPM_BASE + 0x2E8)
  152. #define SW2SPM_MAILBOX_0 (SPM_BASE + 0x2EC)
  153. #define SW2SPM_MAILBOX_1 (SPM_BASE + 0x2F0)
  154. #define SW2SPM_MAILBOX_2 (SPM_BASE + 0x2F4)
  155. #define SW2SPM_MAILBOX_3 (SPM_BASE + 0x2F8)
  156. #define SW2SPM_CFG (SPM_BASE + 0x2FC)
  157. #define MFG0_PWR_CON (SPM_BASE + 0x300)
  158. #define MFG1_PWR_CON (SPM_BASE + 0x304)
  159. #define MFG2_PWR_CON (SPM_BASE + 0x308)
  160. #define MFG3_PWR_CON (SPM_BASE + 0x30C)
  161. #define MFG4_PWR_CON (SPM_BASE + 0x310)
  162. #define MFG5_PWR_CON (SPM_BASE + 0x314)
  163. #define IFR_PWR_CON (SPM_BASE + 0x318)
  164. #define IFR_SUB_PWR_CON (SPM_BASE + 0x31C)
  165. #define PERI_PWR_CON (SPM_BASE + 0x320)
  166. #define PEXTP_MAC_TOP_P0_PWR_CON (SPM_BASE + 0x324)
  167. #define PEXTP_PHY_TOP_PWR_CON (SPM_BASE + 0x328)
  168. #define APHY_N_PWR_CON (SPM_BASE + 0x32C)
  169. #define APHY_S_PWR_CON (SPM_BASE + 0x330)
  170. #define ETHER_PWR_CON (SPM_BASE + 0x338)
  171. #define DPY0_PWR_CON (SPM_BASE + 0x33C)
  172. #define DPY1_PWR_CON (SPM_BASE + 0x340)
  173. #define DPM0_PWR_CON (SPM_BASE + 0x344)
  174. #define DPM1_PWR_CON (SPM_BASE + 0x348)
  175. #define AUDIO_PWR_CON (SPM_BASE + 0x34C)
  176. #define AUDIO_ASRC_PWR_CON (SPM_BASE + 0x350)
  177. #define ADSP_PWR_CON (SPM_BASE + 0x354)
  178. #define ADSP_INFRA_PWR_CON (SPM_BASE + 0x358)
  179. #define ADSP_AO_PWR_CON (SPM_BASE + 0x35C)
  180. #define VPPSYS0_PWR_CON (SPM_BASE + 0x360)
  181. #define VPPSYS1_PWR_CON (SPM_BASE + 0x364)
  182. #define VDOSYS0_PWR_CON (SPM_BASE + 0x368)
  183. #define VDOSYS1_PWR_CON (SPM_BASE + 0x36C)
  184. #define WPESYS_PWR_CON (SPM_BASE + 0x370)
  185. #define DP_TX_PWR_CON (SPM_BASE + 0x374)
  186. #define EDP_TX_PWR_CON (SPM_BASE + 0x378)
  187. #define HDMI_TX_PWR_CON (SPM_BASE + 0x37C)
  188. #define VDE0_PWR_CON (SPM_BASE + 0x380)
  189. #define VDE1_PWR_CON (SPM_BASE + 0x384)
  190. #define VDE2_PWR_CON (SPM_BASE + 0x388)
  191. #define VEN_PWR_CON (SPM_BASE + 0x38C)
  192. #define VEN_CORE1_PWR_CON (SPM_BASE + 0x390)
  193. #define CAM_MAIN_PWR_CON (SPM_BASE + 0x394)
  194. #define CAM_SUBA_PWR_CON (SPM_BASE + 0x398)
  195. #define CAM_SUBB_PWR_CON (SPM_BASE + 0x39C)
  196. #define CAM_VCORE_PWR_CON (SPM_BASE + 0x3A0)
  197. #define IMG_VCORE_PWR_CON (SPM_BASE + 0x3A4)
  198. #define IMG_MAIN_PWR_CON (SPM_BASE + 0x3A8)
  199. #define IMG_DIP_PWR_CON (SPM_BASE + 0x3AC)
  200. #define IMG_IPE_PWR_CON (SPM_BASE + 0x3B0)
  201. #define NNA0_PWR_CON (SPM_BASE + 0x3B4)
  202. #define NNA1_PWR_CON (SPM_BASE + 0x3B8)
  203. #define IPNNA_PWR_CON (SPM_BASE + 0x3C0)
  204. #define CSI_RX_TOP_PWR_CON (SPM_BASE + 0x3C4)
  205. #define SSPM_SRAM_CON (SPM_BASE + 0x3CC)
  206. #define SCP_SRAM_CON (SPM_BASE + 0x3D0)
  207. #define DEVAPC_IFR_SRAM_CON (SPM_BASE + 0x3D8)
  208. #define DEVAPC_SUBIFR_SRAM_CON (SPM_BASE + 0x3DC)
  209. #define DEVAPC_ACP_SRAM_CON (SPM_BASE + 0x3E0)
  210. #define USB_SRAM_CON (SPM_BASE + 0x3E4)
  211. #define DUMMY_SRAM_CON (SPM_BASE + 0x3E8)
  212. #define EXT_BUCK_ISO (SPM_BASE + 0x3EC)
  213. #define MSDC_SRAM_CON (SPM_BASE + 0x3F0)
  214. #define DEBUGTOP_SRAM_CON (SPM_BASE + 0x3F4)
  215. #define DPMAIF_SRAM_CON (SPM_BASE + 0x3F8)
  216. #define GCPU_SRAM_CON (SPM_BASE + 0x3FC)
  217. #define SPM_MEM_CK_SEL (SPM_BASE + 0x400)
  218. #define SPM_BUS_PROTECT_MASK_B (SPM_BASE + 0x404)
  219. #define SPM_BUS_PROTECT1_MASK_B (SPM_BASE + 0x408)
  220. #define SPM_BUS_PROTECT2_MASK_B (SPM_BASE + 0x40C)
  221. #define SPM_BUS_PROTECT3_MASK_B (SPM_BASE + 0x410)
  222. #define SPM_BUS_PROTECT4_MASK_B (SPM_BASE + 0x414)
  223. #define SPM_BUS_PROTECT5_MASK_B (SPM_BASE + 0x418)
  224. #define SPM_BUS_PROTECT6_MASK_B (SPM_BASE + 0x41C)
  225. #define SPM_BUS_PROTECT7_MASK_B (SPM_BASE + 0x420)
  226. #define SPM_BUS_PROTECT8_MASK_B (SPM_BASE + 0x424)
  227. #define SPM_BUS_PROTECT9_MASK_B (SPM_BASE + 0x428)
  228. #define SPM_EMI_BW_MODE (SPM_BASE + 0x42C)
  229. #define SPM2MM_CON (SPM_BASE + 0x434)
  230. #define SPM2CPUEB_CON (SPM_BASE + 0x438)
  231. #define AP_MDSRC_REQ (SPM_BASE + 0x43C)
  232. #define SPM2EMI_ENTER_ULPM (SPM_BASE + 0x440)
  233. #define SPM_PLL_CON (SPM_BASE + 0x444)
  234. #define RC_SPM_CTRL (SPM_BASE + 0x448)
  235. #define SPM_DRAM_MCU_SW_CON_0 (SPM_BASE + 0x44C)
  236. #define SPM_DRAM_MCU_SW_CON_1 (SPM_BASE + 0x450)
  237. #define SPM_DRAM_MCU_SW_CON_2 (SPM_BASE + 0x454)
  238. #define SPM_DRAM_MCU_SW_CON_3 (SPM_BASE + 0x458)
  239. #define SPM_DRAM_MCU_SW_CON_4 (SPM_BASE + 0x45C)
  240. #define SPM_DRAM_MCU_STA_0 (SPM_BASE + 0x460)
  241. #define SPM_DRAM_MCU_STA_1 (SPM_BASE + 0x464)
  242. #define SPM_DRAM_MCU_STA_2 (SPM_BASE + 0x468)
  243. #define SPM_DRAM_MCU_SW_SEL_0 (SPM_BASE + 0x46C)
  244. #define RELAY_DVFS_LEVEL (SPM_BASE + 0x470)
  245. #define DRAMC_DPY_CLK_SW_CON_0 (SPM_BASE + 0x474)
  246. #define DRAMC_DPY_CLK_SW_CON_1 (SPM_BASE + 0x478)
  247. #define DRAMC_DPY_CLK_SW_CON_2 (SPM_BASE + 0x47C)
  248. #define DRAMC_DPY_CLK_SW_CON_3 (SPM_BASE + 0x480)
  249. #define DRAMC_DPY_CLK_SW_SEL_0 (SPM_BASE + 0x484)
  250. #define DRAMC_DPY_CLK_SW_SEL_1 (SPM_BASE + 0x488)
  251. #define DRAMC_DPY_CLK_SW_SEL_2 (SPM_BASE + 0x48C)
  252. #define DRAMC_DPY_CLK_SW_SEL_3 (SPM_BASE + 0x490)
  253. #define DRAMC_DPY_CLK_SPM_CON (SPM_BASE + 0x494)
  254. #define SPM_DVFS_LEVEL (SPM_BASE + 0x498)
  255. #define SPM_CIRQ_CON (SPM_BASE + 0x49C)
  256. #define SPM_DVFS_MISC (SPM_BASE + 0x4A0)
  257. #define RG_MODULE_SW_CG_0_MASK_REQ_0 (SPM_BASE + 0x4A4)
  258. #define RG_MODULE_SW_CG_0_MASK_REQ_1 (SPM_BASE + 0x4A8)
  259. #define RG_MODULE_SW_CG_0_MASK_REQ_2 (SPM_BASE + 0x4AC)
  260. #define RG_MODULE_SW_CG_1_MASK_REQ_0 (SPM_BASE + 0x4B0)
  261. #define RG_MODULE_SW_CG_1_MASK_REQ_1 (SPM_BASE + 0x4B4)
  262. #define RG_MODULE_SW_CG_1_MASK_REQ_2 (SPM_BASE + 0x4B8)
  263. #define RG_MODULE_SW_CG_2_MASK_REQ_0 (SPM_BASE + 0x4BC)
  264. #define RG_MODULE_SW_CG_2_MASK_REQ_1 (SPM_BASE + 0x4C0)
  265. #define RG_MODULE_SW_CG_2_MASK_REQ_2 (SPM_BASE + 0x4C4)
  266. #define RG_MODULE_SW_CG_3_MASK_REQ_0 (SPM_BASE + 0x4C8)
  267. #define RG_MODULE_SW_CG_3_MASK_REQ_1 (SPM_BASE + 0x4CC)
  268. #define RG_MODULE_SW_CG_3_MASK_REQ_2 (SPM_BASE + 0x4D0)
  269. #define PWR_STATUS_MASK_REQ_0 (SPM_BASE + 0x4D4)
  270. #define PWR_STATUS_MASK_REQ_1 (SPM_BASE + 0x4D8)
  271. #define PWR_STATUS_MASK_REQ_2 (SPM_BASE + 0x4DC)
  272. #define SPM_CG_CHECK_CON (SPM_BASE + 0x4E0)
  273. #define SPM_SRC_RDY_STA (SPM_BASE + 0x4E4)
  274. #define SPM_DVS_DFS_LEVEL (SPM_BASE + 0x4E8)
  275. #define SPM_FORCE_DVFS (SPM_BASE + 0x4EC)
  276. #define DRAMC_MCU_SRAM_CON (SPM_BASE + 0x4F0)
  277. #define DRAMC_MCU2_SRAM_CON (SPM_BASE + 0x4F4)
  278. #define DPY_SHU_SRAM_CON (SPM_BASE + 0x4F8)
  279. #define DPY_SHU2_SRAM_CON (SPM_BASE + 0x4FC)
  280. #define SPM_DPM_P2P_STA (SPM_BASE + 0x514)
  281. #define SPM_DPM_P2P_CON (SPM_BASE + 0x518)
  282. #define SPM_SW_FLAG_0 (SPM_BASE + 0x600)
  283. #define SPM_SW_DEBUG_0 (SPM_BASE + 0x604)
  284. #define SPM_SW_FLAG_1 (SPM_BASE + 0x608)
  285. #define SPM_SW_DEBUG_1 (SPM_BASE + 0x60C)
  286. #define SPM_SW_RSV_0 (SPM_BASE + 0x610)
  287. #define SPM_SW_RSV_1 (SPM_BASE + 0x614)
  288. #define SPM_SW_RSV_2 (SPM_BASE + 0x618)
  289. #define SPM_SW_RSV_3 (SPM_BASE + 0x61C)
  290. #define SPM_SW_RSV_4 (SPM_BASE + 0x620)
  291. #define SPM_SW_RSV_5 (SPM_BASE + 0x624)
  292. #define SPM_SW_RSV_6 (SPM_BASE + 0x628)
  293. #define SPM_SW_RSV_7 (SPM_BASE + 0x62C)
  294. #define SPM_SW_RSV_8 (SPM_BASE + 0x630)
  295. #define SPM_BK_WAKE_EVENT (SPM_BASE + 0x634)
  296. #define SPM_BK_VTCXO_DUR (SPM_BASE + 0x638)
  297. #define SPM_BK_WAKE_MISC (SPM_BASE + 0x63C)
  298. #define SPM_BK_PCM_TIMER (SPM_BASE + 0x640)
  299. #define ULPOSC_CON (SPM_BASE + 0x644)
  300. #define SPM_RSV_CON_0 (SPM_BASE + 0x650)
  301. #define SPM_RSV_CON_1 (SPM_BASE + 0x654)
  302. #define SPM_RSV_STA_0 (SPM_BASE + 0x658)
  303. #define SPM_RSV_STA_1 (SPM_BASE + 0x65C)
  304. #define SPM_SPARE_CON (SPM_BASE + 0x660)
  305. #define SPM_SPARE_CON_SET (SPM_BASE + 0x664)
  306. #define SPM_SPARE_CON_CLR (SPM_BASE + 0x668)
  307. #define SPM_CROSS_WAKE_M00_REQ (SPM_BASE + 0x66C)
  308. #define SPM_CROSS_WAKE_M01_REQ (SPM_BASE + 0x670)
  309. #define SPM_CROSS_WAKE_M02_REQ (SPM_BASE + 0x674)
  310. #define SPM_CROSS_WAKE_M03_REQ (SPM_BASE + 0x678)
  311. #define SCP_VCORE_LEVEL (SPM_BASE + 0x67C)
  312. #define SC_MM_CK_SEL_CON (SPM_BASE + 0x680)
  313. #define SPARE_ACK_MASK (SPM_BASE + 0x684)
  314. #define SPM_DV_CON_0 (SPM_BASE + 0x68C)
  315. #define SPM_DV_CON_1 (SPM_BASE + 0x690)
  316. #define SPM_DV_STA (SPM_BASE + 0x694)
  317. #define CONN_XOWCN_DEBUG_EN (SPM_BASE + 0x698)
  318. #define SPM_SEMA_M0 (SPM_BASE + 0x69C)
  319. #define SPM_SEMA_M1 (SPM_BASE + 0x6A0)
  320. #define SPM_SEMA_M2 (SPM_BASE + 0x6A4)
  321. #define SPM_SEMA_M3 (SPM_BASE + 0x6A8)
  322. #define SPM_SEMA_M4 (SPM_BASE + 0x6AC)
  323. #define SPM_SEMA_M5 (SPM_BASE + 0x6B0)
  324. #define SPM_SEMA_M6 (SPM_BASE + 0x6B4)
  325. #define SPM_SEMA_M7 (SPM_BASE + 0x6B8)
  326. #define SPM2ADSP_MAILBOX (SPM_BASE + 0x6BC)
  327. #define ADSP2SPM_MAILBOX (SPM_BASE + 0x6C0)
  328. #define SPM_ADSP_IRQ (SPM_BASE + 0x6C4)
  329. #define SPM_MD32_IRQ (SPM_BASE + 0x6C8)
  330. #define SPM2PMCU_MAILBOX_0 (SPM_BASE + 0x6CC)
  331. #define SPM2PMCU_MAILBOX_1 (SPM_BASE + 0x6D0)
  332. #define SPM2PMCU_MAILBOX_2 (SPM_BASE + 0x6D4)
  333. #define SPM2PMCU_MAILBOX_3 (SPM_BASE + 0x6D8)
  334. #define PMCU2SPM_MAILBOX_0 (SPM_BASE + 0x6DC)
  335. #define PMCU2SPM_MAILBOX_1 (SPM_BASE + 0x6E0)
  336. #define PMCU2SPM_MAILBOX_2 (SPM_BASE + 0x6E4)
  337. #define PMCU2SPM_MAILBOX_3 (SPM_BASE + 0x6E8)
  338. #define SPM_AP_SEMA (SPM_BASE + 0x6F8)
  339. #define SPM_SPM_SEMA (SPM_BASE + 0x6FC)
  340. #define SPM_DVFS_CON (SPM_BASE + 0x700)
  341. #define SPM_DVFS_CON_STA (SPM_BASE + 0x704)
  342. #define SPM_PMIC_SPMI_CON (SPM_BASE + 0x708)
  343. #define SPM_DVFS_CMD0 (SPM_BASE + 0x710)
  344. #define SPM_DVFS_CMD1 (SPM_BASE + 0x714)
  345. #define SPM_DVFS_CMD2 (SPM_BASE + 0x718)
  346. #define SPM_DVFS_CMD3 (SPM_BASE + 0x71C)
  347. #define SPM_DVFS_CMD4 (SPM_BASE + 0x720)
  348. #define SPM_DVFS_CMD5 (SPM_BASE + 0x724)
  349. #define SPM_DVFS_CMD6 (SPM_BASE + 0x728)
  350. #define SPM_DVFS_CMD7 (SPM_BASE + 0x72C)
  351. #define SPM_DVFS_CMD8 (SPM_BASE + 0x730)
  352. #define SPM_DVFS_CMD9 (SPM_BASE + 0x734)
  353. #define SPM_DVFS_CMD10 (SPM_BASE + 0x738)
  354. #define SPM_DVFS_CMD11 (SPM_BASE + 0x73C)
  355. #define SPM_DVFS_CMD12 (SPM_BASE + 0x740)
  356. #define SPM_DVFS_CMD13 (SPM_BASE + 0x744)
  357. #define SPM_DVFS_CMD14 (SPM_BASE + 0x748)
  358. #define SPM_DVFS_CMD15 (SPM_BASE + 0x74C)
  359. #define SPM_DVFS_CMD16 (SPM_BASE + 0x750)
  360. #define SPM_DVFS_CMD17 (SPM_BASE + 0x754)
  361. #define SPM_DVFS_CMD18 (SPM_BASE + 0x758)
  362. #define SPM_DVFS_CMD19 (SPM_BASE + 0x75C)
  363. #define SPM_DVFS_CMD20 (SPM_BASE + 0x760)
  364. #define SPM_DVFS_CMD21 (SPM_BASE + 0x764)
  365. #define SPM_DVFS_CMD22 (SPM_BASE + 0x768)
  366. #define SPM_DVFS_CMD23 (SPM_BASE + 0x76C)
  367. #define SYS_TIMER_VALUE_L (SPM_BASE + 0x770)
  368. #define SYS_TIMER_VALUE_H (SPM_BASE + 0x774)
  369. #define SYS_TIMER_START_L (SPM_BASE + 0x778)
  370. #define SYS_TIMER_START_H (SPM_BASE + 0x77C)
  371. #define SYS_TIMER_LATCH_L_00 (SPM_BASE + 0x780)
  372. #define SYS_TIMER_LATCH_H_00 (SPM_BASE + 0x784)
  373. #define SYS_TIMER_LATCH_L_01 (SPM_BASE + 0x788)
  374. #define SYS_TIMER_LATCH_H_01 (SPM_BASE + 0x78C)
  375. #define SYS_TIMER_LATCH_L_02 (SPM_BASE + 0x790)
  376. #define SYS_TIMER_LATCH_H_02 (SPM_BASE + 0x794)
  377. #define SYS_TIMER_LATCH_L_03 (SPM_BASE + 0x798)
  378. #define SYS_TIMER_LATCH_H_03 (SPM_BASE + 0x79C)
  379. #define SYS_TIMER_LATCH_L_04 (SPM_BASE + 0x7A0)
  380. #define SYS_TIMER_LATCH_H_04 (SPM_BASE + 0x7A4)
  381. #define SYS_TIMER_LATCH_L_05 (SPM_BASE + 0x7A8)
  382. #define SYS_TIMER_LATCH_H_05 (SPM_BASE + 0x7AC)
  383. #define SYS_TIMER_LATCH_L_06 (SPM_BASE + 0x7B0)
  384. #define SYS_TIMER_LATCH_H_06 (SPM_BASE + 0x7B4)
  385. #define SYS_TIMER_LATCH_L_07 (SPM_BASE + 0x7B8)
  386. #define SYS_TIMER_LATCH_H_07 (SPM_BASE + 0x7BC)
  387. #define SYS_TIMER_LATCH_L_08 (SPM_BASE + 0x7C0)
  388. #define SYS_TIMER_LATCH_H_08 (SPM_BASE + 0x7C4)
  389. #define SYS_TIMER_LATCH_L_09 (SPM_BASE + 0x7C8)
  390. #define SYS_TIMER_LATCH_H_09 (SPM_BASE + 0x7CC)
  391. #define SYS_TIMER_LATCH_L_10 (SPM_BASE + 0x7D0)
  392. #define SYS_TIMER_LATCH_H_10 (SPM_BASE + 0x7D4)
  393. #define SYS_TIMER_LATCH_L_11 (SPM_BASE + 0x7D8)
  394. #define SYS_TIMER_LATCH_H_11 (SPM_BASE + 0x7DC)
  395. #define SYS_TIMER_LATCH_L_12 (SPM_BASE + 0x7E0)
  396. #define SYS_TIMER_LATCH_H_12 (SPM_BASE + 0x7E4)
  397. #define SYS_TIMER_LATCH_L_13 (SPM_BASE + 0x7E8)
  398. #define SYS_TIMER_LATCH_H_13 (SPM_BASE + 0x7EC)
  399. #define SYS_TIMER_LATCH_L_14 (SPM_BASE + 0x7F0)
  400. #define SYS_TIMER_LATCH_H_14 (SPM_BASE + 0x7F4)
  401. #define SYS_TIMER_LATCH_L_15 (SPM_BASE + 0x7F8)
  402. #define SYS_TIMER_LATCH_H_15 (SPM_BASE + 0x7FC)
  403. #define PCM_WDT_LATCH_0 (SPM_BASE + 0x800)
  404. #define PCM_WDT_LATCH_1 (SPM_BASE + 0x804)
  405. #define PCM_WDT_LATCH_2 (SPM_BASE + 0x808)
  406. #define PCM_WDT_LATCH_3 (SPM_BASE + 0x80C)
  407. #define PCM_WDT_LATCH_4 (SPM_BASE + 0x810)
  408. #define PCM_WDT_LATCH_5 (SPM_BASE + 0x814)
  409. #define PCM_WDT_LATCH_6 (SPM_BASE + 0x818)
  410. #define PCM_WDT_LATCH_7 (SPM_BASE + 0x81C)
  411. #define PCM_WDT_LATCH_8 (SPM_BASE + 0x820)
  412. #define PCM_WDT_LATCH_9 (SPM_BASE + 0x824)
  413. #define PCM_WDT_LATCH_10 (SPM_BASE + 0x828)
  414. #define PCM_WDT_LATCH_11 (SPM_BASE + 0x82C)
  415. #define PCM_WDT_LATCH_12 (SPM_BASE + 0x830)
  416. #define PCM_WDT_LATCH_13 (SPM_BASE + 0x834)
  417. #define PCM_WDT_LATCH_14 (SPM_BASE + 0x838)
  418. #define PCM_WDT_LATCH_15 (SPM_BASE + 0x83C)
  419. #define PCM_WDT_LATCH_16 (SPM_BASE + 0x840)
  420. #define PCM_WDT_LATCH_17 (SPM_BASE + 0x844)
  421. #define PCM_WDT_LATCH_18 (SPM_BASE + 0x848)
  422. #define PCM_WDT_LATCH_SPARE_0 (SPM_BASE + 0x84C)
  423. #define PCM_WDT_LATCH_SPARE_1 (SPM_BASE + 0x850)
  424. #define PCM_WDT_LATCH_SPARE_2 (SPM_BASE + 0x854)
  425. #define DRAMC_GATING_ERR_LATCH_CH0_0 (SPM_BASE + 0x8A0)
  426. #define DRAMC_GATING_ERR_LATCH_CH0_1 (SPM_BASE + 0x8A4)
  427. #define DRAMC_GATING_ERR_LATCH_CH0_2 (SPM_BASE + 0x8A8)
  428. #define DRAMC_GATING_ERR_LATCH_CH0_3 (SPM_BASE + 0x8AC)
  429. #define DRAMC_GATING_ERR_LATCH_CH0_4 (SPM_BASE + 0x8B0)
  430. #define DRAMC_GATING_ERR_LATCH_CH0_5 (SPM_BASE + 0x8B4)
  431. #define DRAMC_GATING_ERR_LATCH_SPARE_0 (SPM_BASE + 0x8F4)
  432. #define SPM_ACK_CHK_CON_0 (SPM_BASE + 0x900)
  433. #define SPM_ACK_CHK_PC_0 (SPM_BASE + 0x904)
  434. #define SPM_ACK_CHK_SEL_0 (SPM_BASE + 0x908)
  435. #define SPM_ACK_CHK_TIMER_0 (SPM_BASE + 0x90C)
  436. #define SPM_ACK_CHK_STA_0 (SPM_BASE + 0x910)
  437. #define SPM_ACK_CHK_SWINT_0 (SPM_BASE + 0x914)
  438. #define SPM_ACK_CHK_CON_1 (SPM_BASE + 0x920)
  439. #define SPM_ACK_CHK_PC_1 (SPM_BASE + 0x924)
  440. #define SPM_ACK_CHK_SEL_1 (SPM_BASE + 0x928)
  441. #define SPM_ACK_CHK_TIMER_1 (SPM_BASE + 0x92C)
  442. #define SPM_ACK_CHK_STA_1 (SPM_BASE + 0x930)
  443. #define SPM_ACK_CHK_SWINT_1 (SPM_BASE + 0x934)
  444. #define SPM_ACK_CHK_CON_2 (SPM_BASE + 0x940)
  445. #define SPM_ACK_CHK_PC_2 (SPM_BASE + 0x944)
  446. #define SPM_ACK_CHK_SEL_2 (SPM_BASE + 0x948)
  447. #define SPM_ACK_CHK_TIMER_2 (SPM_BASE + 0x94C)
  448. #define SPM_ACK_CHK_STA_2 (SPM_BASE + 0x950)
  449. #define SPM_ACK_CHK_SWINT_2 (SPM_BASE + 0x954)
  450. #define SPM_ACK_CHK_CON_3 (SPM_BASE + 0x960)
  451. #define SPM_ACK_CHK_PC_3 (SPM_BASE + 0x964)
  452. #define SPM_ACK_CHK_SEL_3 (SPM_BASE + 0x968)
  453. #define SPM_ACK_CHK_TIMER_3 (SPM_BASE + 0x96C)
  454. #define SPM_ACK_CHK_STA_3 (SPM_BASE + 0x970)
  455. #define SPM_ACK_CHK_SWINT_3 (SPM_BASE + 0x974)
  456. #define SPM_COUNTER_0 (SPM_BASE + 0x978)
  457. #define SPM_COUNTER_1 (SPM_BASE + 0x97C)
  458. #define SPM_COUNTER_2 (SPM_BASE + 0x980)
  459. #define SYS_TIMER_CON (SPM_BASE + 0x98C)
  460. #define SPM_TWAM_CON (SPM_BASE + 0x990)
  461. #define SPM_TWAM_WINDOW_LEN (SPM_BASE + 0x994)
  462. #define SPM_TWAM_IDLE_SEL (SPM_BASE + 0x998)
  463. #define SPM_TWAM_EVENT_CLEAR (SPM_BASE + 0x99C)
  464. #define PMSR_LAST_DAT (SPM_BASE + 0xF00)
  465. #define PMSR_LAST_CNT (SPM_BASE + 0xF04)
  466. #define PMSR_LAST_ACK (SPM_BASE + 0xF08)
  467. #define SPM_PMSR_SEL_CON0 (SPM_BASE + 0xF10)
  468. #define SPM_PMSR_SEL_CON1 (SPM_BASE + 0xF14)
  469. #define SPM_PMSR_SEL_CON2 (SPM_BASE + 0xF18)
  470. #define SPM_PMSR_SEL_CON3 (SPM_BASE + 0xF1C)
  471. #define SPM_PMSR_SEL_CON4 (SPM_BASE + 0xF20)
  472. #define SPM_PMSR_SEL_CON5 (SPM_BASE + 0xF24)
  473. #define SPM_PMSR_SEL_CON6 (SPM_BASE + 0xF28)
  474. #define SPM_PMSR_SEL_CON7 (SPM_BASE + 0xF2C)
  475. #define SPM_PMSR_SEL_CON8 (SPM_BASE + 0xF30)
  476. #define SPM_PMSR_SEL_CON9 (SPM_BASE + 0xF34)
  477. #define SPM_PMSR_SEL_CON10 (SPM_BASE + 0xF3C)
  478. #define SPM_PMSR_SEL_CON11 (SPM_BASE + 0xF40)
  479. #define SPM_PMSR_TIEMR_STA0 (SPM_BASE + 0xFB8)
  480. #define SPM_PMSR_TIEMR_STA1 (SPM_BASE + 0xFBC)
  481. #define SPM_PMSR_TIEMR_STA2 (SPM_BASE + 0xFC0)
  482. #define SPM_PMSR_GENERAL_CON0 (SPM_BASE + 0xFC4)
  483. #define SPM_PMSR_GENERAL_CON1 (SPM_BASE + 0xFC8)
  484. #define SPM_PMSR_GENERAL_CON2 (SPM_BASE + 0xFCC)
  485. #define SPM_PMSR_GENERAL_CON3 (SPM_BASE + 0xFD0)
  486. #define SPM_PMSR_GENERAL_CON4 (SPM_BASE + 0xFD4)
  487. #define SPM_PMSR_GENERAL_CON5 (SPM_BASE + 0xFD8)
  488. #define SPM_PMSR_SW_RESET (SPM_BASE + 0xFDC)
  489. #define SPM_PMSR_MON_CON0 (SPM_BASE + 0xFE0)
  490. #define SPM_PMSR_MON_CON1 (SPM_BASE + 0xFE4)
  491. #define SPM_PMSR_MON_CON2 (SPM_BASE + 0xFE8)
  492. #define SPM_PMSR_LEN_CON0 (SPM_BASE + 0xFEC)
  493. #define SPM_PMSR_LEN_CON1 (SPM_BASE + 0xFF0)
  494. #define SPM_PMSR_LEN_CON2 (SPM_BASE + 0xFF4)
  495. #endif /* SPM_REG_H */