rf_rxdlpf.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733
  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 _RF_RXDLPF_H_
  13. #define _RF_RXDLPF_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_RF_RXDLPF_SET_OFFSET (1024)
  17. #define REG_RF_RXDLPF_CLR_OFFSET (2048)
  18. #define REG_RF_RXDLPF_BASE (0x50037000)
  19. typedef volatile struct
  20. {
  21. uint32_t dlpf_ctrl_reg; // 0x00000000
  22. uint32_t dlpf_dr_reg; // 0x00000004
  23. uint32_t dlpf_afc_pha_offset_reg; // 0x00000008
  24. uint32_t dlpf_kdco_pha_offset_reg; // 0x0000000c
  25. uint32_t dlpf_gain_kp_afc_reg; // 0x00000010
  26. uint32_t dlpf_gain_ki_afc_reg; // 0x00000014
  27. uint32_t dlpf_gain_kp_2m_reg; // 0x00000018
  28. uint32_t dlpf_gain_ki_2m_reg; // 0x0000001c
  29. uint32_t dlpf_gain_kp_200k_reg; // 0x00000020
  30. uint32_t dlpf_gain_ki_200k_reg; // 0x00000024
  31. uint32_t dlpf_iir0_gain0_reg; // 0x00000028
  32. uint32_t dlpf_iir0_gain1_reg; // 0x0000002c
  33. uint32_t dlpf_iir1_gain0_reg; // 0x00000030
  34. uint32_t dlpf_iir1_gain1_reg; // 0x00000034
  35. uint32_t dlpf_iir_gain_msb_reg; // 0x00000038
  36. uint32_t dlpf_diff_sel_reg; // 0x0000003c
  37. uint32_t dlpf_afc_diff_thr_lsb_reg; // 0x00000040
  38. uint32_t dlpf_afc_diff_thr_msb_reg; // 0x00000044
  39. uint32_t dlpf_afc_cnt_thr_reg; // 0x00000048
  40. uint32_t dlpf_lock_2m_diff_thr_lsb_reg; // 0x0000004c
  41. uint32_t dlpf_lock_2m_diff_thr_msb_reg; // 0x00000050
  42. uint32_t dlpf_lock_2m_cnt_thr_reg; // 0x00000054
  43. uint32_t dlpf_lock_200k_diff_thr_lsb_reg; // 0x00000058
  44. uint32_t dlpf_lock_200k_diff_thr_msb_reg; // 0x0000005c
  45. uint32_t dlpf_lock_200k_cnt_thr_reg; // 0x00000060
  46. uint32_t dlpf_timer0_cnt_lsb_reg; // 0x00000064
  47. uint32_t dlpf_timer0_cnt_msb_reg; // 0x00000068
  48. uint32_t dlpf_timer1_cnt_lsb_reg; // 0x0000006c
  49. uint32_t dlpf_timer1_cnt_msb_reg; // 0x00000070
  50. uint32_t dlpf_timer2_cnt_lsb_reg; // 0x00000074
  51. uint32_t dlpf_timer2_cnt_msb_reg; // 0x00000078
  52. uint32_t dlpf_capture_reg; // 0x0000007c
  53. uint32_t dlpf_status0_reg; // 0x00000080
  54. uint32_t dlpf_status1_reg; // 0x00000084
  55. uint32_t dlpf_afc_code_status; // 0x00000088
  56. uint32_t dlpf_kdco_code_status; // 0x0000008c
  57. uint32_t dlpf_tdc_code_reg; // 0x00000090
  58. uint32_t dlpf_sum0_l_reg; // 0x00000094
  59. uint32_t dlpf_sum0_m_reg; // 0x00000098
  60. uint32_t dlpf_sum0_h_reg; // 0x0000009c
  61. uint32_t dlpf_iir0_data_lsb_reg; // 0x000000a0
  62. uint32_t dlpf_iir0_data_msb_reg; // 0x000000a4
  63. uint32_t dlpf_iir1_data_lsb_reg; // 0x000000a8
  64. uint32_t dlpf_iir1_data_msb_reg; // 0x000000ac
  65. uint32_t dlpf_ctrl_bit_reg; // 0x000000b0
  66. uint32_t gro_phase_tdc_cal; // 0x000000b4
  67. uint32_t __184[210]; // 0x000000b8
  68. uint32_t dlpf_ctrl_reg_set; // 0x00000400
  69. uint32_t __1028[43]; // 0x00000404
  70. uint32_t dlpf_ctrl_bit_reg_set; // 0x000004b0
  71. uint32_t __1204[211]; // 0x000004b4
  72. uint32_t dlpf_ctrl_reg_clr; // 0x00000800
  73. uint32_t __2052[43]; // 0x00000804
  74. uint32_t dlpf_ctrl_bit_reg_clr; // 0x000008b0
  75. } HWP_RF_RXDLPF_T;
  76. #define hwp_rfRxdlpf ((HWP_RF_RXDLPF_T *)REG_ACCESS_ADDRESS(REG_RF_RXDLPF_BASE))
  77. // dlpf_ctrl_reg
  78. typedef union {
  79. uint32_t v;
  80. struct
  81. {
  82. uint32_t __0_0 : 1; // [0]
  83. uint32_t dlpf_en : 1; // [1]
  84. uint32_t dlpf_lock_mode : 1; // [2]
  85. uint32_t dlpf_clk_inv0_reg : 1; // [3]
  86. uint32_t dlpf_clk_inv1_reg : 1; // [4]
  87. uint32_t dlpf_notch_bypass : 1; // [5]
  88. uint32_t dlpf_mdll_num : 3; // [8:6]
  89. uint32_t pha_dout_clk_inv : 1; // [9]
  90. uint32_t tdc_dout_clk_inv : 1; // [10]
  91. uint32_t pha_err_clk_inv : 1; // [11]
  92. uint32_t tdc_cal_clk_inv : 1; // [12]
  93. uint32_t notch_en_sel_status2 : 1; // [13]
  94. uint32_t sdm_bypass : 1; // [14]
  95. uint32_t notch_en_sel_status3 : 1; // [15]
  96. uint32_t __31_16 : 16; // [31:16]
  97. } b;
  98. } REG_RF_RXDLPF_DLPF_CTRL_REG_T;
  99. // dlpf_dr_reg
  100. typedef union {
  101. uint32_t v;
  102. struct
  103. {
  104. uint32_t dlpf_dr_value : 14; // [13:0]
  105. uint32_t dlpf_dr_mode : 1; // [14]
  106. uint32_t __31_15 : 17; // [31:15]
  107. } b;
  108. } REG_RF_RXDLPF_DLPF_DR_REG_T;
  109. // dlpf_afc_pha_offset_reg
  110. typedef union {
  111. uint32_t v;
  112. struct
  113. {
  114. uint32_t dlpf_afc_pha_offset : 16; // [15:0]
  115. uint32_t __31_16 : 16; // [31:16]
  116. } b;
  117. } REG_RF_RXDLPF_DLPF_AFC_PHA_OFFSET_REG_T;
  118. // dlpf_kdco_pha_offset_reg
  119. typedef union {
  120. uint32_t v;
  121. struct
  122. {
  123. uint32_t dlpf_kdco_pha_offset : 16; // [15:0]
  124. uint32_t __31_16 : 16; // [31:16]
  125. } b;
  126. } REG_RF_RXDLPF_DLPF_KDCO_PHA_OFFSET_REG_T;
  127. // dlpf_gain_kp_afc_reg
  128. typedef union {
  129. uint32_t v;
  130. struct
  131. {
  132. uint32_t dlpf_gain_kp_afc : 13; // [12:0]
  133. uint32_t __31_13 : 19; // [31:13]
  134. } b;
  135. } REG_RF_RXDLPF_DLPF_GAIN_KP_AFC_REG_T;
  136. // dlpf_gain_ki_afc_reg
  137. typedef union {
  138. uint32_t v;
  139. struct
  140. {
  141. uint32_t dlpf_gain_ki_afc : 16; // [15:0]
  142. uint32_t __31_16 : 16; // [31:16]
  143. } b;
  144. } REG_RF_RXDLPF_DLPF_GAIN_KI_AFC_REG_T;
  145. // dlpf_gain_kp_2m_reg
  146. typedef union {
  147. uint32_t v;
  148. struct
  149. {
  150. uint32_t dlpf_gain_kp_2m : 13; // [12:0]
  151. uint32_t __31_13 : 19; // [31:13]
  152. } b;
  153. } REG_RF_RXDLPF_DLPF_GAIN_KP_2M_REG_T;
  154. // dlpf_gain_ki_2m_reg
  155. typedef union {
  156. uint32_t v;
  157. struct
  158. {
  159. uint32_t dlpf_gain_ki_2m : 16; // [15:0]
  160. uint32_t __31_16 : 16; // [31:16]
  161. } b;
  162. } REG_RF_RXDLPF_DLPF_GAIN_KI_2M_REG_T;
  163. // dlpf_gain_kp_200k_reg
  164. typedef union {
  165. uint32_t v;
  166. struct
  167. {
  168. uint32_t dlpf_gain_kp_200k : 13; // [12:0]
  169. uint32_t __31_13 : 19; // [31:13]
  170. } b;
  171. } REG_RF_RXDLPF_DLPF_GAIN_KP_200K_REG_T;
  172. // dlpf_gain_ki_200k_reg
  173. typedef union {
  174. uint32_t v;
  175. struct
  176. {
  177. uint32_t dlpf_gain_ki_200k : 16; // [15:0]
  178. uint32_t __31_16 : 16; // [31:16]
  179. } b;
  180. } REG_RF_RXDLPF_DLPF_GAIN_KI_200K_REG_T;
  181. // dlpf_iir0_gain0_reg
  182. typedef union {
  183. uint32_t v;
  184. struct
  185. {
  186. uint32_t dlpf_iir0_gain0 : 16; // [15:0]
  187. uint32_t __31_16 : 16; // [31:16]
  188. } b;
  189. } REG_RF_RXDLPF_DLPF_IIR0_GAIN0_REG_T;
  190. // dlpf_iir0_gain1_reg
  191. typedef union {
  192. uint32_t v;
  193. struct
  194. {
  195. uint32_t dlpf_iir0_gain1 : 16; // [15:0]
  196. uint32_t __31_16 : 16; // [31:16]
  197. } b;
  198. } REG_RF_RXDLPF_DLPF_IIR0_GAIN1_REG_T;
  199. // dlpf_iir1_gain0_reg
  200. typedef union {
  201. uint32_t v;
  202. struct
  203. {
  204. uint32_t dlpf_iir1_gain0 : 16; // [15:0]
  205. uint32_t __31_16 : 16; // [31:16]
  206. } b;
  207. } REG_RF_RXDLPF_DLPF_IIR1_GAIN0_REG_T;
  208. // dlpf_iir1_gain1_reg
  209. typedef union {
  210. uint32_t v;
  211. struct
  212. {
  213. uint32_t dlpf_iir1_gain1 : 16; // [15:0]
  214. uint32_t __31_16 : 16; // [31:16]
  215. } b;
  216. } REG_RF_RXDLPF_DLPF_IIR1_GAIN1_REG_T;
  217. // dlpf_iir_gain_msb_reg
  218. typedef union {
  219. uint32_t v;
  220. struct
  221. {
  222. uint32_t dlpf_iir0_gain0_msb : 1; // [0]
  223. uint32_t dlpf_iir0_gain1_msb : 1; // [1]
  224. uint32_t dlpf_iir1_gain0_msb : 1; // [2]
  225. uint32_t dlpf_iir1_gain1_msb : 1; // [3]
  226. uint32_t __31_4 : 28; // [31:4]
  227. } b;
  228. } REG_RF_RXDLPF_DLPF_IIR_GAIN_MSB_REG_T;
  229. // dlpf_diff_sel_reg
  230. typedef union {
  231. uint32_t v;
  232. struct
  233. {
  234. uint32_t dlpf_diff_sel : 3; // [2:0]
  235. uint32_t __31_3 : 29; // [31:3]
  236. } b;
  237. } REG_RF_RXDLPF_DLPF_DIFF_SEL_REG_T;
  238. // dlpf_afc_diff_thr_lsb_reg
  239. typedef union {
  240. uint32_t v;
  241. struct
  242. {
  243. uint32_t dlpf_afc_diff_thr_lsb : 16; // [15:0]
  244. uint32_t __31_16 : 16; // [31:16]
  245. } b;
  246. } REG_RF_RXDLPF_DLPF_AFC_DIFF_THR_LSB_REG_T;
  247. // dlpf_afc_diff_thr_msb_reg
  248. typedef union {
  249. uint32_t v;
  250. struct
  251. {
  252. uint32_t dlpf_afc_diff_thr_msb : 16; // [15:0]
  253. uint32_t __31_16 : 16; // [31:16]
  254. } b;
  255. } REG_RF_RXDLPF_DLPF_AFC_DIFF_THR_MSB_REG_T;
  256. // dlpf_afc_cnt_thr_reg
  257. typedef union {
  258. uint32_t v;
  259. struct
  260. {
  261. uint32_t dlpf_afc_cnt_thr : 16; // [15:0]
  262. uint32_t __31_16 : 16; // [31:16]
  263. } b;
  264. } REG_RF_RXDLPF_DLPF_AFC_CNT_THR_REG_T;
  265. // dlpf_lock_2m_diff_thr_lsb_reg
  266. typedef union {
  267. uint32_t v;
  268. struct
  269. {
  270. uint32_t dlpf_lock_2m_diff_thr_lsb : 16; // [15:0]
  271. uint32_t __31_16 : 16; // [31:16]
  272. } b;
  273. } REG_RF_RXDLPF_DLPF_LOCK_2M_DIFF_THR_LSB_REG_T;
  274. // dlpf_lock_2m_diff_thr_msb_reg
  275. typedef union {
  276. uint32_t v;
  277. struct
  278. {
  279. uint32_t dlpf_lock_2m_diff_thr_msb : 16; // [15:0]
  280. uint32_t __31_16 : 16; // [31:16]
  281. } b;
  282. } REG_RF_RXDLPF_DLPF_LOCK_2M_DIFF_THR_MSB_REG_T;
  283. // dlpf_lock_2m_cnt_thr_reg
  284. typedef union {
  285. uint32_t v;
  286. struct
  287. {
  288. uint32_t dlpf_lock_2m_cnt_thr : 16; // [15:0]
  289. uint32_t __31_16 : 16; // [31:16]
  290. } b;
  291. } REG_RF_RXDLPF_DLPF_LOCK_2M_CNT_THR_REG_T;
  292. // dlpf_lock_200k_diff_thr_lsb_reg
  293. typedef union {
  294. uint32_t v;
  295. struct
  296. {
  297. uint32_t dlpf_lock_200k_diff_thr_lsb : 16; // [15:0]
  298. uint32_t __31_16 : 16; // [31:16]
  299. } b;
  300. } REG_RF_RXDLPF_DLPF_LOCK_200K_DIFF_THR_LSB_REG_T;
  301. // dlpf_lock_200k_diff_thr_msb_reg
  302. typedef union {
  303. uint32_t v;
  304. struct
  305. {
  306. uint32_t dlpf_lock_200k_diff_thr_msb : 16; // [15:0]
  307. uint32_t __31_16 : 16; // [31:16]
  308. } b;
  309. } REG_RF_RXDLPF_DLPF_LOCK_200K_DIFF_THR_MSB_REG_T;
  310. // dlpf_lock_200k_cnt_thr_reg
  311. typedef union {
  312. uint32_t v;
  313. struct
  314. {
  315. uint32_t dlpf_lock_200k_cnt_thr : 16; // [15:0]
  316. uint32_t __31_16 : 16; // [31:16]
  317. } b;
  318. } REG_RF_RXDLPF_DLPF_LOCK_200K_CNT_THR_REG_T;
  319. // dlpf_timer0_cnt_lsb_reg
  320. typedef union {
  321. uint32_t v;
  322. struct
  323. {
  324. uint32_t dlpf_timer0_cnt_lsb : 16; // [15:0]
  325. uint32_t __31_16 : 16; // [31:16]
  326. } b;
  327. } REG_RF_RXDLPF_DLPF_TIMER0_CNT_LSB_REG_T;
  328. // dlpf_timer0_cnt_msb_reg
  329. typedef union {
  330. uint32_t v;
  331. struct
  332. {
  333. uint32_t dlpf_timer0_cnt_msb : 16; // [15:0]
  334. uint32_t __31_16 : 16; // [31:16]
  335. } b;
  336. } REG_RF_RXDLPF_DLPF_TIMER0_CNT_MSB_REG_T;
  337. // dlpf_timer1_cnt_lsb_reg
  338. typedef union {
  339. uint32_t v;
  340. struct
  341. {
  342. uint32_t dlpf_timer1_cnt_lsb : 16; // [15:0]
  343. uint32_t __31_16 : 16; // [31:16]
  344. } b;
  345. } REG_RF_RXDLPF_DLPF_TIMER1_CNT_LSB_REG_T;
  346. // dlpf_timer1_cnt_msb_reg
  347. typedef union {
  348. uint32_t v;
  349. struct
  350. {
  351. uint32_t dlpf_timer1_cnt_msb : 16; // [15:0]
  352. uint32_t __31_16 : 16; // [31:16]
  353. } b;
  354. } REG_RF_RXDLPF_DLPF_TIMER1_CNT_MSB_REG_T;
  355. // dlpf_timer2_cnt_lsb_reg
  356. typedef union {
  357. uint32_t v;
  358. struct
  359. {
  360. uint32_t dlpf_timer2_cnt_lsb : 16; // [15:0]
  361. uint32_t __31_16 : 16; // [31:16]
  362. } b;
  363. } REG_RF_RXDLPF_DLPF_TIMER2_CNT_LSB_REG_T;
  364. // dlpf_timer2_cnt_msb_reg
  365. typedef union {
  366. uint32_t v;
  367. struct
  368. {
  369. uint32_t dlpf_timer2_cnt_msb : 16; // [15:0]
  370. uint32_t __31_16 : 16; // [31:16]
  371. } b;
  372. } REG_RF_RXDLPF_DLPF_TIMER2_CNT_MSB_REG_T;
  373. // dlpf_capture_reg
  374. typedef union {
  375. uint32_t v;
  376. struct
  377. {
  378. uint32_t dlpf_capture_en : 1; // [0]
  379. uint32_t __31_1 : 31; // [31:1]
  380. } b;
  381. } REG_RF_RXDLPF_DLPF_CAPTURE_REG_T;
  382. // dlpf_status0_reg
  383. typedef union {
  384. uint32_t v;
  385. struct
  386. {
  387. uint32_t dlpf_det_status : 2; // [1:0], read only
  388. uint32_t dlpf_afc_code : 11; // [12:2], read only
  389. uint32_t __31_13 : 19; // [31:13]
  390. } b;
  391. } REG_RF_RXDLPF_DLPF_STATUS0_REG_T;
  392. // dlpf_status1_reg
  393. typedef union {
  394. uint32_t v;
  395. struct
  396. {
  397. uint32_t dlpf_kdco_code : 14; // [13:0], read only
  398. uint32_t __31_14 : 18; // [31:14]
  399. } b;
  400. } REG_RF_RXDLPF_DLPF_STATUS1_REG_T;
  401. // dlpf_afc_code_status
  402. typedef union {
  403. uint32_t v;
  404. struct
  405. {
  406. uint32_t dlpf_afc_code_reg : 11; // [10:0], read only
  407. uint32_t __31_11 : 21; // [31:11]
  408. } b;
  409. } REG_RF_RXDLPF_DLPF_AFC_CODE_STATUS_T;
  410. // dlpf_kdco_code_status
  411. typedef union {
  412. uint32_t v;
  413. struct
  414. {
  415. uint32_t dlpf_kdco_code_reg : 14; // [13:0], read only
  416. uint32_t __31_14 : 18; // [31:14]
  417. } b;
  418. } REG_RF_RXDLPF_DLPF_KDCO_CODE_STATUS_T;
  419. // dlpf_tdc_code_reg
  420. typedef union {
  421. uint32_t v;
  422. struct
  423. {
  424. uint32_t dlpf_tdc_code : 16; // [15:0], read only
  425. uint32_t __31_16 : 16; // [31:16]
  426. } b;
  427. } REG_RF_RXDLPF_DLPF_TDC_CODE_REG_T;
  428. // dlpf_sum0_l_reg
  429. typedef union {
  430. uint32_t v;
  431. struct
  432. {
  433. uint32_t dlpf_sum0_l : 16; // [15:0], read only
  434. uint32_t __31_16 : 16; // [31:16]
  435. } b;
  436. } REG_RF_RXDLPF_DLPF_SUM0_L_REG_T;
  437. // dlpf_sum0_m_reg
  438. typedef union {
  439. uint32_t v;
  440. struct
  441. {
  442. uint32_t dlpf_sum0_m : 16; // [15:0], read only
  443. uint32_t __31_16 : 16; // [31:16]
  444. } b;
  445. } REG_RF_RXDLPF_DLPF_SUM0_M_REG_T;
  446. // dlpf_sum0_h_reg
  447. typedef union {
  448. uint32_t v;
  449. struct
  450. {
  451. uint32_t dlpf_sum0_h : 7; // [6:0], read only
  452. uint32_t __31_7 : 25; // [31:7]
  453. } b;
  454. } REG_RF_RXDLPF_DLPF_SUM0_H_REG_T;
  455. // dlpf_iir0_data_lsb_reg
  456. typedef union {
  457. uint32_t v;
  458. struct
  459. {
  460. uint32_t dlpf_iir0_data_lsb : 16; // [15:0], read only
  461. uint32_t __31_16 : 16; // [31:16]
  462. } b;
  463. } REG_RF_RXDLPF_DLPF_IIR0_DATA_LSB_REG_T;
  464. // dlpf_iir0_data_msb_reg
  465. typedef union {
  466. uint32_t v;
  467. struct
  468. {
  469. uint32_t dlpf_iir0_data_msb : 16; // [15:0], read only
  470. uint32_t __31_16 : 16; // [31:16]
  471. } b;
  472. } REG_RF_RXDLPF_DLPF_IIR0_DATA_MSB_REG_T;
  473. // dlpf_iir1_data_lsb_reg
  474. typedef union {
  475. uint32_t v;
  476. struct
  477. {
  478. uint32_t dlpf_iir1_data_lsb : 16; // [15:0], read only
  479. uint32_t __31_16 : 16; // [31:16]
  480. } b;
  481. } REG_RF_RXDLPF_DLPF_IIR1_DATA_LSB_REG_T;
  482. // dlpf_iir1_data_msb_reg
  483. typedef union {
  484. uint32_t v;
  485. struct
  486. {
  487. uint32_t dlpf_iir1_data_msb : 16; // [15:0], read only
  488. uint32_t __31_16 : 16; // [31:16]
  489. } b;
  490. } REG_RF_RXDLPF_DLPF_IIR1_DATA_MSB_REG_T;
  491. // dlpf_ctrl_bit_reg
  492. typedef union {
  493. uint32_t v;
  494. struct
  495. {
  496. uint32_t iir0_bypass : 1; // [0]
  497. uint32_t iir1_bypass : 1; // [1]
  498. uint32_t afc_bypass : 1; // [2]
  499. uint32_t 2m_lock_bypass : 1; // [3]
  500. uint32_t kdco_agc_mode : 1; // [4]
  501. uint32_t kdco_polar_sel : 1; // [5]
  502. uint32_t sel_clk_out1_inv : 1; // [6]
  503. uint32_t sel_clk_out2_inv : 1; // [7]
  504. uint32_t capture_data_sel_tdc : 1; // [8]
  505. uint32_t __31_9 : 23; // [31:9]
  506. } b;
  507. } REG_RF_RXDLPF_DLPF_CTRL_BIT_REG_T;
  508. // gro_phase_tdc_cal
  509. typedef union {
  510. uint32_t v;
  511. struct
  512. {
  513. uint32_t phase_tdc_cal : 16; // [15:0], read only
  514. uint32_t __31_16 : 16; // [31:16]
  515. } b;
  516. } REG_RF_RXDLPF_GRO_PHASE_TDC_CAL_T;
  517. // dlpf_ctrl_reg
  518. #define RF_RXDLPF_DLPF_EN (1 << 1)
  519. #define RF_RXDLPF_DLPF_LOCK_MODE (1 << 2)
  520. #define RF_RXDLPF_DLPF_CLK_INV0_REG (1 << 3)
  521. #define RF_RXDLPF_DLPF_CLK_INV1_REG (1 << 4)
  522. #define RF_RXDLPF_DLPF_NOTCH_BYPASS (1 << 5)
  523. #define RF_RXDLPF_DLPF_MDLL_NUM(n) (((n)&0x7) << 6)
  524. #define RF_RXDLPF_PHA_DOUT_CLK_INV (1 << 9)
  525. #define RF_RXDLPF_TDC_DOUT_CLK_INV (1 << 10)
  526. #define RF_RXDLPF_PHA_ERR_CLK_INV (1 << 11)
  527. #define RF_RXDLPF_TDC_CAL_CLK_INV (1 << 12)
  528. #define RF_RXDLPF_NOTCH_EN_SEL_STATUS2 (1 << 13)
  529. #define RF_RXDLPF_SDM_BYPASS (1 << 14)
  530. #define RF_RXDLPF_NOTCH_EN_SEL_STATUS3 (1 << 15)
  531. // dlpf_dr_reg
  532. #define RF_RXDLPF_DLPF_DR_VALUE(n) (((n)&0x3fff) << 0)
  533. #define RF_RXDLPF_DLPF_DR_MODE (1 << 14)
  534. // dlpf_afc_pha_offset_reg
  535. #define RF_RXDLPF_DLPF_AFC_PHA_OFFSET(n) (((n)&0xffff) << 0)
  536. // dlpf_kdco_pha_offset_reg
  537. #define RF_RXDLPF_DLPF_KDCO_PHA_OFFSET(n) (((n)&0xffff) << 0)
  538. // dlpf_gain_kp_afc_reg
  539. #define RF_RXDLPF_DLPF_GAIN_KP_AFC(n) (((n)&0x1fff) << 0)
  540. // dlpf_gain_ki_afc_reg
  541. #define RF_RXDLPF_DLPF_GAIN_KI_AFC(n) (((n)&0xffff) << 0)
  542. // dlpf_gain_kp_2m_reg
  543. #define RF_RXDLPF_DLPF_GAIN_KP_2M(n) (((n)&0x1fff) << 0)
  544. // dlpf_gain_ki_2m_reg
  545. #define RF_RXDLPF_DLPF_GAIN_KI_2M(n) (((n)&0xffff) << 0)
  546. // dlpf_gain_kp_200k_reg
  547. #define RF_RXDLPF_DLPF_GAIN_KP_200K(n) (((n)&0x1fff) << 0)
  548. // dlpf_gain_ki_200k_reg
  549. #define RF_RXDLPF_DLPF_GAIN_KI_200K(n) (((n)&0xffff) << 0)
  550. // dlpf_iir0_gain0_reg
  551. #define RF_RXDLPF_DLPF_IIR0_GAIN0(n) (((n)&0xffff) << 0)
  552. // dlpf_iir0_gain1_reg
  553. #define RF_RXDLPF_DLPF_IIR0_GAIN1(n) (((n)&0xffff) << 0)
  554. // dlpf_iir1_gain0_reg
  555. #define RF_RXDLPF_DLPF_IIR1_GAIN0(n) (((n)&0xffff) << 0)
  556. // dlpf_iir1_gain1_reg
  557. #define RF_RXDLPF_DLPF_IIR1_GAIN1(n) (((n)&0xffff) << 0)
  558. // dlpf_iir_gain_msb_reg
  559. #define RF_RXDLPF_DLPF_IIR0_GAIN0_MSB (1 << 0)
  560. #define RF_RXDLPF_DLPF_IIR0_GAIN1_MSB (1 << 1)
  561. #define RF_RXDLPF_DLPF_IIR1_GAIN0_MSB (1 << 2)
  562. #define RF_RXDLPF_DLPF_IIR1_GAIN1_MSB (1 << 3)
  563. // dlpf_diff_sel_reg
  564. #define RF_RXDLPF_DLPF_DIFF_SEL(n) (((n)&0x7) << 0)
  565. // dlpf_afc_diff_thr_lsb_reg
  566. #define RF_RXDLPF_DLPF_AFC_DIFF_THR_LSB(n) (((n)&0xffff) << 0)
  567. // dlpf_afc_diff_thr_msb_reg
  568. #define RF_RXDLPF_DLPF_AFC_DIFF_THR_MSB(n) (((n)&0xffff) << 0)
  569. // dlpf_afc_cnt_thr_reg
  570. #define RF_RXDLPF_DLPF_AFC_CNT_THR(n) (((n)&0xffff) << 0)
  571. // dlpf_lock_2m_diff_thr_lsb_reg
  572. #define RF_RXDLPF_DLPF_LOCK_2M_DIFF_THR_LSB(n) (((n)&0xffff) << 0)
  573. // dlpf_lock_2m_diff_thr_msb_reg
  574. #define RF_RXDLPF_DLPF_LOCK_2M_DIFF_THR_MSB(n) (((n)&0xffff) << 0)
  575. // dlpf_lock_2m_cnt_thr_reg
  576. #define RF_RXDLPF_DLPF_LOCK_2M_CNT_THR(n) (((n)&0xffff) << 0)
  577. // dlpf_lock_200k_diff_thr_lsb_reg
  578. #define RF_RXDLPF_DLPF_LOCK_200K_DIFF_THR_LSB(n) (((n)&0xffff) << 0)
  579. // dlpf_lock_200k_diff_thr_msb_reg
  580. #define RF_RXDLPF_DLPF_LOCK_200K_DIFF_THR_MSB(n) (((n)&0xffff) << 0)
  581. // dlpf_lock_200k_cnt_thr_reg
  582. #define RF_RXDLPF_DLPF_LOCK_200K_CNT_THR(n) (((n)&0xffff) << 0)
  583. // dlpf_timer0_cnt_lsb_reg
  584. #define RF_RXDLPF_DLPF_TIMER0_CNT_LSB(n) (((n)&0xffff) << 0)
  585. // dlpf_timer0_cnt_msb_reg
  586. #define RF_RXDLPF_DLPF_TIMER0_CNT_MSB(n) (((n)&0xffff) << 0)
  587. // dlpf_timer1_cnt_lsb_reg
  588. #define RF_RXDLPF_DLPF_TIMER1_CNT_LSB(n) (((n)&0xffff) << 0)
  589. // dlpf_timer1_cnt_msb_reg
  590. #define RF_RXDLPF_DLPF_TIMER1_CNT_MSB(n) (((n)&0xffff) << 0)
  591. // dlpf_timer2_cnt_lsb_reg
  592. #define RF_RXDLPF_DLPF_TIMER2_CNT_LSB(n) (((n)&0xffff) << 0)
  593. // dlpf_timer2_cnt_msb_reg
  594. #define RF_RXDLPF_DLPF_TIMER2_CNT_MSB(n) (((n)&0xffff) << 0)
  595. // dlpf_capture_reg
  596. #define RF_RXDLPF_DLPF_CAPTURE_EN (1 << 0)
  597. // dlpf_status0_reg
  598. #define RF_RXDLPF_DLPF_DET_STATUS(n) (((n)&0x3) << 0)
  599. #define RF_RXDLPF_DLPF_AFC_CODE(n) (((n)&0x7ff) << 2)
  600. // dlpf_status1_reg
  601. #define RF_RXDLPF_DLPF_KDCO_CODE(n) (((n)&0x3fff) << 0)
  602. // dlpf_afc_code_status
  603. #define RF_RXDLPF_DLPF_AFC_CODE_REG(n) (((n)&0x7ff) << 0)
  604. // dlpf_kdco_code_status
  605. #define RF_RXDLPF_DLPF_KDCO_CODE_REG(n) (((n)&0x3fff) << 0)
  606. // dlpf_tdc_code_reg
  607. #define RF_RXDLPF_DLPF_TDC_CODE(n) (((n)&0xffff) << 0)
  608. // dlpf_sum0_l_reg
  609. #define RF_RXDLPF_DLPF_SUM0_L(n) (((n)&0xffff) << 0)
  610. // dlpf_sum0_m_reg
  611. #define RF_RXDLPF_DLPF_SUM0_M(n) (((n)&0xffff) << 0)
  612. // dlpf_sum0_h_reg
  613. #define RF_RXDLPF_DLPF_SUM0_H(n) (((n)&0x7f) << 0)
  614. // dlpf_iir0_data_lsb_reg
  615. #define RF_RXDLPF_DLPF_IIR0_DATA_LSB(n) (((n)&0xffff) << 0)
  616. // dlpf_iir0_data_msb_reg
  617. #define RF_RXDLPF_DLPF_IIR0_DATA_MSB(n) (((n)&0xffff) << 0)
  618. // dlpf_iir1_data_lsb_reg
  619. #define RF_RXDLPF_DLPF_IIR1_DATA_LSB(n) (((n)&0xffff) << 0)
  620. // dlpf_iir1_data_msb_reg
  621. #define RF_RXDLPF_DLPF_IIR1_DATA_MSB(n) (((n)&0xffff) << 0)
  622. // dlpf_ctrl_bit_reg
  623. #define RF_RXDLPF_IIR0_BYPASS (1 << 0)
  624. #define RF_RXDLPF_IIR1_BYPASS (1 << 1)
  625. #define RF_RXDLPF_AFC_BYPASS (1 << 2)
  626. #define RF_RXDLPF_2M_LOCK_BYPASS (1 << 3)
  627. #define RF_RXDLPF_KDCO_AGC_MODE (1 << 4)
  628. #define RF_RXDLPF_KDCO_POLAR_SEL (1 << 5)
  629. #define RF_RXDLPF_SEL_CLK_OUT1_INV (1 << 6)
  630. #define RF_RXDLPF_SEL_CLK_OUT2_INV (1 << 7)
  631. #define RF_RXDLPF_CAPTURE_DATA_SEL_TDC (1 << 8)
  632. // gro_phase_tdc_cal
  633. #define RF_RXDLPF_PHASE_TDC_CAL(n) (((n)&0xffff) << 0)
  634. #endif // _RF_RXDLPF_H_