cp_glb.h 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170
  1. /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
  2. * All rights reserved.
  3. *
  4. * This software is supplied "AS IS" without any warranties.
  5. * RDA assumes no responsibility or liability for the use of the software,
  6. * conveys no license or title under any patent, copyright, or mask work
  7. * right to the product. RDA reserves the right to make changes in the
  8. * software without notification. RDA also make no representation or
  9. * warranty that such application will be suitable for the specified use
  10. * without further testing or modification.
  11. */
  12. #ifndef _CP_GLB_H_
  13. #define _CP_GLB_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_CP_GLB_SET_OFFSET (1024)
  17. #define REG_CP_GLB_CLR_OFFSET (2048)
  18. #define REG_CP_GLB_BASE (0x120c0000)
  19. typedef volatile struct
  20. {
  21. uint32_t sysctrl00; // 0x00000000
  22. uint32_t sysctrl01; // 0x00000004
  23. uint32_t sysctrl02; // 0x00000008
  24. uint32_t sysctrl03; // 0x0000000c
  25. uint32_t sysctrl04; // 0x00000010
  26. uint32_t sysctrl05; // 0x00000014
  27. uint32_t sysctrl06; // 0x00000018
  28. uint32_t sysctrl07; // 0x0000001c
  29. uint32_t sysctrl08; // 0x00000020
  30. uint32_t sysctrl09; // 0x00000024
  31. uint32_t sysctrl10; // 0x00000028
  32. uint32_t sysctrl11; // 0x0000002c
  33. uint32_t sysctrl12; // 0x00000030
  34. uint32_t sysctrl13; // 0x00000034
  35. uint32_t sysctrl14; // 0x00000038
  36. uint32_t sysctrl15; // 0x0000003c
  37. uint32_t sysctrl16; // 0x00000040
  38. uint32_t sysctrl17; // 0x00000044
  39. uint32_t sysctrl18; // 0x00000048
  40. uint32_t sysctrl19; // 0x0000004c
  41. uint32_t sysctrl20; // 0x00000050
  42. uint32_t sysctrl21; // 0x00000054
  43. uint32_t sysctrl22; // 0x00000058
  44. uint32_t sysstat01; // 0x0000005c
  45. uint32_t sysstat02; // 0x00000060
  46. uint32_t sysstat03; // 0x00000064
  47. uint32_t sysstat04; // 0x00000068
  48. uint32_t sysstat05; // 0x0000006c
  49. uint32_t sysstat06; // 0x00000070
  50. uint32_t sysstat07; // 0x00000074
  51. uint32_t sysstat08; // 0x00000078
  52. uint32_t sysctrl23; // 0x0000007c
  53. uint32_t sysctrl24; // 0x00000080
  54. uint32_t sysctrl25; // 0x00000084
  55. uint32_t sysctrl26; // 0x00000088
  56. uint32_t sysctrl27; // 0x0000008c
  57. uint32_t sysctrl28; // 0x00000090
  58. uint32_t sysstat09; // 0x00000094
  59. uint32_t sysctrl29; // 0x00000098
  60. uint32_t sysctrl30; // 0x0000009c
  61. uint32_t sysstat10; // 0x000000a0
  62. uint32_t sysstat11; // 0x000000a4
  63. uint32_t sysstat12; // 0x000000a8
  64. uint32_t sysstat13; // 0x000000ac
  65. uint32_t sysstat14; // 0x000000b0
  66. uint32_t sysstat15; // 0x000000b4
  67. uint32_t sysstat16; // 0x000000b8
  68. uint32_t sysstat17; // 0x000000bc
  69. uint32_t sysstat18; // 0x000000c0
  70. uint32_t sysstat19; // 0x000000c4
  71. uint32_t __200[206]; // 0x000000c8
  72. uint32_t sysctrl00_set; // 0x00000400
  73. uint32_t __1028[2]; // 0x00000404
  74. uint32_t sysctrl03_set; // 0x0000040c
  75. uint32_t __1040[12]; // 0x00000410
  76. uint32_t sysctrl16_set; // 0x00000440
  77. uint32_t sysctrl17_set; // 0x00000444
  78. uint32_t sysctrl18_set; // 0x00000448
  79. uint32_t sysctrl19_set; // 0x0000044c
  80. uint32_t sysctrl20_set; // 0x00000450
  81. uint32_t sysctrl21_set; // 0x00000454
  82. uint32_t sysctrl22_set; // 0x00000458
  83. uint32_t __1116[8]; // 0x0000045c
  84. uint32_t sysctrl23_set; // 0x0000047c
  85. uint32_t sysctrl24_set; // 0x00000480
  86. uint32_t sysctrl25_set; // 0x00000484
  87. uint32_t sysctrl26_set; // 0x00000488
  88. uint32_t sysctrl27_set; // 0x0000048c
  89. uint32_t sysctrl28_set; // 0x00000490
  90. uint32_t __1172[219]; // 0x00000494
  91. uint32_t sysctrl00_clr; // 0x00000800
  92. uint32_t __2052[2]; // 0x00000804
  93. uint32_t sysctrl03_clr; // 0x0000080c
  94. uint32_t __2064[12]; // 0x00000810
  95. uint32_t sysctrl16_clr; // 0x00000840
  96. uint32_t sysctrl17_clr; // 0x00000844
  97. uint32_t sysctrl18_clr; // 0x00000848
  98. uint32_t sysctrl19_clr; // 0x0000084c
  99. uint32_t sysctrl20_clr; // 0x00000850
  100. uint32_t sysctrl21_clr; // 0x00000854
  101. uint32_t sysctrl22_clr; // 0x00000858
  102. uint32_t __2140[8]; // 0x0000085c
  103. uint32_t sysctrl23_clr; // 0x0000087c
  104. uint32_t sysctrl24_clr; // 0x00000880
  105. uint32_t sysctrl25_clr; // 0x00000884
  106. uint32_t sysctrl26_clr; // 0x00000888
  107. uint32_t sysctrl27_clr; // 0x0000088c
  108. uint32_t sysctrl28_clr; // 0x00000890
  109. } HWP_CP_GLB_T;
  110. #define hwp_cpGlb ((HWP_CP_GLB_T *)REG_ACCESS_ADDRESS(REG_CP_GLB_BASE))
  111. // sysctrl00
  112. typedef union {
  113. uint32_t v;
  114. struct
  115. {
  116. uint32_t __2_0 : 3; // [2:0]
  117. uint32_t rg_cp2aon_xhb400_awsparse : 1; // [3]
  118. uint32_t __6_4 : 3; // [6:4]
  119. uint32_t rg_cp2gnss_xhb400_awsparse : 1; // [7]
  120. uint32_t rg_aon2cp_nonbuf_early_resp_en : 1; // [8]
  121. uint32_t rg_aon2cp_mclk_auto_gate_en : 1; // [9]
  122. uint32_t rg_aon2cp_sclk_auto_gate_en : 1; // [10]
  123. uint32_t rg_tsx_nonbuf_early_resp_en : 1; // [11]
  124. uint32_t rg_tsx_mclk_auto_gate_en : 1; // [12]
  125. uint32_t rg_tsx_sclk_auto_gate_en : 1; // [13]
  126. uint32_t rg_cp_ahb_xhb400_awsparse : 1; // [14]
  127. uint32_t rg_ifc2cp_nonbuf_early_resp_en : 1; // [15]
  128. uint32_t rg_ifc2cp_clk_auto_gate_en : 1; // [16]
  129. uint32_t __17_17 : 1; // [17]
  130. uint32_t slv_disable_req_cp_gnss_force : 1; // [18]
  131. uint32_t slv_disable_req_cp_psram_sel : 1; // [19]
  132. uint32_t slv_disable_req_cp_psram_force : 1; // [20]
  133. uint32_t slv_disable_req_cp_ltedma_sel : 1; // [21]
  134. uint32_t slv_disable_req_cp_ltedma_force : 1; // [22]
  135. uint32_t slv_disable_req_cp_ltecpu_sel : 1; // [23]
  136. uint32_t slv_disable_req_cp_ltecpu_force : 1; // [24]
  137. uint32_t __31_25 : 7; // [31:25]
  138. } b;
  139. } REG_CP_GLB_SYSCTRL00_T;
  140. // sysctrl01
  141. typedef union {
  142. uint32_t v;
  143. struct
  144. {
  145. uint32_t awqos_cp_a5 : 4; // [3:0]
  146. uint32_t arqos_cp_a5 : 4; // [7:4]
  147. uint32_t awqos_f8 : 4; // [11:8]
  148. uint32_t arqos_f8 : 4; // [15:12]
  149. uint32_t awqos_axidma : 4; // [19:16]
  150. uint32_t arqos_axidma : 4; // [23:20]
  151. uint32_t awqos_cp_ifc : 4; // [27:24]
  152. uint32_t arqos_cp_ifc : 4; // [31:28]
  153. } b;
  154. } REG_CP_GLB_SYSCTRL01_T;
  155. // sysctrl02
  156. typedef union {
  157. uint32_t v;
  158. struct
  159. {
  160. uint32_t awqos_aon_m : 4; // [3:0]
  161. uint32_t arqos_aon_m : 4; // [7:4]
  162. uint32_t awqos_lte_cpu : 4; // [11:8]
  163. uint32_t arqos_lte_cpu : 4; // [15:12]
  164. uint32_t awqos_lte_dma : 4; // [19:16]
  165. uint32_t arqos_lte_dma : 4; // [23:20]
  166. uint32_t __31_24 : 8; // [31:24]
  167. } b;
  168. } REG_CP_GLB_SYSCTRL02_T;
  169. // sysctrl03
  170. typedef union {
  171. uint32_t v;
  172. struct
  173. {
  174. uint32_t lp_eb_m0 : 1; // [0]
  175. uint32_t lp_eb_m1 : 1; // [1]
  176. uint32_t lp_eb_m2 : 1; // [2]
  177. uint32_t lp_eb_m3 : 1; // [3]
  178. uint32_t lp_eb_m4 : 1; // [4]
  179. uint32_t lp_eb_main : 1; // [5]
  180. uint32_t lp_eb_s0 : 1; // [6]
  181. uint32_t lp_eb_s1 : 1; // [7]
  182. uint32_t lp_eb_s2 : 1; // [8]
  183. uint32_t lp_eb_s3 : 1; // [9]
  184. uint32_t lp_eb_s4 : 1; // [10]
  185. uint32_t lp_eb_s5 : 1; // [11]
  186. uint32_t lp_eb_s6 : 1; // [12]
  187. uint32_t lp_force_m0 : 1; // [13]
  188. uint32_t lp_force_m1 : 1; // [14]
  189. uint32_t lp_force_m2 : 1; // [15]
  190. uint32_t lp_force_m3 : 1; // [16]
  191. uint32_t lp_force_m4 : 1; // [17]
  192. uint32_t lp_force_main : 1; // [18]
  193. uint32_t lp_force_s0 : 1; // [19]
  194. uint32_t lp_force_s1 : 1; // [20]
  195. uint32_t lp_force_s2 : 1; // [21]
  196. uint32_t lp_force_s3 : 1; // [22]
  197. uint32_t lp_force_s4 : 1; // [23]
  198. uint32_t lp_force_s5 : 1; // [24]
  199. uint32_t lp_force_s6 : 1; // [25]
  200. uint32_t lpc_main_early_wakeup_bypass : 1; // [26]
  201. uint32_t __31_27 : 5; // [31:27]
  202. } b;
  203. } REG_CP_GLB_SYSCTRL03_T;
  204. // sysctrl04
  205. typedef union {
  206. uint32_t v;
  207. struct
  208. {
  209. uint32_t lp_num_m0 : 16; // [15:0]
  210. uint32_t pu_num_m0 : 8; // [23:16]
  211. uint32_t __31_24 : 8; // [31:24]
  212. } b;
  213. } REG_CP_GLB_SYSCTRL04_T;
  214. // sysctrl05
  215. typedef union {
  216. uint32_t v;
  217. struct
  218. {
  219. uint32_t lp_num_m1 : 16; // [15:0]
  220. uint32_t pu_num_m1 : 8; // [23:16]
  221. uint32_t __31_24 : 8; // [31:24]
  222. } b;
  223. } REG_CP_GLB_SYSCTRL05_T;
  224. // sysctrl06
  225. typedef union {
  226. uint32_t v;
  227. struct
  228. {
  229. uint32_t lp_num_m2 : 16; // [15:0]
  230. uint32_t pu_num_m2 : 8; // [23:16]
  231. uint32_t __31_24 : 8; // [31:24]
  232. } b;
  233. } REG_CP_GLB_SYSCTRL06_T;
  234. // sysctrl07
  235. typedef union {
  236. uint32_t v;
  237. struct
  238. {
  239. uint32_t lp_num_m3 : 16; // [15:0]
  240. uint32_t pu_num_m3 : 8; // [23:16]
  241. uint32_t __31_24 : 8; // [31:24]
  242. } b;
  243. } REG_CP_GLB_SYSCTRL07_T;
  244. // sysctrl08
  245. typedef union {
  246. uint32_t v;
  247. struct
  248. {
  249. uint32_t lp_num_m4 : 16; // [15:0]
  250. uint32_t pu_num_m4 : 8; // [23:16]
  251. uint32_t __31_24 : 8; // [31:24]
  252. } b;
  253. } REG_CP_GLB_SYSCTRL08_T;
  254. // sysctrl09
  255. typedef union {
  256. uint32_t v;
  257. struct
  258. {
  259. uint32_t lp_num_s0 : 16; // [15:0]
  260. uint32_t pu_num_s0 : 8; // [23:16]
  261. uint32_t __31_24 : 8; // [31:24]
  262. } b;
  263. } REG_CP_GLB_SYSCTRL09_T;
  264. // sysctrl10
  265. typedef union {
  266. uint32_t v;
  267. struct
  268. {
  269. uint32_t lp_num_s1 : 16; // [15:0]
  270. uint32_t pu_num_s1 : 8; // [23:16]
  271. uint32_t __31_24 : 8; // [31:24]
  272. } b;
  273. } REG_CP_GLB_SYSCTRL10_T;
  274. // sysctrl11
  275. typedef union {
  276. uint32_t v;
  277. struct
  278. {
  279. uint32_t lp_num_s2 : 16; // [15:0]
  280. uint32_t pu_num_s2 : 8; // [23:16]
  281. uint32_t __31_24 : 8; // [31:24]
  282. } b;
  283. } REG_CP_GLB_SYSCTRL11_T;
  284. // sysctrl12
  285. typedef union {
  286. uint32_t v;
  287. struct
  288. {
  289. uint32_t lp_num_s3 : 16; // [15:0]
  290. uint32_t pu_num_s3 : 8; // [23:16]
  291. uint32_t __31_24 : 8; // [31:24]
  292. } b;
  293. } REG_CP_GLB_SYSCTRL12_T;
  294. // sysctrl13
  295. typedef union {
  296. uint32_t v;
  297. struct
  298. {
  299. uint32_t lp_num_s4 : 16; // [15:0]
  300. uint32_t pu_num_s4 : 8; // [23:16]
  301. uint32_t __31_24 : 8; // [31:24]
  302. } b;
  303. } REG_CP_GLB_SYSCTRL13_T;
  304. // sysctrl14
  305. typedef union {
  306. uint32_t v;
  307. struct
  308. {
  309. uint32_t lp_num_s5 : 16; // [15:0]
  310. uint32_t pu_num_s5 : 8; // [23:16]
  311. uint32_t __31_24 : 8; // [31:24]
  312. } b;
  313. } REG_CP_GLB_SYSCTRL14_T;
  314. // sysctrl15
  315. typedef union {
  316. uint32_t v;
  317. struct
  318. {
  319. uint32_t lp_num_s6 : 16; // [15:0]
  320. uint32_t pu_num_s6 : 8; // [23:16]
  321. uint32_t __31_24 : 8; // [31:24]
  322. } b;
  323. } REG_CP_GLB_SYSCTRL15_T;
  324. // sysctrl16
  325. typedef union {
  326. uint32_t v;
  327. struct
  328. {
  329. uint32_t __1_0 : 2; // [1:0]
  330. uint32_t wlan_iq_sync_sel : 1; // [2]
  331. uint32_t cp_ifc_hresp_err_mask : 1; // [3]
  332. uint32_t cp_a5_resp_err_mask : 1; // [4]
  333. uint32_t freq_bias_ch0_en : 1; // [5]
  334. uint32_t freq_bias_ch1_en : 1; // [6]
  335. uint32_t freq_bias_ch2_en : 1; // [7]
  336. uint32_t freq_bias_ch3_en : 1; // [8]
  337. uint32_t rg_tsx_clkedge_sel : 1; // [9]
  338. uint32_t rg_osc_clkedge_sel : 1; // [10]
  339. uint32_t __31_11 : 21; // [31:11]
  340. } b;
  341. } REG_CP_GLB_SYSCTRL16_T;
  342. // sysctrl17
  343. typedef union {
  344. uint32_t v;
  345. struct
  346. {
  347. uint32_t cgm_cp_axi_sel : 3; // [2:0]
  348. uint32_t cgm_cp_axi_div : 3; // [5:3]
  349. uint32_t cgm_cp_ahb_div : 3; // [8:6]
  350. uint32_t cgm_cp_axi_update : 1; // [9]
  351. uint32_t cgm_cp_a5_en : 1; // [10]
  352. uint32_t cgm_cp_axi_en : 1; // [11]
  353. uint32_t cgm_cp_ahb_en : 1; // [12]
  354. uint32_t __31_13 : 19; // [31:13]
  355. } b;
  356. } REG_CP_GLB_SYSCTRL17_T;
  357. // sysctrl18
  358. typedef union {
  359. uint32_t v;
  360. struct
  361. {
  362. uint32_t cp_ahb_irq0_en : 1; // [0]
  363. uint32_t cp_ahb_irq1_en : 1; // [1]
  364. uint32_t cp_ahb_f8_en : 1; // [2]
  365. uint32_t cp_ahb_ch_dbg_en : 1; // [3]
  366. uint32_t cp_ahb_ch0_en : 1; // [4]
  367. uint32_t cp_ahb_ch1_en : 1; // [5]
  368. uint32_t cp_ahb_ch2_en : 1; // [6]
  369. uint32_t cp_ahb_ch3_en : 1; // [7]
  370. uint32_t cp_ahb_axidma_en : 1; // [8]
  371. uint32_t cp_ahb_sysram_conf_en : 1; // [9]
  372. uint32_t cp_ahb_timer4_conf_en : 1; // [10]
  373. uint32_t cp_ahb_timer4_mod_en : 1; // [11]
  374. uint32_t cp_ahb_timer3_conf_en : 1; // [12]
  375. uint32_t cp_ahb_timer3_mod_en : 1; // [13]
  376. uint32_t cp_ahb_sci1_conf_en : 1; // [14]
  377. uint32_t cp_ahb_sci1_mod_en : 1; // [15]
  378. uint32_t cp_ahb_sci1_func_en : 1; // [16]
  379. uint32_t cp_ahb_sci2_mod_en : 1; // [17]
  380. uint32_t cp_ahb_sci2_conf_en : 1; // [18]
  381. uint32_t cp_ahb_sci2_func_en : 1; // [19]
  382. uint32_t cp_ahb_busmon_func_en : 1; // [20]
  383. uint32_t wlan_11b_en : 1; // [21]
  384. uint32_t freq_bias_func_en : 1; // [22]
  385. uint32_t dap_dap_en : 1; // [23]
  386. uint32_t __25_24 : 2; // [25:24]
  387. uint32_t cp_apb_ifc_en : 1; // [26]
  388. uint32_t cp_ahb_ifc_en : 1; // [27]
  389. uint32_t aon2cp_ahb_en : 1; // [28]
  390. uint32_t freq_bias_ahb_en : 1; // [29]
  391. uint32_t __31_30 : 2; // [31:30]
  392. } b;
  393. } REG_CP_GLB_SYSCTRL18_T;
  394. // sysctrl19
  395. typedef union {
  396. uint32_t v;
  397. struct
  398. {
  399. uint32_t cgm_wcn_11b_dfe_en : 1; // [0]
  400. uint32_t cgm_timer_26m_en : 1; // [1]
  401. uint32_t cgm_wdg_32k_en : 1; // [2]
  402. uint32_t cgm_wcn_11b_adc_en : 1; // [3]
  403. uint32_t cgm_gnss_tsx_sel : 1; // [4]
  404. uint32_t cgm_gnss_tsx_en : 1; // [5]
  405. uint32_t cgm_thm_tsx_en : 1; // [6]
  406. uint32_t cgm_thm_osc_en : 1; // [7]
  407. uint32_t __31_8 : 24; // [31:8]
  408. } b;
  409. } REG_CP_GLB_SYSCTRL19_T;
  410. // sysctrl20
  411. typedef union {
  412. uint32_t v;
  413. struct
  414. {
  415. uint32_t cp_a5_soft_rst : 1; // [0]
  416. uint32_t cp_a5cs_soft_rst : 1; // [1]
  417. uint32_t cp_a5dbg_soft_rst : 1; // [2]
  418. uint32_t cp_irq1_soft_rst : 1; // [3]
  419. uint32_t cp_irq0_soft_rst : 1; // [4]
  420. uint32_t cp_timer3_soft_rst : 1; // [5]
  421. uint32_t cp_imem_apb_soft_rst : 1; // [6]
  422. uint32_t cp_imem_axi_soft_rst : 1; // [7]
  423. uint32_t cp_axidma_soft_rst : 1; // [8]
  424. uint32_t cp_f8_soft_rst : 1; // [9]
  425. uint32_t cp_wlan_soft_rst : 1; // [10]
  426. uint32_t cp_busmon_m4_soft_rst : 1; // [11]
  427. uint32_t cp_busmon_m3_soft_rst : 1; // [12]
  428. uint32_t cp_busmon_m2_soft_rst : 1; // [13]
  429. uint32_t cp_busmon_m1_soft_rst : 1; // [14]
  430. uint32_t cp_busmon_m0_soft_rst : 1; // [15]
  431. uint32_t cp_bsumon_apb_soft_rst : 1; // [16]
  432. uint32_t cp_sci2_soft_rst : 1; // [17]
  433. uint32_t cp_sci1_soft_rst : 1; // [18]
  434. uint32_t cp_timer4_soft_rst : 1; // [19]
  435. uint32_t aon2cp_soft_rst : 1; // [20]
  436. uint32_t cp2gnss_soft_rst : 1; // [21]
  437. uint32_t cp2aon_soft_rst : 1; // [22]
  438. uint32_t cp_ltecpu_async_soft_rst : 1; // [23]
  439. uint32_t cp_ltedma_async_soft_rst : 1; // [24]
  440. uint32_t cp_psram_async_soft_rst : 1; // [25]
  441. uint32_t tsx_ab_soft_rst : 1; // [26]
  442. uint32_t tsx_ip_soft_rst : 1; // [27]
  443. uint32_t __31_28 : 4; // [31:28]
  444. } b;
  445. } REG_CP_GLB_SYSCTRL20_T;
  446. // sysctrl21
  447. typedef union {
  448. uint32_t v;
  449. struct
  450. {
  451. uint32_t cp_ifc_ch_dbg_auto_gate_en : 1; // [0]
  452. uint32_t cp_ifc_ch0_auto_gate_en : 1; // [1]
  453. uint32_t cp_ifc_ch1_auto_gate_en : 1; // [2]
  454. uint32_t cp_ifc_ch2_auto_gate_en : 1; // [3]
  455. uint32_t cp_ifc_ch3_auto_gate_en : 1; // [4]
  456. uint32_t cp_ifc_auto_gate_en : 1; // [5]
  457. uint32_t cp_sci1_auto_gate_en : 1; // [6]
  458. uint32_t cp_sci2_auto_gate_en : 1; // [7]
  459. uint32_t aon2cp_ahb_auto_gate_en : 1; // [8]
  460. uint32_t ifc2cp_ahb_auto_gate_en : 1; // [9]
  461. uint32_t __11_10 : 2; // [11:10]
  462. uint32_t cp2freq_ahb_auto_gate_en : 1; // [12]
  463. uint32_t cp_a5_auto_gate_en : 1; // [13]
  464. uint32_t cp_axi_auto_gate_en : 1; // [14]
  465. uint32_t __31_15 : 17; // [31:15]
  466. } b;
  467. } REG_CP_GLB_SYSCTRL21_T;
  468. // sysctrl22
  469. typedef union {
  470. uint32_t v;
  471. struct
  472. {
  473. uint32_t cp_apbreg_soft_rst : 1; // [0]
  474. uint32_t __31_1 : 31; // [31:1]
  475. } b;
  476. } REG_CP_GLB_SYSCTRL22_T;
  477. // sysstat04
  478. typedef union {
  479. uint32_t v;
  480. struct
  481. {
  482. uint32_t axi_detector_overflow_cp_psram : 1; // [0], read only
  483. uint32_t pwr_handshk_clk_req_cp_psram : 1; // [1], read only
  484. uint32_t bridge_trans_idle_cp_psram : 1; // [2], read only
  485. uint32_t axi_detector_overflow_cp_ltedma : 1; // [3], read only
  486. uint32_t pwr_handshk_clk_req_cp_ltedma : 1; // [4], read only
  487. uint32_t bridge_trans_idle_cp_ltedma : 1; // [5], read only
  488. uint32_t axi_detector_overflow_cp_ltecpu : 1; // [6], read only
  489. uint32_t pwr_handshk_clk_req_cp_ltecpu : 1; // [7], read only
  490. uint32_t bridge_trans_idle_cp_ltecpu : 1; // [8], read only
  491. uint32_t __31_9 : 23; // [31:9]
  492. } b;
  493. } REG_CP_GLB_SYSSTAT04_T;
  494. // sysstat05
  495. typedef union {
  496. uint32_t v;
  497. struct
  498. {
  499. uint32_t lp_stat_m0 : 1; // [0], read only
  500. uint32_t lp_stat_m1 : 1; // [1], read only
  501. uint32_t lp_stat_m2 : 1; // [2], read only
  502. uint32_t lp_stat_m3 : 1; // [3], read only
  503. uint32_t lp_stat_m4 : 1; // [4], read only
  504. uint32_t lp_stat_main : 1; // [5], read only
  505. uint32_t lp_stat_s0 : 1; // [6], read only
  506. uint32_t lp_stat_s1 : 1; // [7], read only
  507. uint32_t lp_stat_s2 : 1; // [8], read only
  508. uint32_t lp_stat_s3 : 1; // [9], read only
  509. uint32_t lp_stat_s4 : 1; // [10], read only
  510. uint32_t lp_stat_s5 : 1; // [11], read only
  511. uint32_t lp_stat_s6 : 1; // [12], read only
  512. uint32_t cgm_busy_lpc_m0 : 1; // [13], read only
  513. uint32_t cgm_busy_lpc_m1 : 1; // [14], read only
  514. uint32_t cgm_busy_lpc_m2 : 1; // [15], read only
  515. uint32_t cgm_busy_lpc_m3 : 1; // [16], read only
  516. uint32_t cgm_busy_lpc_m4 : 1; // [17], read only
  517. uint32_t cgm_busy_lpc_main : 1; // [18], read only
  518. uint32_t cgm_busy_lpc_s0 : 1; // [19], read only
  519. uint32_t cgm_busy_lpc_s1 : 1; // [20], read only
  520. uint32_t cgm_busy_lpc_s2 : 1; // [21], read only
  521. uint32_t cgm_busy_lpc_s3 : 1; // [22], read only
  522. uint32_t cgm_busy_lpc_s4 : 1; // [23], read only
  523. uint32_t cgm_busy_lpc_s5 : 1; // [24], read only
  524. uint32_t cgm_busy_lpc_s6 : 1; // [25], read only
  525. uint32_t cp_light_stop : 1; // [26], read only
  526. uint32_t cp_slp_ack : 1; // [27], read only
  527. uint32_t all_master_force_slp : 1; // [28], read only
  528. uint32_t all_slave_force_slp : 1; // [29], read only
  529. uint32_t __31_30 : 2; // [31:30]
  530. } b;
  531. } REG_CP_GLB_SYSSTAT05_T;
  532. // sysstat06
  533. typedef union {
  534. uint32_t v;
  535. struct
  536. {
  537. uint32_t force_ack_m0 : 1; // [0], read only
  538. uint32_t force_ack_m1 : 1; // [1], read only
  539. uint32_t force_ack_m2 : 1; // [2], read only
  540. uint32_t force_ack_m3 : 1; // [3], read only
  541. uint32_t force_ack_m4 : 1; // [4], read only
  542. uint32_t force_ack_main : 1; // [5], read only
  543. uint32_t force_ack_s0 : 1; // [6], read only
  544. uint32_t force_ack_s1 : 1; // [7], read only
  545. uint32_t force_ack_s2 : 1; // [8], read only
  546. uint32_t force_ack_s3 : 1; // [9], read only
  547. uint32_t force_ack_s4 : 1; // [10], read only
  548. uint32_t force_ack_s5 : 1; // [11], read only
  549. uint32_t force_ack_s6 : 1; // [12], read only
  550. uint32_t __31_13 : 19; // [31:13]
  551. } b;
  552. } REG_CP_GLB_SYSSTAT06_T;
  553. // sysstat07
  554. typedef union {
  555. uint32_t v;
  556. struct
  557. {
  558. uint32_t busmon0_lock : 1; // [0], read only
  559. uint32_t busmon1_lock : 1; // [1], read only
  560. uint32_t busmon2_lock : 1; // [2], read only
  561. uint32_t busmon3_lock : 1; // [3], read only
  562. uint32_t busmon4_lock : 1; // [4], read only
  563. uint32_t busmon_rbusy0 : 1; // [5], read only
  564. uint32_t busmon_wbusy0 : 1; // [6], read only
  565. uint32_t busmon_busy0 : 1; // [7], read only
  566. uint32_t busmon_rbusy1 : 1; // [8], read only
  567. uint32_t busmon_wbusy1 : 1; // [9], read only
  568. uint32_t busmon_busy1 : 1; // [10], read only
  569. uint32_t busmon_rbusy2 : 1; // [11], read only
  570. uint32_t busmon_wbusy2 : 1; // [12], read only
  571. uint32_t busmon_busy2 : 1; // [13], read only
  572. uint32_t busmon_rbusy3 : 1; // [14], read only
  573. uint32_t busmon_wbusy3 : 1; // [15], read only
  574. uint32_t busmon_busy3 : 1; // [16], read only
  575. uint32_t busmon_rbusy4 : 1; // [17], read only
  576. uint32_t busmon_wbusy4 : 1; // [18], read only
  577. uint32_t busmon_busy4 : 1; // [19], read only
  578. uint32_t cp_dbg_monitor : 8; // [27:20], read only
  579. uint32_t __31_28 : 4; // [31:28]
  580. } b;
  581. } REG_CP_GLB_SYSSTAT07_T;
  582. // sysctrl28
  583. typedef union {
  584. uint32_t v;
  585. struct
  586. {
  587. uint32_t core_int_disable : 1; // [0]
  588. uint32_t cp_light_stop_en : 1; // [1]
  589. uint32_t light_bypass_m0_lpc : 1; // [2]
  590. uint32_t light_bypass_m1_lpc : 1; // [3]
  591. uint32_t light_bypass_m2_lpc : 1; // [4]
  592. uint32_t light_bypass_m3_lpc : 1; // [5]
  593. uint32_t light_bypass_m4_lpc : 1; // [6]
  594. uint32_t light_bypass_main_lpc : 1; // [7]
  595. uint32_t light_bypass_m0 : 1; // [8]
  596. uint32_t light_bypass_m1 : 1; // [9]
  597. uint32_t light_bypass_m2 : 1; // [10]
  598. uint32_t light_bypass_m3 : 1; // [11]
  599. uint32_t light_bypass_m4 : 1; // [12]
  600. uint32_t light_bypass_s0 : 1; // [13]
  601. uint32_t light_bypass_s1 : 1; // [14]
  602. uint32_t light_bypass_s2 : 1; // [15]
  603. uint32_t light_bypass_s3 : 1; // [16]
  604. uint32_t light_bypass_s4 : 1; // [17]
  605. uint32_t light_bypass_s5 : 1; // [18]
  606. uint32_t light_bypass_s6 : 1; // [19]
  607. uint32_t light_bypass_sci1 : 1; // [20]
  608. uint32_t light_bypass_sci2 : 1; // [21]
  609. uint32_t light_bypass_timer3 : 1; // [22]
  610. uint32_t light_bypass_timer4 : 1; // [23]
  611. uint32_t light_bypass_wlan : 1; // [24]
  612. uint32_t core_stop_bypass : 1; // [25]
  613. uint32_t __31_26 : 6; // [31:26]
  614. } b;
  615. } REG_CP_GLB_SYSCTRL28_T;
  616. // sysstat09
  617. typedef union {
  618. uint32_t v;
  619. struct
  620. {
  621. uint32_t dc_est_i : 15; // [14:0], read only
  622. uint32_t set_dc : 1; // [15], read only
  623. uint32_t dc_est_q : 15; // [30:16], read only
  624. uint32_t reset_dc : 1; // [31], read only
  625. } b;
  626. } REG_CP_GLB_SYSSTAT09_T;
  627. // sysctrl29
  628. typedef union {
  629. uint32_t v;
  630. struct
  631. {
  632. uint32_t lp_num_main : 16; // [15:0]
  633. uint32_t pu_num_main : 8; // [23:16]
  634. uint32_t __31_24 : 8; // [31:24]
  635. } b;
  636. } REG_CP_GLB_SYSCTRL29_T;
  637. // sysctrl30
  638. typedef union {
  639. uint32_t v;
  640. struct
  641. {
  642. uint32_t cp_latch_bitmap : 1; // [0]
  643. uint32_t __31_1 : 31; // [31:1]
  644. } b;
  645. } REG_CP_GLB_SYSCTRL30_T;
  646. // sysstat10
  647. typedef union {
  648. uint32_t v;
  649. struct
  650. {
  651. uint32_t latch_cnt_122m88_value_l : 16; // [15:0], read only
  652. uint32_t latch_cnt_122m88_value_m : 16; // [31:16], read only
  653. } b;
  654. } REG_CP_GLB_SYSSTAT10_T;
  655. // sysstat11
  656. typedef union {
  657. uint32_t v;
  658. struct
  659. {
  660. uint32_t latch_cnt_122m88_value_h : 16; // [15:0], read only
  661. uint32_t latch_bitmap_cycle_index_wptr : 8; // [23:16], read only
  662. uint32_t __31_24 : 8; // [31:24]
  663. } b;
  664. } REG_CP_GLB_SYSSTAT11_T;
  665. // sysstat12
  666. typedef union {
  667. uint32_t v;
  668. struct
  669. {
  670. uint32_t latch_bitmap_cycle_index_num0 : 16; // [15:0], read only
  671. uint32_t latch_bitmap_cycle_index_num1 : 16; // [31:16], read only
  672. } b;
  673. } REG_CP_GLB_SYSSTAT12_T;
  674. // sysstat13
  675. typedef union {
  676. uint32_t v;
  677. struct
  678. {
  679. uint32_t latch_bitmap_cycle_index_num2 : 16; // [15:0], read only
  680. uint32_t latch_bitmap_cycle_index_num3 : 16; // [31:16], read only
  681. } b;
  682. } REG_CP_GLB_SYSSTAT13_T;
  683. // sysstat14
  684. typedef union {
  685. uint32_t v;
  686. struct
  687. {
  688. uint32_t latch_bitmap_cycle_index_num4 : 16; // [15:0], read only
  689. uint32_t latch_bitmap_cycle_index_num5 : 16; // [31:16], read only
  690. } b;
  691. } REG_CP_GLB_SYSSTAT14_T;
  692. // sysstat15
  693. typedef union {
  694. uint32_t v;
  695. struct
  696. {
  697. uint32_t latch_bitmap_cycle_index_num6 : 16; // [15:0], read only
  698. uint32_t latch_bitmap_cycle_index_num7 : 16; // [31:16], read only
  699. } b;
  700. } REG_CP_GLB_SYSSTAT15_T;
  701. // sysstat16
  702. typedef union {
  703. uint32_t v;
  704. struct
  705. {
  706. uint32_t latch_bitmap_cycle_index_num8 : 16; // [15:0], read only
  707. uint32_t latch_bitmap_cycle_index_num9 : 16; // [31:16], read only
  708. } b;
  709. } REG_CP_GLB_SYSSTAT16_T;
  710. // sysstat17
  711. typedef union {
  712. uint32_t v;
  713. struct
  714. {
  715. uint32_t latch_bitmap_cycle_index_num10 : 16; // [15:0], read only
  716. uint32_t latch_bitmap_cycle_index_num11 : 16; // [31:16], read only
  717. } b;
  718. } REG_CP_GLB_SYSSTAT17_T;
  719. // sysstat18
  720. typedef union {
  721. uint32_t v;
  722. struct
  723. {
  724. uint32_t latch_bitmap_cycle_index_num12 : 16; // [15:0], read only
  725. uint32_t latch_bitmap_cycle_index_num13 : 16; // [31:16], read only
  726. } b;
  727. } REG_CP_GLB_SYSSTAT18_T;
  728. // sysstat19
  729. typedef union {
  730. uint32_t v;
  731. struct
  732. {
  733. uint32_t latch_bitmap_cycle_index_num14 : 16; // [15:0], read only
  734. uint32_t latch_bitmap_cycle_index_num15 : 16; // [31:16], read only
  735. } b;
  736. } REG_CP_GLB_SYSSTAT19_T;
  737. // sysctrl00
  738. #define CP_GLB_RG_CP2AON_XHB400_AWSPARSE (1 << 3)
  739. #define CP_GLB_RG_CP2GNSS_XHB400_AWSPARSE (1 << 7)
  740. #define CP_GLB_RG_AON2CP_NONBUF_EARLY_RESP_EN (1 << 8)
  741. #define CP_GLB_RG_AON2CP_MCLK_AUTO_GATE_EN (1 << 9)
  742. #define CP_GLB_RG_AON2CP_SCLK_AUTO_GATE_EN (1 << 10)
  743. #define CP_GLB_RG_TSX_NONBUF_EARLY_RESP_EN (1 << 11)
  744. #define CP_GLB_RG_TSX_MCLK_AUTO_GATE_EN (1 << 12)
  745. #define CP_GLB_RG_TSX_SCLK_AUTO_GATE_EN (1 << 13)
  746. #define CP_GLB_RG_CP_AHB_XHB400_AWSPARSE (1 << 14)
  747. #define CP_GLB_RG_IFC2CP_NONBUF_EARLY_RESP_EN (1 << 15)
  748. #define CP_GLB_RG_IFC2CP_CLK_AUTO_GATE_EN (1 << 16)
  749. #define CP_GLB_SLV_DISABLE_REQ_CP_GNSS_FORCE (1 << 18)
  750. #define CP_GLB_SLV_DISABLE_REQ_CP_PSRAM_SEL (1 << 19)
  751. #define CP_GLB_SLV_DISABLE_REQ_CP_PSRAM_FORCE (1 << 20)
  752. #define CP_GLB_SLV_DISABLE_REQ_CP_LTEDMA_SEL (1 << 21)
  753. #define CP_GLB_SLV_DISABLE_REQ_CP_LTEDMA_FORCE (1 << 22)
  754. #define CP_GLB_SLV_DISABLE_REQ_CP_LTECPU_SEL (1 << 23)
  755. #define CP_GLB_SLV_DISABLE_REQ_CP_LTECPU_FORCE (1 << 24)
  756. // sysctrl01
  757. #define CP_GLB_AWQOS_CP_A5(n) (((n)&0xf) << 0)
  758. #define CP_GLB_ARQOS_CP_A5(n) (((n)&0xf) << 4)
  759. #define CP_GLB_AWQOS_F8(n) (((n)&0xf) << 8)
  760. #define CP_GLB_ARQOS_F8(n) (((n)&0xf) << 12)
  761. #define CP_GLB_AWQOS_AXIDMA(n) (((n)&0xf) << 16)
  762. #define CP_GLB_ARQOS_AXIDMA(n) (((n)&0xf) << 20)
  763. #define CP_GLB_AWQOS_CP_IFC(n) (((n)&0xf) << 24)
  764. #define CP_GLB_ARQOS_CP_IFC(n) (((n)&0xf) << 28)
  765. // sysctrl02
  766. #define CP_GLB_AWQOS_AON_M(n) (((n)&0xf) << 0)
  767. #define CP_GLB_ARQOS_AON_M(n) (((n)&0xf) << 4)
  768. #define CP_GLB_AWQOS_LTE_CPU(n) (((n)&0xf) << 8)
  769. #define CP_GLB_ARQOS_LTE_CPU(n) (((n)&0xf) << 12)
  770. #define CP_GLB_AWQOS_LTE_DMA(n) (((n)&0xf) << 16)
  771. #define CP_GLB_ARQOS_LTE_DMA(n) (((n)&0xf) << 20)
  772. // sysctrl03
  773. #define CP_GLB_LP_EB_M0 (1 << 0)
  774. #define CP_GLB_LP_EB_M1 (1 << 1)
  775. #define CP_GLB_LP_EB_M2 (1 << 2)
  776. #define CP_GLB_LP_EB_M3 (1 << 3)
  777. #define CP_GLB_LP_EB_M4 (1 << 4)
  778. #define CP_GLB_LP_EB_MAIN (1 << 5)
  779. #define CP_GLB_LP_EB_S0 (1 << 6)
  780. #define CP_GLB_LP_EB_S1 (1 << 7)
  781. #define CP_GLB_LP_EB_S2 (1 << 8)
  782. #define CP_GLB_LP_EB_S3 (1 << 9)
  783. #define CP_GLB_LP_EB_S4 (1 << 10)
  784. #define CP_GLB_LP_EB_S5 (1 << 11)
  785. #define CP_GLB_LP_EB_S6 (1 << 12)
  786. #define CP_GLB_LP_FORCE_M0 (1 << 13)
  787. #define CP_GLB_LP_FORCE_M1 (1 << 14)
  788. #define CP_GLB_LP_FORCE_M2 (1 << 15)
  789. #define CP_GLB_LP_FORCE_M3 (1 << 16)
  790. #define CP_GLB_LP_FORCE_M4 (1 << 17)
  791. #define CP_GLB_LP_FORCE_MAIN (1 << 18)
  792. #define CP_GLB_LP_FORCE_S0 (1 << 19)
  793. #define CP_GLB_LP_FORCE_S1 (1 << 20)
  794. #define CP_GLB_LP_FORCE_S2 (1 << 21)
  795. #define CP_GLB_LP_FORCE_S3 (1 << 22)
  796. #define CP_GLB_LP_FORCE_S4 (1 << 23)
  797. #define CP_GLB_LP_FORCE_S5 (1 << 24)
  798. #define CP_GLB_LP_FORCE_S6 (1 << 25)
  799. #define CP_GLB_LPC_MAIN_EARLY_WAKEUP_BYPASS (1 << 26)
  800. // sysctrl04
  801. #define CP_GLB_LP_NUM_M0(n) (((n)&0xffff) << 0)
  802. #define CP_GLB_PU_NUM_M0(n) (((n)&0xff) << 16)
  803. // sysctrl05
  804. #define CP_GLB_LP_NUM_M1(n) (((n)&0xffff) << 0)
  805. #define CP_GLB_PU_NUM_M1(n) (((n)&0xff) << 16)
  806. // sysctrl06
  807. #define CP_GLB_LP_NUM_M2(n) (((n)&0xffff) << 0)
  808. #define CP_GLB_PU_NUM_M2(n) (((n)&0xff) << 16)
  809. // sysctrl07
  810. #define CP_GLB_LP_NUM_M3(n) (((n)&0xffff) << 0)
  811. #define CP_GLB_PU_NUM_M3(n) (((n)&0xff) << 16)
  812. // sysctrl08
  813. #define CP_GLB_LP_NUM_M4(n) (((n)&0xffff) << 0)
  814. #define CP_GLB_PU_NUM_M4(n) (((n)&0xff) << 16)
  815. // sysctrl09
  816. #define CP_GLB_LP_NUM_S0(n) (((n)&0xffff) << 0)
  817. #define CP_GLB_PU_NUM_S0(n) (((n)&0xff) << 16)
  818. // sysctrl10
  819. #define CP_GLB_LP_NUM_S1(n) (((n)&0xffff) << 0)
  820. #define CP_GLB_PU_NUM_S1(n) (((n)&0xff) << 16)
  821. // sysctrl11
  822. #define CP_GLB_LP_NUM_S2(n) (((n)&0xffff) << 0)
  823. #define CP_GLB_PU_NUM_S2(n) (((n)&0xff) << 16)
  824. // sysctrl12
  825. #define CP_GLB_LP_NUM_S3(n) (((n)&0xffff) << 0)
  826. #define CP_GLB_PU_NUM_S3(n) (((n)&0xff) << 16)
  827. // sysctrl13
  828. #define CP_GLB_LP_NUM_S4(n) (((n)&0xffff) << 0)
  829. #define CP_GLB_PU_NUM_S4(n) (((n)&0xff) << 16)
  830. // sysctrl14
  831. #define CP_GLB_LP_NUM_S5(n) (((n)&0xffff) << 0)
  832. #define CP_GLB_PU_NUM_S5(n) (((n)&0xff) << 16)
  833. // sysctrl15
  834. #define CP_GLB_LP_NUM_S6(n) (((n)&0xffff) << 0)
  835. #define CP_GLB_PU_NUM_S6(n) (((n)&0xff) << 16)
  836. // sysctrl16
  837. #define CP_GLB_WLAN_IQ_SYNC_SEL (1 << 2)
  838. #define CP_GLB_CP_IFC_HRESP_ERR_MASK (1 << 3)
  839. #define CP_GLB_CP_A5_RESP_ERR_MASK (1 << 4)
  840. #define CP_GLB_FREQ_BIAS_CH0_EN (1 << 5)
  841. #define CP_GLB_FREQ_BIAS_CH1_EN (1 << 6)
  842. #define CP_GLB_FREQ_BIAS_CH2_EN (1 << 7)
  843. #define CP_GLB_FREQ_BIAS_CH3_EN (1 << 8)
  844. #define CP_GLB_RG_TSX_CLKEDGE_SEL (1 << 9)
  845. #define CP_GLB_RG_OSC_CLKEDGE_SEL (1 << 10)
  846. // sysctrl17
  847. #define CP_GLB_CGM_CP_AXI_SEL(n) (((n)&0x7) << 0)
  848. #define CP_GLB_CGM_CP_AXI_DIV(n) (((n)&0x7) << 3)
  849. #define CP_GLB_CGM_CP_AHB_DIV(n) (((n)&0x7) << 6)
  850. #define CP_GLB_CGM_CP_AXI_UPDATE (1 << 9)
  851. #define CP_GLB_CGM_CP_A5_EN (1 << 10)
  852. #define CP_GLB_CGM_CP_AXI_EN (1 << 11)
  853. #define CP_GLB_CGM_CP_AHB_EN (1 << 12)
  854. // sysctrl18
  855. #define CP_GLB_CP_AHB_IRQ0_EN (1 << 0)
  856. #define CP_GLB_CP_AHB_IRQ1_EN (1 << 1)
  857. #define CP_GLB_CP_AHB_F8_EN (1 << 2)
  858. #define CP_GLB_CP_AHB_CH_DBG_EN (1 << 3)
  859. #define CP_GLB_CP_AHB_CH0_EN (1 << 4)
  860. #define CP_GLB_CP_AHB_CH1_EN (1 << 5)
  861. #define CP_GLB_CP_AHB_CH2_EN (1 << 6)
  862. #define CP_GLB_CP_AHB_CH3_EN (1 << 7)
  863. #define CP_GLB_CP_AHB_AXIDMA_EN (1 << 8)
  864. #define CP_GLB_CP_AHB_SYSRAM_CONF_EN (1 << 9)
  865. #define CP_GLB_CP_AHB_TIMER4_CONF_EN (1 << 10)
  866. #define CP_GLB_CP_AHB_TIMER4_MOD_EN (1 << 11)
  867. #define CP_GLB_CP_AHB_TIMER3_CONF_EN (1 << 12)
  868. #define CP_GLB_CP_AHB_TIMER3_MOD_EN (1 << 13)
  869. #define CP_GLB_CP_AHB_SCI1_CONF_EN (1 << 14)
  870. #define CP_GLB_CP_AHB_SCI1_MOD_EN (1 << 15)
  871. #define CP_GLB_CP_AHB_SCI1_FUNC_EN (1 << 16)
  872. #define CP_GLB_CP_AHB_SCI2_MOD_EN (1 << 17)
  873. #define CP_GLB_CP_AHB_SCI2_CONF_EN (1 << 18)
  874. #define CP_GLB_CP_AHB_SCI2_FUNC_EN (1 << 19)
  875. #define CP_GLB_CP_AHB_BUSMON_FUNC_EN (1 << 20)
  876. #define CP_GLB_WLAN_11B_EN (1 << 21)
  877. #define CP_GLB_FREQ_BIAS_FUNC_EN (1 << 22)
  878. #define CP_GLB_DAP_DAP_EN (1 << 23)
  879. #define CP_GLB_CP_APB_IFC_EN (1 << 26)
  880. #define CP_GLB_CP_AHB_IFC_EN (1 << 27)
  881. #define CP_GLB_AON2CP_AHB_EN (1 << 28)
  882. #define CP_GLB_FREQ_BIAS_AHB_EN (1 << 29)
  883. // sysctrl19
  884. #define CP_GLB_CGM_WCN_11B_DFE_EN (1 << 0)
  885. #define CP_GLB_CGM_TIMER_26M_EN (1 << 1)
  886. #define CP_GLB_CGM_WDG_32K_EN (1 << 2)
  887. #define CP_GLB_CGM_WCN_11B_ADC_EN (1 << 3)
  888. #define CP_GLB_CGM_GNSS_TSX_SEL (1 << 4)
  889. #define CP_GLB_CGM_GNSS_TSX_EN (1 << 5)
  890. #define CP_GLB_CGM_THM_TSX_EN (1 << 6)
  891. #define CP_GLB_CGM_THM_OSC_EN (1 << 7)
  892. // sysctrl20
  893. #define CP_GLB_CP_A5_SOFT_RST (1 << 0)
  894. #define CP_GLB_CP_A5CS_SOFT_RST (1 << 1)
  895. #define CP_GLB_CP_A5DBG_SOFT_RST (1 << 2)
  896. #define CP_GLB_CP_IRQ1_SOFT_RST (1 << 3)
  897. #define CP_GLB_CP_IRQ0_SOFT_RST (1 << 4)
  898. #define CP_GLB_CP_TIMER3_SOFT_RST (1 << 5)
  899. #define CP_GLB_CP_IMEM_APB_SOFT_RST (1 << 6)
  900. #define CP_GLB_CP_IMEM_AXI_SOFT_RST (1 << 7)
  901. #define CP_GLB_CP_AXIDMA_SOFT_RST (1 << 8)
  902. #define CP_GLB_CP_F8_SOFT_RST (1 << 9)
  903. #define CP_GLB_CP_WLAN_SOFT_RST (1 << 10)
  904. #define CP_GLB_CP_BUSMON_M4_SOFT_RST (1 << 11)
  905. #define CP_GLB_CP_BUSMON_M3_SOFT_RST (1 << 12)
  906. #define CP_GLB_CP_BUSMON_M2_SOFT_RST (1 << 13)
  907. #define CP_GLB_CP_BUSMON_M1_SOFT_RST (1 << 14)
  908. #define CP_GLB_CP_BUSMON_M0_SOFT_RST (1 << 15)
  909. #define CP_GLB_CP_BSUMON_APB_SOFT_RST (1 << 16)
  910. #define CP_GLB_CP_SCI2_SOFT_RST (1 << 17)
  911. #define CP_GLB_CP_SCI1_SOFT_RST (1 << 18)
  912. #define CP_GLB_CP_TIMER4_SOFT_RST (1 << 19)
  913. #define CP_GLB_AON2CP_SOFT_RST (1 << 20)
  914. #define CP_GLB_CP2GNSS_SOFT_RST (1 << 21)
  915. #define CP_GLB_CP2AON_SOFT_RST (1 << 22)
  916. #define CP_GLB_CP_LTECPU_ASYNC_SOFT_RST (1 << 23)
  917. #define CP_GLB_CP_LTEDMA_ASYNC_SOFT_RST (1 << 24)
  918. #define CP_GLB_CP_PSRAM_ASYNC_SOFT_RST (1 << 25)
  919. #define CP_GLB_TSX_AB_SOFT_RST (1 << 26)
  920. #define CP_GLB_TSX_IP_SOFT_RST (1 << 27)
  921. // sysctrl21
  922. #define CP_GLB_CP_IFC_CH_DBG_AUTO_GATE_EN (1 << 0)
  923. #define CP_GLB_CP_IFC_CH0_AUTO_GATE_EN (1 << 1)
  924. #define CP_GLB_CP_IFC_CH1_AUTO_GATE_EN (1 << 2)
  925. #define CP_GLB_CP_IFC_CH2_AUTO_GATE_EN (1 << 3)
  926. #define CP_GLB_CP_IFC_CH3_AUTO_GATE_EN (1 << 4)
  927. #define CP_GLB_CP_IFC_AUTO_GATE_EN (1 << 5)
  928. #define CP_GLB_CP_SCI1_AUTO_GATE_EN (1 << 6)
  929. #define CP_GLB_CP_SCI2_AUTO_GATE_EN (1 << 7)
  930. #define CP_GLB_AON2CP_AHB_AUTO_GATE_EN (1 << 8)
  931. #define CP_GLB_IFC2CP_AHB_AUTO_GATE_EN (1 << 9)
  932. #define CP_GLB_CP2FREQ_AHB_AUTO_GATE_EN (1 << 12)
  933. #define CP_GLB_CP_A5_AUTO_GATE_EN (1 << 13)
  934. #define CP_GLB_CP_AXI_AUTO_GATE_EN (1 << 14)
  935. // sysctrl22
  936. #define CP_GLB_CP_APBREG_SOFT_RST (1 << 0)
  937. // sysstat04
  938. #define CP_GLB_AXI_DETECTOR_OVERFLOW_CP_PSRAM (1 << 0)
  939. #define CP_GLB_PWR_HANDSHK_CLK_REQ_CP_PSRAM (1 << 1)
  940. #define CP_GLB_BRIDGE_TRANS_IDLE_CP_PSRAM (1 << 2)
  941. #define CP_GLB_AXI_DETECTOR_OVERFLOW_CP_LTEDMA (1 << 3)
  942. #define CP_GLB_PWR_HANDSHK_CLK_REQ_CP_LTEDMA (1 << 4)
  943. #define CP_GLB_BRIDGE_TRANS_IDLE_CP_LTEDMA (1 << 5)
  944. #define CP_GLB_AXI_DETECTOR_OVERFLOW_CP_LTECPU (1 << 6)
  945. #define CP_GLB_PWR_HANDSHK_CLK_REQ_CP_LTECPU (1 << 7)
  946. #define CP_GLB_BRIDGE_TRANS_IDLE_CP_LTECPU (1 << 8)
  947. // sysstat05
  948. #define CP_GLB_LP_STAT_M0 (1 << 0)
  949. #define CP_GLB_LP_STAT_M1 (1 << 1)
  950. #define CP_GLB_LP_STAT_M2 (1 << 2)
  951. #define CP_GLB_LP_STAT_M3 (1 << 3)
  952. #define CP_GLB_LP_STAT_M4 (1 << 4)
  953. #define CP_GLB_LP_STAT_MAIN (1 << 5)
  954. #define CP_GLB_LP_STAT_S0 (1 << 6)
  955. #define CP_GLB_LP_STAT_S1 (1 << 7)
  956. #define CP_GLB_LP_STAT_S2 (1 << 8)
  957. #define CP_GLB_LP_STAT_S3 (1 << 9)
  958. #define CP_GLB_LP_STAT_S4 (1 << 10)
  959. #define CP_GLB_LP_STAT_S5 (1 << 11)
  960. #define CP_GLB_LP_STAT_S6 (1 << 12)
  961. #define CP_GLB_CGM_BUSY_LPC_M0 (1 << 13)
  962. #define CP_GLB_CGM_BUSY_LPC_M1 (1 << 14)
  963. #define CP_GLB_CGM_BUSY_LPC_M2 (1 << 15)
  964. #define CP_GLB_CGM_BUSY_LPC_M3 (1 << 16)
  965. #define CP_GLB_CGM_BUSY_LPC_M4 (1 << 17)
  966. #define CP_GLB_CGM_BUSY_LPC_MAIN (1 << 18)
  967. #define CP_GLB_CGM_BUSY_LPC_S0 (1 << 19)
  968. #define CP_GLB_CGM_BUSY_LPC_S1 (1 << 20)
  969. #define CP_GLB_CGM_BUSY_LPC_S2 (1 << 21)
  970. #define CP_GLB_CGM_BUSY_LPC_S3 (1 << 22)
  971. #define CP_GLB_CGM_BUSY_LPC_S4 (1 << 23)
  972. #define CP_GLB_CGM_BUSY_LPC_S5 (1 << 24)
  973. #define CP_GLB_CGM_BUSY_LPC_S6 (1 << 25)
  974. #define CP_GLB_CP_LIGHT_STOP (1 << 26)
  975. #define CP_GLB_CP_SLP_ACK (1 << 27)
  976. #define CP_GLB_ALL_MASTER_FORCE_SLP (1 << 28)
  977. #define CP_GLB_ALL_SLAVE_FORCE_SLP (1 << 29)
  978. // sysstat06
  979. #define CP_GLB_FORCE_ACK_M0 (1 << 0)
  980. #define CP_GLB_FORCE_ACK_M1 (1 << 1)
  981. #define CP_GLB_FORCE_ACK_M2 (1 << 2)
  982. #define CP_GLB_FORCE_ACK_M3 (1 << 3)
  983. #define CP_GLB_FORCE_ACK_M4 (1 << 4)
  984. #define CP_GLB_FORCE_ACK_MAIN (1 << 5)
  985. #define CP_GLB_FORCE_ACK_S0 (1 << 6)
  986. #define CP_GLB_FORCE_ACK_S1 (1 << 7)
  987. #define CP_GLB_FORCE_ACK_S2 (1 << 8)
  988. #define CP_GLB_FORCE_ACK_S3 (1 << 9)
  989. #define CP_GLB_FORCE_ACK_S4 (1 << 10)
  990. #define CP_GLB_FORCE_ACK_S5 (1 << 11)
  991. #define CP_GLB_FORCE_ACK_S6 (1 << 12)
  992. // sysstat07
  993. #define CP_GLB_BUSMON0_LOCK (1 << 0)
  994. #define CP_GLB_BUSMON1_LOCK (1 << 1)
  995. #define CP_GLB_BUSMON2_LOCK (1 << 2)
  996. #define CP_GLB_BUSMON3_LOCK (1 << 3)
  997. #define CP_GLB_BUSMON4_LOCK (1 << 4)
  998. #define CP_GLB_BUSMON_RBUSY0 (1 << 5)
  999. #define CP_GLB_BUSMON_WBUSY0 (1 << 6)
  1000. #define CP_GLB_BUSMON_BUSY0 (1 << 7)
  1001. #define CP_GLB_BUSMON_RBUSY1 (1 << 8)
  1002. #define CP_GLB_BUSMON_WBUSY1 (1 << 9)
  1003. #define CP_GLB_BUSMON_BUSY1 (1 << 10)
  1004. #define CP_GLB_BUSMON_RBUSY2 (1 << 11)
  1005. #define CP_GLB_BUSMON_WBUSY2 (1 << 12)
  1006. #define CP_GLB_BUSMON_BUSY2 (1 << 13)
  1007. #define CP_GLB_BUSMON_RBUSY3 (1 << 14)
  1008. #define CP_GLB_BUSMON_WBUSY3 (1 << 15)
  1009. #define CP_GLB_BUSMON_BUSY3 (1 << 16)
  1010. #define CP_GLB_BUSMON_RBUSY4 (1 << 17)
  1011. #define CP_GLB_BUSMON_WBUSY4 (1 << 18)
  1012. #define CP_GLB_BUSMON_BUSY4 (1 << 19)
  1013. #define CP_GLB_CP_DBG_MONITOR(n) (((n)&0xff) << 20)
  1014. // sysctrl28
  1015. #define CP_GLB_CORE_INT_DISABLE (1 << 0)
  1016. #define CP_GLB_CP_LIGHT_STOP_EN (1 << 1)
  1017. #define CP_GLB_LIGHT_BYPASS_M0_LPC (1 << 2)
  1018. #define CP_GLB_LIGHT_BYPASS_M1_LPC (1 << 3)
  1019. #define CP_GLB_LIGHT_BYPASS_M2_LPC (1 << 4)
  1020. #define CP_GLB_LIGHT_BYPASS_M3_LPC (1 << 5)
  1021. #define CP_GLB_LIGHT_BYPASS_M4_LPC (1 << 6)
  1022. #define CP_GLB_LIGHT_BYPASS_MAIN_LPC (1 << 7)
  1023. #define CP_GLB_LIGHT_BYPASS_M0 (1 << 8)
  1024. #define CP_GLB_LIGHT_BYPASS_M1 (1 << 9)
  1025. #define CP_GLB_LIGHT_BYPASS_M2 (1 << 10)
  1026. #define CP_GLB_LIGHT_BYPASS_M3 (1 << 11)
  1027. #define CP_GLB_LIGHT_BYPASS_M4 (1 << 12)
  1028. #define CP_GLB_LIGHT_BYPASS_S0 (1 << 13)
  1029. #define CP_GLB_LIGHT_BYPASS_S1 (1 << 14)
  1030. #define CP_GLB_LIGHT_BYPASS_S2 (1 << 15)
  1031. #define CP_GLB_LIGHT_BYPASS_S3 (1 << 16)
  1032. #define CP_GLB_LIGHT_BYPASS_S4 (1 << 17)
  1033. #define CP_GLB_LIGHT_BYPASS_S5 (1 << 18)
  1034. #define CP_GLB_LIGHT_BYPASS_S6 (1 << 19)
  1035. #define CP_GLB_LIGHT_BYPASS_SCI1 (1 << 20)
  1036. #define CP_GLB_LIGHT_BYPASS_SCI2 (1 << 21)
  1037. #define CP_GLB_LIGHT_BYPASS_TIMER3 (1 << 22)
  1038. #define CP_GLB_LIGHT_BYPASS_TIMER4 (1 << 23)
  1039. #define CP_GLB_LIGHT_BYPASS_WLAN (1 << 24)
  1040. #define CP_GLB_CORE_STOP_BYPASS (1 << 25)
  1041. // sysstat09
  1042. #define CP_GLB_DC_EST_I(n) (((n)&0x7fff) << 0)
  1043. #define CP_GLB_SET_DC (1 << 15)
  1044. #define CP_GLB_DC_EST_Q(n) (((n)&0x7fff) << 16)
  1045. #define CP_GLB_RESET_DC (1 << 31)
  1046. // sysctrl29
  1047. #define CP_GLB_LP_NUM_MAIN(n) (((n)&0xffff) << 0)
  1048. #define CP_GLB_PU_NUM_MAIN(n) (((n)&0xff) << 16)
  1049. // sysctrl30
  1050. #define CP_GLB_CP_LATCH_BITMAP (1 << 0)
  1051. // sysstat10
  1052. #define CP_GLB_LATCH_CNT_122M88_VALUE_L(n) (((n)&0xffff) << 0)
  1053. #define CP_GLB_LATCH_CNT_122M88_VALUE_M(n) (((n)&0xffff) << 16)
  1054. // sysstat11
  1055. #define CP_GLB_LATCH_CNT_122M88_VALUE_H(n) (((n)&0xffff) << 0)
  1056. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_WPTR(n) (((n)&0xff) << 16)
  1057. // sysstat12
  1058. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM0(n) (((n)&0xffff) << 0)
  1059. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM1(n) (((n)&0xffff) << 16)
  1060. // sysstat13
  1061. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM2(n) (((n)&0xffff) << 0)
  1062. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM3(n) (((n)&0xffff) << 16)
  1063. // sysstat14
  1064. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM4(n) (((n)&0xffff) << 0)
  1065. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM5(n) (((n)&0xffff) << 16)
  1066. // sysstat15
  1067. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM6(n) (((n)&0xffff) << 0)
  1068. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM7(n) (((n)&0xffff) << 16)
  1069. // sysstat16
  1070. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM8(n) (((n)&0xffff) << 0)
  1071. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM9(n) (((n)&0xffff) << 16)
  1072. // sysstat17
  1073. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM10(n) (((n)&0xffff) << 0)
  1074. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM11(n) (((n)&0xffff) << 16)
  1075. // sysstat18
  1076. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM12(n) (((n)&0xffff) << 0)
  1077. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM13(n) (((n)&0xffff) << 16)
  1078. // sysstat19
  1079. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM14(n) (((n)&0xffff) << 0)
  1080. #define CP_GLB_LATCH_BITMAP_CYCLE_INDEX_NUM15(n) (((n)&0xffff) << 16)
  1081. #endif // _CP_GLB_H_