pmic_eic.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  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 _PMIC_EIC_H_
  13. #define _PMIC_EIC_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_PMIC_EIC_BASE (0x51108500)
  17. typedef volatile struct
  18. {
  19. uint32_t eic_dbnc_data; // 0x00000000
  20. uint32_t eic_dbnc_dmsk; // 0x00000004
  21. uint32_t __8[3]; // 0x00000008
  22. uint32_t eic_dbnc_iev; // 0x00000014
  23. uint32_t eic_dbnc_ie; // 0x00000018
  24. uint32_t eic_dbnc_ris; // 0x0000001c
  25. uint32_t eic_dbnc_mis; // 0x00000020
  26. uint32_t eic_dbnc_ic; // 0x00000024
  27. uint32_t eic_dbnc_trig; // 0x00000028
  28. uint32_t __44[5]; // 0x0000002c
  29. uint32_t eic0_dbnc_ctrl; // 0x00000040
  30. uint32_t eic1_dbnc_ctrl; // 0x00000044
  31. uint32_t eic2_dbnc_ctrl; // 0x00000048
  32. uint32_t eic3_dbnc_ctrl; // 0x0000004c
  33. uint32_t eic4_dbnc_ctrl; // 0x00000050
  34. uint32_t eic5_dbnc_ctrl; // 0x00000054
  35. uint32_t eic6_dbnc_ctrl; // 0x00000058
  36. uint32_t eic7_dbnc_ctrl; // 0x0000005c
  37. uint32_t eic8_dbnc_ctrl; // 0x00000060
  38. uint32_t eic9_dbnc_ctrl; // 0x00000064
  39. uint32_t eic10_dbnc_ctrl; // 0x00000068
  40. uint32_t eic11_dbnc_ctrl; // 0x0000006c
  41. uint32_t eic12_dbnc_ctrl; // 0x00000070
  42. uint32_t eic13_dbnc_ctrl; // 0x00000074
  43. uint32_t eic14_dbnc_ctrl; // 0x00000078
  44. uint32_t eic15_dbnc_ctrl; // 0x0000007c
  45. } HWP_PMIC_EIC_T;
  46. #define hwp_pmicEic ((HWP_PMIC_EIC_T *)REG_ACCESS_ADDRESS(REG_PMIC_EIC_BASE))
  47. // eic_dbnc_data
  48. typedef union {
  49. uint32_t v;
  50. struct
  51. {
  52. uint32_t dbnc_data : 16; // [15:0], read only
  53. uint32_t __31_16 : 16; // [31:16]
  54. } b;
  55. } REG_PMIC_EIC_EIC_DBNC_DATA_T;
  56. // eic_dbnc_dmsk
  57. typedef union {
  58. uint32_t v;
  59. struct
  60. {
  61. uint32_t dbnc_dmsk : 16; // [15:0]
  62. uint32_t __31_16 : 16; // [31:16]
  63. } b;
  64. } REG_PMIC_EIC_EIC_DBNC_DMSK_T;
  65. // eic_dbnc_iev
  66. typedef union {
  67. uint32_t v;
  68. struct
  69. {
  70. uint32_t dbnc_iev : 16; // [15:0]
  71. uint32_t __31_16 : 16; // [31:16]
  72. } b;
  73. } REG_PMIC_EIC_EIC_DBNC_IEV_T;
  74. // eic_dbnc_ie
  75. typedef union {
  76. uint32_t v;
  77. struct
  78. {
  79. uint32_t dbnc_ie : 16; // [15:0]
  80. uint32_t __31_16 : 16; // [31:16]
  81. } b;
  82. } REG_PMIC_EIC_EIC_DBNC_IE_T;
  83. // eic_dbnc_ris
  84. typedef union {
  85. uint32_t v;
  86. struct
  87. {
  88. uint32_t dbnc_ris : 16; // [15:0], read only
  89. uint32_t __31_16 : 16; // [31:16]
  90. } b;
  91. } REG_PMIC_EIC_EIC_DBNC_RIS_T;
  92. // eic_dbnc_mis
  93. typedef union {
  94. uint32_t v;
  95. struct
  96. {
  97. uint32_t dbnc_mis : 16; // [15:0], read only
  98. uint32_t __31_16 : 16; // [31:16]
  99. } b;
  100. } REG_PMIC_EIC_EIC_DBNC_MIS_T;
  101. // eic_dbnc_ic
  102. typedef union {
  103. uint32_t v;
  104. struct
  105. {
  106. uint32_t dbnc_ic : 16; // [15:0], write clear
  107. uint32_t __31_16 : 16; // [31:16]
  108. } b;
  109. } REG_PMIC_EIC_EIC_DBNC_IC_T;
  110. // eic_dbnc_trig
  111. typedef union {
  112. uint32_t v;
  113. struct
  114. {
  115. uint32_t dbnc_trig : 16; // [15:0]
  116. uint32_t __31_16 : 16; // [31:16]
  117. } b;
  118. } REG_PMIC_EIC_EIC_DBNC_TRIG_T;
  119. // eic0_dbnc_ctrl
  120. typedef union {
  121. uint32_t v;
  122. struct
  123. {
  124. uint32_t dbnc_cnt0 : 12; // [11:0]
  125. uint32_t __13_12 : 2; // [13:12]
  126. uint32_t dbnc_en0 : 1; // [14]
  127. uint32_t force_clk_dbnc0 : 1; // [15]
  128. uint32_t __31_16 : 16; // [31:16]
  129. } b;
  130. } REG_PMIC_EIC_EIC0_DBNC_CTRL_T;
  131. // eic1_dbnc_ctrl
  132. typedef union {
  133. uint32_t v;
  134. struct
  135. {
  136. uint32_t dbnc_cnt1 : 12; // [11:0]
  137. uint32_t __13_12 : 2; // [13:12]
  138. uint32_t dbnc_en1 : 1; // [14]
  139. uint32_t force_clk_dbnc1 : 1; // [15]
  140. uint32_t __31_16 : 16; // [31:16]
  141. } b;
  142. } REG_PMIC_EIC_EIC1_DBNC_CTRL_T;
  143. // eic2_dbnc_ctrl
  144. typedef union {
  145. uint32_t v;
  146. struct
  147. {
  148. uint32_t dbnc_cnt2 : 12; // [11:0]
  149. uint32_t __13_12 : 2; // [13:12]
  150. uint32_t dbnc_en2 : 1; // [14]
  151. uint32_t force_clk_dbnc2 : 1; // [15]
  152. uint32_t __31_16 : 16; // [31:16]
  153. } b;
  154. } REG_PMIC_EIC_EIC2_DBNC_CTRL_T;
  155. // eic3_dbnc_ctrl
  156. typedef union {
  157. uint32_t v;
  158. struct
  159. {
  160. uint32_t dbnc_cnt3 : 12; // [11:0]
  161. uint32_t __13_12 : 2; // [13:12]
  162. uint32_t dbnc_en3 : 1; // [14]
  163. uint32_t force_clk_dbnc3 : 1; // [15]
  164. uint32_t __31_16 : 16; // [31:16]
  165. } b;
  166. } REG_PMIC_EIC_EIC3_DBNC_CTRL_T;
  167. // eic4_dbnc_ctrl
  168. typedef union {
  169. uint32_t v;
  170. struct
  171. {
  172. uint32_t dbnc_cnt4 : 12; // [11:0]
  173. uint32_t __13_12 : 2; // [13:12]
  174. uint32_t dbnc_en4 : 1; // [14]
  175. uint32_t force_clk_dbnc4 : 1; // [15]
  176. uint32_t __31_16 : 16; // [31:16]
  177. } b;
  178. } REG_PMIC_EIC_EIC4_DBNC_CTRL_T;
  179. // eic5_dbnc_ctrl
  180. typedef union {
  181. uint32_t v;
  182. struct
  183. {
  184. uint32_t dbnc_cnt5 : 12; // [11:0]
  185. uint32_t __13_12 : 2; // [13:12]
  186. uint32_t dbnc_en5 : 1; // [14]
  187. uint32_t force_clk_dbnc5 : 1; // [15]
  188. uint32_t __31_16 : 16; // [31:16]
  189. } b;
  190. } REG_PMIC_EIC_EIC5_DBNC_CTRL_T;
  191. // eic6_dbnc_ctrl
  192. typedef union {
  193. uint32_t v;
  194. struct
  195. {
  196. uint32_t dbnc_cnt6 : 12; // [11:0]
  197. uint32_t __13_12 : 2; // [13:12]
  198. uint32_t dbnc_en6 : 1; // [14]
  199. uint32_t force_clk_dbnc6 : 1; // [15]
  200. uint32_t __31_16 : 16; // [31:16]
  201. } b;
  202. } REG_PMIC_EIC_EIC6_DBNC_CTRL_T;
  203. // eic7_dbnc_ctrl
  204. typedef union {
  205. uint32_t v;
  206. struct
  207. {
  208. uint32_t dbnc_cnt7 : 12; // [11:0]
  209. uint32_t __13_12 : 2; // [13:12]
  210. uint32_t dbnc_en7 : 1; // [14]
  211. uint32_t force_clk_dbnc7 : 1; // [15]
  212. uint32_t __31_16 : 16; // [31:16]
  213. } b;
  214. } REG_PMIC_EIC_EIC7_DBNC_CTRL_T;
  215. // eic8_dbnc_ctrl
  216. typedef union {
  217. uint32_t v;
  218. struct
  219. {
  220. uint32_t dbnc_cnt8 : 12; // [11:0]
  221. uint32_t __13_12 : 2; // [13:12]
  222. uint32_t dbnc_en8 : 1; // [14]
  223. uint32_t force_clk_dbnc8 : 1; // [15]
  224. uint32_t __31_16 : 16; // [31:16]
  225. } b;
  226. } REG_PMIC_EIC_EIC8_DBNC_CTRL_T;
  227. // eic9_dbnc_ctrl
  228. typedef union {
  229. uint32_t v;
  230. struct
  231. {
  232. uint32_t dbnc_cnt9 : 12; // [11:0]
  233. uint32_t __13_12 : 2; // [13:12]
  234. uint32_t dbnc_en9 : 1; // [14]
  235. uint32_t force_clk_dbnc9 : 1; // [15]
  236. uint32_t __31_16 : 16; // [31:16]
  237. } b;
  238. } REG_PMIC_EIC_EIC9_DBNC_CTRL_T;
  239. // eic10_dbnc_ctrl
  240. typedef union {
  241. uint32_t v;
  242. struct
  243. {
  244. uint32_t dbnc_cnt10 : 12; // [11:0]
  245. uint32_t __13_12 : 2; // [13:12]
  246. uint32_t dbnc_en10 : 1; // [14]
  247. uint32_t force_clk_dbnc10 : 1; // [15]
  248. uint32_t __31_16 : 16; // [31:16]
  249. } b;
  250. } REG_PMIC_EIC_EIC10_DBNC_CTRL_T;
  251. // eic11_dbnc_ctrl
  252. typedef union {
  253. uint32_t v;
  254. struct
  255. {
  256. uint32_t dbnc_cnt11 : 12; // [11:0]
  257. uint32_t __13_12 : 2; // [13:12]
  258. uint32_t dbnc_en11 : 1; // [14]
  259. uint32_t force_clk_dbnc11 : 1; // [15]
  260. uint32_t __31_16 : 16; // [31:16]
  261. } b;
  262. } REG_PMIC_EIC_EIC11_DBNC_CTRL_T;
  263. // eic12_dbnc_ctrl
  264. typedef union {
  265. uint32_t v;
  266. struct
  267. {
  268. uint32_t dbnc_cnt12 : 12; // [11:0]
  269. uint32_t __13_12 : 2; // [13:12]
  270. uint32_t dbnc_en12 : 1; // [14]
  271. uint32_t force_clk_dbnc12 : 1; // [15]
  272. uint32_t __31_16 : 16; // [31:16]
  273. } b;
  274. } REG_PMIC_EIC_EIC12_DBNC_CTRL_T;
  275. // eic13_dbnc_ctrl
  276. typedef union {
  277. uint32_t v;
  278. struct
  279. {
  280. uint32_t dbnc_cnt13 : 12; // [11:0]
  281. uint32_t __13_12 : 2; // [13:12]
  282. uint32_t dbnc_en13 : 1; // [14]
  283. uint32_t force_clk_dbnc13 : 1; // [15]
  284. uint32_t __31_16 : 16; // [31:16]
  285. } b;
  286. } REG_PMIC_EIC_EIC13_DBNC_CTRL_T;
  287. // eic14_dbnc_ctrl
  288. typedef union {
  289. uint32_t v;
  290. struct
  291. {
  292. uint32_t dbnc_cnt14 : 12; // [11:0]
  293. uint32_t __13_12 : 2; // [13:12]
  294. uint32_t dbnc_en14 : 1; // [14]
  295. uint32_t force_clk_dbnc14 : 1; // [15]
  296. uint32_t __31_16 : 16; // [31:16]
  297. } b;
  298. } REG_PMIC_EIC_EIC14_DBNC_CTRL_T;
  299. // eic15_dbnc_ctrl
  300. typedef union {
  301. uint32_t v;
  302. struct
  303. {
  304. uint32_t dbnc_cnt15 : 12; // [11:0]
  305. uint32_t __13_12 : 2; // [13:12]
  306. uint32_t dbnc_en15 : 1; // [14]
  307. uint32_t force_clk_dbnc15 : 1; // [15]
  308. uint32_t __31_16 : 16; // [31:16]
  309. } b;
  310. } REG_PMIC_EIC_EIC15_DBNC_CTRL_T;
  311. // eic_dbnc_data
  312. #define PMIC_EIC_DBNC_DATA(n) (((n)&0xffff) << 0)
  313. // eic_dbnc_dmsk
  314. #define PMIC_EIC_DBNC_DMSK(n) (((n)&0xffff) << 0)
  315. // eic_dbnc_iev
  316. #define PMIC_EIC_DBNC_IEV(n) (((n)&0xffff) << 0)
  317. // eic_dbnc_ie
  318. #define PMIC_EIC_DBNC_IE(n) (((n)&0xffff) << 0)
  319. // eic_dbnc_ris
  320. #define PMIC_EIC_DBNC_RIS(n) (((n)&0xffff) << 0)
  321. // eic_dbnc_mis
  322. #define PMIC_EIC_DBNC_MIS(n) (((n)&0xffff) << 0)
  323. // eic_dbnc_ic
  324. #define PMIC_EIC_DBNC_IC(n) (((n)&0xffff) << 0)
  325. // eic_dbnc_trig
  326. #define PMIC_EIC_DBNC_TRIG(n) (((n)&0xffff) << 0)
  327. // eic0_dbnc_ctrl
  328. #define PMIC_EIC_DBNC_CNT0(n) (((n)&0xfff) << 0)
  329. #define PMIC_EIC_DBNC_EN0 (1 << 14)
  330. #define PMIC_EIC_FORCE_CLK_DBNC0 (1 << 15)
  331. // eic1_dbnc_ctrl
  332. #define PMIC_EIC_DBNC_CNT1(n) (((n)&0xfff) << 0)
  333. #define PMIC_EIC_DBNC_EN1 (1 << 14)
  334. #define PMIC_EIC_FORCE_CLK_DBNC1 (1 << 15)
  335. // eic2_dbnc_ctrl
  336. #define PMIC_EIC_DBNC_CNT2(n) (((n)&0xfff) << 0)
  337. #define PMIC_EIC_DBNC_EN2 (1 << 14)
  338. #define PMIC_EIC_FORCE_CLK_DBNC2 (1 << 15)
  339. // eic3_dbnc_ctrl
  340. #define PMIC_EIC_DBNC_CNT3(n) (((n)&0xfff) << 0)
  341. #define PMIC_EIC_DBNC_EN3 (1 << 14)
  342. #define PMIC_EIC_FORCE_CLK_DBNC3 (1 << 15)
  343. // eic4_dbnc_ctrl
  344. #define PMIC_EIC_DBNC_CNT4(n) (((n)&0xfff) << 0)
  345. #define PMIC_EIC_DBNC_EN4 (1 << 14)
  346. #define PMIC_EIC_FORCE_CLK_DBNC4 (1 << 15)
  347. // eic5_dbnc_ctrl
  348. #define PMIC_EIC_DBNC_CNT5(n) (((n)&0xfff) << 0)
  349. #define PMIC_EIC_DBNC_EN5 (1 << 14)
  350. #define PMIC_EIC_FORCE_CLK_DBNC5 (1 << 15)
  351. // eic6_dbnc_ctrl
  352. #define PMIC_EIC_DBNC_CNT6(n) (((n)&0xfff) << 0)
  353. #define PMIC_EIC_DBNC_EN6 (1 << 14)
  354. #define PMIC_EIC_FORCE_CLK_DBNC6 (1 << 15)
  355. // eic7_dbnc_ctrl
  356. #define PMIC_EIC_DBNC_CNT7(n) (((n)&0xfff) << 0)
  357. #define PMIC_EIC_DBNC_EN7 (1 << 14)
  358. #define PMIC_EIC_FORCE_CLK_DBNC7 (1 << 15)
  359. // eic8_dbnc_ctrl
  360. #define PMIC_EIC_DBNC_CNT8(n) (((n)&0xfff) << 0)
  361. #define PMIC_EIC_DBNC_EN8 (1 << 14)
  362. #define PMIC_EIC_FORCE_CLK_DBNC8 (1 << 15)
  363. // eic9_dbnc_ctrl
  364. #define PMIC_EIC_DBNC_CNT9(n) (((n)&0xfff) << 0)
  365. #define PMIC_EIC_DBNC_EN9 (1 << 14)
  366. #define PMIC_EIC_FORCE_CLK_DBNC9 (1 << 15)
  367. // eic10_dbnc_ctrl
  368. #define PMIC_EIC_DBNC_CNT10(n) (((n)&0xfff) << 0)
  369. #define PMIC_EIC_DBNC_EN10 (1 << 14)
  370. #define PMIC_EIC_FORCE_CLK_DBNC10 (1 << 15)
  371. // eic11_dbnc_ctrl
  372. #define PMIC_EIC_DBNC_CNT11(n) (((n)&0xfff) << 0)
  373. #define PMIC_EIC_DBNC_EN11 (1 << 14)
  374. #define PMIC_EIC_FORCE_CLK_DBNC11 (1 << 15)
  375. // eic12_dbnc_ctrl
  376. #define PMIC_EIC_DBNC_CNT12(n) (((n)&0xfff) << 0)
  377. #define PMIC_EIC_DBNC_EN12 (1 << 14)
  378. #define PMIC_EIC_FORCE_CLK_DBNC12 (1 << 15)
  379. // eic13_dbnc_ctrl
  380. #define PMIC_EIC_DBNC_CNT13(n) (((n)&0xfff) << 0)
  381. #define PMIC_EIC_DBNC_EN13 (1 << 14)
  382. #define PMIC_EIC_FORCE_CLK_DBNC13 (1 << 15)
  383. // eic14_dbnc_ctrl
  384. #define PMIC_EIC_DBNC_CNT14(n) (((n)&0xfff) << 0)
  385. #define PMIC_EIC_DBNC_EN14 (1 << 14)
  386. #define PMIC_EIC_FORCE_CLK_DBNC14 (1 << 15)
  387. // eic15_dbnc_ctrl
  388. #define PMIC_EIC_DBNC_CNT15(n) (((n)&0xfff) << 0)
  389. #define PMIC_EIC_DBNC_EN15 (1 << 14)
  390. #define PMIC_EIC_FORCE_CLK_DBNC15 (1 << 15)
  391. #endif // _PMIC_EIC_H_