aud_2ad.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  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 _AUD_2AD_H_
  13. #define _AUD_2AD_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_AUD_2AD_BASE (0x5150a000)
  17. typedef volatile struct
  18. {
  19. uint32_t aud_top_ctl; // 0x00000000
  20. uint32_t aud_clr; // 0x00000004
  21. uint32_t aud_iis_ctl; // 0x00000008
  22. uint32_t dac_src_ctl; // 0x0000000c
  23. uint32_t dac_sdm_ctl0; // 0x00000010
  24. uint32_t dac_sdm_ctl1; // 0x00000014
  25. uint32_t adc_src_ctl; // 0x00000018
  26. uint32_t aud_loop_test; // 0x0000001c
  27. uint32_t aud_sts0; // 0x00000020
  28. uint32_t aud_int_clr; // 0x00000024
  29. uint32_t aud_int_en; // 0x00000028
  30. uint32_t audif_fifo_ctl; // 0x0000002c
  31. uint32_t aud_dmic_ctl; // 0x00000030
  32. uint32_t adc1_iis_ctl; // 0x00000034
  33. uint32_t dac_sdm_dc_l; // 0x00000038
  34. uint32_t dac_sdm_dc_h; // 0x0000003c
  35. uint32_t audif_ctl0; // 0x00000040
  36. uint32_t audif_adc_fifo_sts; // 0x00000044
  37. uint32_t audif_dac_fifo_sts; // 0x00000048
  38. uint32_t audif_sts; // 0x0000004c
  39. uint32_t audif_sts_raw; // 0x00000050
  40. uint32_t audif_sts_clr; // 0x00000054
  41. uint32_t dac_src_step; // 0x00000058
  42. uint32_t adc_dgain; // 0x0000005c
  43. uint32_t dac_dgain0; // 0x00000060
  44. uint32_t dac_dgain1; // 0x00000064
  45. uint32_t dac_dgain2; // 0x00000068
  46. } HWP_AUD_2AD_T;
  47. #define hwp_aud2ad ((HWP_AUD_2AD_T *)REG_ACCESS_ADDRESS(REG_AUD_2AD_BASE))
  48. // aud_top_ctl
  49. typedef union {
  50. uint32_t v;
  51. struct
  52. {
  53. uint32_t dac_en_l : 1; // [0]
  54. uint32_t adc_en_l : 1; // [1]
  55. uint32_t dac_en_r : 1; // [2]
  56. uint32_t adc_en_r : 1; // [3]
  57. uint32_t dac_iis_sel : 2; // [5:4]
  58. uint32_t adc_iis_sel : 2; // [7:6]
  59. uint32_t adc_sinc_in_sel : 2; // [9:8]
  60. uint32_t adc1_en_l : 1; // [10]
  61. uint32_t adc1_en_r : 1; // [11]
  62. uint32_t adc1_iis_sel : 2; // [13:12]
  63. uint32_t adc1_sinc_in_sel : 2; // [15:14]
  64. uint32_t __31_16 : 16; // [31:16]
  65. } b;
  66. } REG_AUD_2AD_AUD_TOP_CTL_T;
  67. // aud_clr
  68. typedef union {
  69. uint32_t v;
  70. struct
  71. {
  72. uint32_t adc1_clr : 1; // [0]
  73. uint32_t dac_clr : 1; // [1]
  74. uint32_t adc_clr : 1; // [2]
  75. uint32_t __31_3 : 29; // [31:3]
  76. } b;
  77. } REG_AUD_2AD_AUD_CLR_T;
  78. // aud_iis_ctl
  79. typedef union {
  80. uint32_t v;
  81. struct
  82. {
  83. uint32_t iis_clkdiv_mode : 1; // [0]
  84. uint32_t dac_lr_sel : 1; // [1]
  85. uint32_t adc_lr_sel : 1; // [2]
  86. uint32_t dac_io_mode : 2; // [4:3]
  87. uint32_t adc_io_mode : 2; // [6:5]
  88. uint32_t dac_iowl : 2; // [8:7]
  89. uint32_t adc_iowl : 2; // [10:9]
  90. uint32_t dac_sample_phase_sel : 1; // [11]
  91. uint32_t dac_bclk_pol : 1; // [12]
  92. uint32_t adc_bclk_pol : 1; // [13]
  93. uint32_t dac_iis_ckgate_en : 1; // [14]
  94. uint32_t adc_iis_ckgate_en : 1; // [15]
  95. uint32_t __31_16 : 16; // [31:16]
  96. } b;
  97. } REG_AUD_2AD_AUD_IIS_CTL_T;
  98. // dac_src_ctl
  99. typedef union {
  100. uint32_t v;
  101. struct
  102. {
  103. uint32_t dac_fs_mode : 4; // [3:0]
  104. uint32_t dac_mute_div_ctl0 : 6; // [9:4]
  105. uint32_t dac_mute_div_ctl1 : 4; // [13:10]
  106. uint32_t dac_mute_ctl : 1; // [14]
  107. uint32_t dac_mute_en : 1; // [15]
  108. uint32_t __31_16 : 16; // [31:16]
  109. } b;
  110. } REG_AUD_2AD_DAC_SRC_CTL_T;
  111. // dac_sdm_ctl0
  112. typedef union {
  113. uint32_t v;
  114. struct
  115. {
  116. uint32_t dac_sdm_di : 2; // [1:0]
  117. uint32_t dac_sdm_do : 2; // [3:2]
  118. uint32_t dac_sdm_dilvl : 4; // [7:4]
  119. uint32_t dac_sdm_dolvl : 4; // [11:8]
  120. uint32_t __31_12 : 20; // [31:12]
  121. } b;
  122. } REG_AUD_2AD_DAC_SDM_CTL0_T;
  123. // dac_sdm_ctl1
  124. typedef union {
  125. uint32_t v;
  126. struct
  127. {
  128. uint32_t dac_sdm_test : 8; // [7:0]
  129. uint32_t dac_sdm_soft_rst_l : 1; // [8]
  130. uint32_t dac_sdm_soft_rst_r : 1; // [9]
  131. uint32_t __31_10 : 22; // [31:10]
  132. } b;
  133. } REG_AUD_2AD_DAC_SDM_CTL1_T;
  134. // adc_src_ctl
  135. typedef union {
  136. uint32_t v;
  137. struct
  138. {
  139. uint32_t adc_src_n : 4; // [3:0]
  140. uint32_t adc1_src_n : 4; // [7:4]
  141. uint32_t __31_8 : 24; // [31:8]
  142. } b;
  143. } REG_AUD_2AD_ADC_SRC_CTL_T;
  144. // aud_loop_test
  145. typedef union {
  146. uint32_t v;
  147. struct
  148. {
  149. uint32_t aud_loop_test : 1; // [0]
  150. uint32_t loop_path_sel : 2; // [2:1]
  151. uint32_t loop_fifo_af_lvl : 3; // [5:3]
  152. uint32_t loop_fifo_ae_lvl : 3; // [8:6]
  153. uint32_t loop_adc_path_sel : 1; // [9]
  154. uint32_t __31_10 : 22; // [31:10]
  155. } b;
  156. } REG_AUD_2AD_AUD_LOOP_TEST_T;
  157. // aud_sts0
  158. typedef union {
  159. uint32_t v;
  160. struct
  161. {
  162. uint32_t st_mute : 2; // [1:0], read only
  163. uint32_t aud_int_raw : 2; // [3:2], read only
  164. uint32_t aud_int_mask : 2; // [5:4], read only
  165. uint32_t __31_6 : 26; // [31:6]
  166. } b;
  167. } REG_AUD_2AD_AUD_STS0_T;
  168. // aud_int_clr
  169. typedef union {
  170. uint32_t v;
  171. struct
  172. {
  173. uint32_t aud_int_clr : 1; // [0]
  174. uint32_t __31_1 : 31; // [31:1]
  175. } b;
  176. } REG_AUD_2AD_AUD_INT_CLR_T;
  177. // aud_int_en
  178. typedef union {
  179. uint32_t v;
  180. struct
  181. {
  182. uint32_t aud_int_en : 2; // [1:0]
  183. uint32_t __31_2 : 30; // [31:2]
  184. } b;
  185. } REG_AUD_2AD_AUD_INT_EN_T;
  186. // audif_fifo_ctl
  187. typedef union {
  188. uint32_t v;
  189. struct
  190. {
  191. uint32_t adc_fifo_af_lvl : 3; // [2:0]
  192. uint32_t __31_3 : 29; // [31:3]
  193. } b;
  194. } REG_AUD_2AD_AUDIF_FIFO_CTL_T;
  195. // aud_dmic_ctl
  196. typedef union {
  197. uint32_t v;
  198. struct
  199. {
  200. uint32_t adc_dmic_clk_mode : 2; // [1:0]
  201. uint32_t clk_aud_26m_inv : 1; // [2]
  202. uint32_t adc1_dmic_clk_mode : 2; // [4:3]
  203. uint32_t adc1_dmic_lr_sel : 1; // [5]
  204. uint32_t clk_aud_26m_sel : 1; // [6]
  205. uint32_t adc1_dmic_en : 1; // [7]
  206. uint32_t __31_8 : 24; // [31:8]
  207. } b;
  208. } REG_AUD_2AD_AUD_DMIC_CTL_T;
  209. // adc1_iis_ctl
  210. typedef union {
  211. uint32_t v;
  212. struct
  213. {
  214. uint32_t adc1_lr_sel : 1; // [0]
  215. uint32_t adc1_io_mode : 2; // [2:1]
  216. uint32_t adc1_iowl : 2; // [4:3]
  217. uint32_t adc1_bclk_pol : 1; // [5]
  218. uint32_t adc1_iis_ckgate_en : 1; // [6]
  219. uint32_t __31_7 : 25; // [31:7]
  220. } b;
  221. } REG_AUD_2AD_ADC1_IIS_CTL_T;
  222. // dac_sdm_dc_l
  223. typedef union {
  224. uint32_t v;
  225. struct
  226. {
  227. uint32_t dac_sdm_dc_l : 16; // [15:0]
  228. uint32_t __31_16 : 16; // [31:16]
  229. } b;
  230. } REG_AUD_2AD_DAC_SDM_DC_L_T;
  231. // dac_sdm_dc_h
  232. typedef union {
  233. uint32_t v;
  234. struct
  235. {
  236. uint32_t dac_sdm_dc_h : 8; // [7:0]
  237. uint32_t __31_8 : 24; // [31:8]
  238. } b;
  239. } REG_AUD_2AD_DAC_SDM_DC_H_T;
  240. // audif_ctl0
  241. typedef union {
  242. uint32_t v;
  243. struct
  244. {
  245. uint32_t adc_fifo_af_lvl_r : 3; // [2:0]
  246. uint32_t ad_sync_sel : 3; // [5:3]
  247. uint32_t audif_5p_mode : 1; // [6]
  248. uint32_t __31_7 : 25; // [31:7]
  249. } b;
  250. } REG_AUD_2AD_AUDIF_CTL0_T;
  251. // audif_adc_fifo_sts
  252. typedef union {
  253. uint32_t v;
  254. struct
  255. {
  256. uint32_t audif_adc_fifo_waddr_r : 4; // [3:0], read only
  257. uint32_t audif_adc_fifo_raddr_r : 4; // [7:4], read only
  258. uint32_t audif_adc_fifo_full_r : 1; // [8], read only
  259. uint32_t audif_adc_fifo_empty_r : 1; // [9], read only
  260. uint32_t audif_adc_fifo_af_r : 1; // [10], read only
  261. uint32_t __31_11 : 21; // [31:11]
  262. } b;
  263. } REG_AUD_2AD_AUDIF_ADC_FIFO_STS_T;
  264. // audif_dac_fifo_sts
  265. typedef union {
  266. uint32_t v;
  267. struct
  268. {
  269. uint32_t audif_dac_fifo_addr_w : 4; // [3:0], read only
  270. uint32_t audif_dac_fifo_addr_r : 4; // [7:4], read only
  271. uint32_t audif_dac_fifo_full : 1; // [8], read only
  272. uint32_t audif_dac_fifo_empty : 1; // [9], read only
  273. uint32_t __31_10 : 22; // [31:10]
  274. } b;
  275. } REG_AUD_2AD_AUDIF_DAC_FIFO_STS_T;
  276. // audif_sts
  277. typedef union {
  278. uint32_t v;
  279. struct
  280. {
  281. uint32_t audif_adc_rx_data_ready : 1; // [0], read only
  282. uint32_t __31_1 : 31; // [31:1]
  283. } b;
  284. } REG_AUD_2AD_AUDIF_STS_T;
  285. // audif_sts_raw
  286. typedef union {
  287. uint32_t v;
  288. struct
  289. {
  290. uint32_t audif_dac_fifo_ovfl_raw : 1; // [0], read only
  291. uint32_t audif_adc_fifo_underfl_raw : 1; // [1], read only
  292. uint32_t __31_2 : 30; // [31:2]
  293. } b;
  294. } REG_AUD_2AD_AUDIF_STS_RAW_T;
  295. // audif_sts_clr
  296. typedef union {
  297. uint32_t v;
  298. struct
  299. {
  300. uint32_t underfl_sts_clr : 1; // [0]
  301. uint32_t ovfl_sts_clr : 1; // [1]
  302. uint32_t __31_2 : 30; // [31:2]
  303. } b;
  304. } REG_AUD_2AD_AUDIF_STS_CLR_T;
  305. // dac_src_step
  306. typedef union {
  307. uint32_t v;
  308. struct
  309. {
  310. uint32_t dac_src_step : 12; // [11:0]
  311. uint32_t __31_12 : 20; // [31:12]
  312. } b;
  313. } REG_AUD_2AD_DAC_SRC_STEP_T;
  314. // adc_dgain
  315. typedef union {
  316. uint32_t v;
  317. struct
  318. {
  319. uint32_t adc_l_dgain : 4; // [3:0]
  320. uint32_t adc_r_dgain : 4; // [7:4]
  321. uint32_t adc_dgain_update : 1; // [8]
  322. uint32_t __31_9 : 23; // [31:9]
  323. } b;
  324. } REG_AUD_2AD_ADC_DGAIN_T;
  325. // dac_dgain0
  326. typedef union {
  327. uint32_t v;
  328. struct
  329. {
  330. uint32_t dac_dgain_tone_sel : 1; // [0]
  331. uint32_t dac_dgain_update : 1; // [1]
  332. uint32_t __31_2 : 30; // [31:2]
  333. } b;
  334. } REG_AUD_2AD_DAC_DGAIN0_T;
  335. // dac_dgain1
  336. typedef union {
  337. uint32_t v;
  338. struct
  339. {
  340. uint32_t dac_l_nor_dgain : 8; // [7:0]
  341. uint32_t dac_r_nor_dgain : 8; // [15:8]
  342. uint32_t __31_16 : 16; // [31:16]
  343. } b;
  344. } REG_AUD_2AD_DAC_DGAIN1_T;
  345. // dac_dgain2
  346. typedef union {
  347. uint32_t v;
  348. struct
  349. {
  350. uint32_t dac_l_tone_dgain : 8; // [7:0]
  351. uint32_t dac_r_tone_dgain : 8; // [15:8]
  352. uint32_t __31_16 : 16; // [31:16]
  353. } b;
  354. } REG_AUD_2AD_DAC_DGAIN2_T;
  355. // aud_top_ctl
  356. #define AUD_2AD_DAC_EN_L (1 << 0)
  357. #define AUD_2AD_ADC_EN_L (1 << 1)
  358. #define AUD_2AD_DAC_EN_R (1 << 2)
  359. #define AUD_2AD_ADC_EN_R (1 << 3)
  360. #define AUD_2AD_DAC_IIS_SEL(n) (((n)&0x3) << 4)
  361. #define AUD_2AD_ADC_IIS_SEL(n) (((n)&0x3) << 6)
  362. #define AUD_2AD_ADC_SINC_IN_SEL(n) (((n)&0x3) << 8)
  363. #define AUD_2AD_ADC1_EN_L (1 << 10)
  364. #define AUD_2AD_ADC1_EN_R (1 << 11)
  365. #define AUD_2AD_ADC1_IIS_SEL(n) (((n)&0x3) << 12)
  366. #define AUD_2AD_ADC1_SINC_IN_SEL(n) (((n)&0x3) << 14)
  367. // aud_clr
  368. #define AUD_2AD_ADC1_CLR (1 << 0)
  369. #define AUD_2AD_DAC_CLR (1 << 1)
  370. #define AUD_2AD_ADC_CLR (1 << 2)
  371. // aud_iis_ctl
  372. #define AUD_2AD_IIS_CLKDIV_MODE (1 << 0)
  373. #define AUD_2AD_DAC_LR_SEL (1 << 1)
  374. #define AUD_2AD_ADC_LR_SEL (1 << 2)
  375. #define AUD_2AD_DAC_IO_MODE(n) (((n)&0x3) << 3)
  376. #define AUD_2AD_ADC_IO_MODE(n) (((n)&0x3) << 5)
  377. #define AUD_2AD_DAC_IOWL(n) (((n)&0x3) << 7)
  378. #define AUD_2AD_ADC_IOWL(n) (((n)&0x3) << 9)
  379. #define AUD_2AD_DAC_SAMPLE_PHASE_SEL (1 << 11)
  380. #define AUD_2AD_DAC_BCLK_POL (1 << 12)
  381. #define AUD_2AD_ADC_BCLK_POL (1 << 13)
  382. #define AUD_2AD_DAC_IIS_CKGATE_EN (1 << 14)
  383. #define AUD_2AD_ADC_IIS_CKGATE_EN (1 << 15)
  384. // dac_src_ctl
  385. #define AUD_2AD_DAC_FS_MODE(n) (((n)&0xf) << 0)
  386. #define AUD_2AD_DAC_MUTE_DIV_CTL0(n) (((n)&0x3f) << 4)
  387. #define AUD_2AD_DAC_MUTE_DIV_CTL1(n) (((n)&0xf) << 10)
  388. #define AUD_2AD_DAC_MUTE_CTL (1 << 14)
  389. #define AUD_2AD_DAC_MUTE_EN (1 << 15)
  390. // dac_sdm_ctl0
  391. #define AUD_2AD_DAC_SDM_DI(n) (((n)&0x3) << 0)
  392. #define AUD_2AD_DAC_SDM_DO(n) (((n)&0x3) << 2)
  393. #define AUD_2AD_DAC_SDM_DILVL(n) (((n)&0xf) << 4)
  394. #define AUD_2AD_DAC_SDM_DOLVL(n) (((n)&0xf) << 8)
  395. // dac_sdm_ctl1
  396. #define AUD_2AD_DAC_SDM_TEST(n) (((n)&0xff) << 0)
  397. #define AUD_2AD_DAC_SDM_SOFT_RST_L (1 << 8)
  398. #define AUD_2AD_DAC_SDM_SOFT_RST_R (1 << 9)
  399. // adc_src_ctl
  400. #define AUD_2AD_ADC_SRC_N(n) (((n)&0xf) << 0)
  401. #define AUD_2AD_ADC1_SRC_N(n) (((n)&0xf) << 4)
  402. // aud_loop_test
  403. #define AUD_2AD_AUD_LOOP_TEST (1 << 0)
  404. #define AUD_2AD_LOOP_PATH_SEL(n) (((n)&0x3) << 1)
  405. #define AUD_2AD_LOOP_FIFO_AF_LVL(n) (((n)&0x7) << 3)
  406. #define AUD_2AD_LOOP_FIFO_AE_LVL(n) (((n)&0x7) << 6)
  407. #define AUD_2AD_LOOP_ADC_PATH_SEL (1 << 9)
  408. // aud_sts0
  409. #define AUD_2AD_ST_MUTE(n) (((n)&0x3) << 0)
  410. #define AUD_2AD_AUD_INT_RAW(n) (((n)&0x3) << 2)
  411. #define AUD_2AD_AUD_INT_MASK(n) (((n)&0x3) << 4)
  412. // aud_int_clr
  413. #define AUD_2AD_AUD_INT_CLR (1 << 0)
  414. // aud_int_en
  415. #define AUD_2AD_AUD_INT_EN(n) (((n)&0x3) << 0)
  416. // audif_fifo_ctl
  417. #define AUD_2AD_ADC_FIFO_AF_LVL(n) (((n)&0x7) << 0)
  418. // aud_dmic_ctl
  419. #define AUD_2AD_ADC_DMIC_CLK_MODE(n) (((n)&0x3) << 0)
  420. #define AUD_2AD_CLK_AUD_26M_INV (1 << 2)
  421. #define AUD_2AD_ADC1_DMIC_CLK_MODE(n) (((n)&0x3) << 3)
  422. #define AUD_2AD_ADC1_DMIC_LR_SEL (1 << 5)
  423. #define AUD_2AD_CLK_AUD_26M_SEL (1 << 6)
  424. #define AUD_2AD_ADC1_DMIC_EN (1 << 7)
  425. // adc1_iis_ctl
  426. #define AUD_2AD_ADC1_LR_SEL (1 << 0)
  427. #define AUD_2AD_ADC1_IO_MODE(n) (((n)&0x3) << 1)
  428. #define AUD_2AD_ADC1_IOWL(n) (((n)&0x3) << 3)
  429. #define AUD_2AD_ADC1_BCLK_POL (1 << 5)
  430. #define AUD_2AD_ADC1_IIS_CKGATE_EN (1 << 6)
  431. // dac_sdm_dc_l
  432. #define AUD_2AD_DAC_SDM_DC_L(n) (((n)&0xffff) << 0)
  433. // dac_sdm_dc_h
  434. #define AUD_2AD_DAC_SDM_DC_H(n) (((n)&0xff) << 0)
  435. // audif_ctl0
  436. #define AUD_2AD_ADC_FIFO_AF_LVL_R(n) (((n)&0x7) << 0)
  437. #define AUD_2AD_AD_SYNC_SEL(n) (((n)&0x7) << 3)
  438. #define AUD_2AD_AUDIF_5P_MODE (1 << 6)
  439. // audif_adc_fifo_sts
  440. #define AUD_2AD_AUDIF_ADC_FIFO_WADDR_R(n) (((n)&0xf) << 0)
  441. #define AUD_2AD_AUDIF_ADC_FIFO_RADDR_R(n) (((n)&0xf) << 4)
  442. #define AUD_2AD_AUDIF_ADC_FIFO_FULL_R (1 << 8)
  443. #define AUD_2AD_AUDIF_ADC_FIFO_EMPTY_R (1 << 9)
  444. #define AUD_2AD_AUDIF_ADC_FIFO_AF_R (1 << 10)
  445. // audif_dac_fifo_sts
  446. #define AUD_2AD_AUDIF_DAC_FIFO_ADDR_W(n) (((n)&0xf) << 0)
  447. #define AUD_2AD_AUDIF_DAC_FIFO_ADDR_R(n) (((n)&0xf) << 4)
  448. #define AUD_2AD_AUDIF_DAC_FIFO_FULL (1 << 8)
  449. #define AUD_2AD_AUDIF_DAC_FIFO_EMPTY (1 << 9)
  450. // audif_sts
  451. #define AUD_2AD_AUDIF_ADC_RX_DATA_READY (1 << 0)
  452. // audif_sts_raw
  453. #define AUD_2AD_AUDIF_DAC_FIFO_OVFL_RAW (1 << 0)
  454. #define AUD_2AD_AUDIF_ADC_FIFO_UNDERFL_RAW (1 << 1)
  455. // audif_sts_clr
  456. #define AUD_2AD_UNDERFL_STS_CLR (1 << 0)
  457. #define AUD_2AD_OVFL_STS_CLR (1 << 1)
  458. // dac_src_step
  459. #define AUD_2AD_DAC_SRC_STEP(n) (((n)&0xfff) << 0)
  460. // adc_dgain
  461. #define AUD_2AD_ADC_L_DGAIN(n) (((n)&0xf) << 0)
  462. #define AUD_2AD_ADC_R_DGAIN(n) (((n)&0xf) << 4)
  463. #define AUD_2AD_ADC_DGAIN_UPDATE (1 << 8)
  464. // dac_dgain0
  465. #define AUD_2AD_DAC_DGAIN_TONE_SEL (1 << 0)
  466. #define AUD_2AD_DAC_DGAIN_UPDATE (1 << 1)
  467. // dac_dgain1
  468. #define AUD_2AD_DAC_L_NOR_DGAIN(n) (((n)&0xff) << 0)
  469. #define AUD_2AD_DAC_R_NOR_DGAIN(n) (((n)&0xff) << 8)
  470. // dac_dgain2
  471. #define AUD_2AD_DAC_L_TONE_DGAIN(n) (((n)&0xff) << 0)
  472. #define AUD_2AD_DAC_R_TONE_DGAIN(n) (((n)&0xff) << 8)
  473. #endif // _AUD_2AD_H_