mt6797-reg.h 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * mt6797-reg.h -- Mediatek 6797 audio driver reg definition
  4. *
  5. * Copyright (c) 2018 MediaTek Inc.
  6. * Author: KaiChieh Chuang <[email protected]>
  7. */
  8. #ifndef _MT6797_REG_H_
  9. #define _MT6797_REG_H_
  10. #define AUDIO_TOP_CON0 0x0000
  11. #define AUDIO_TOP_CON1 0x0004
  12. #define AUDIO_TOP_CON3 0x000c
  13. #define AFE_DAC_CON0 0x0010
  14. #define AFE_DAC_CON1 0x0014
  15. #define AFE_I2S_CON 0x0018
  16. #define AFE_DAIBT_CON0 0x001c
  17. #define AFE_CONN0 0x0020
  18. #define AFE_CONN1 0x0024
  19. #define AFE_CONN2 0x0028
  20. #define AFE_CONN3 0x002c
  21. #define AFE_CONN4 0x0030
  22. #define AFE_I2S_CON1 0x0034
  23. #define AFE_I2S_CON2 0x0038
  24. #define AFE_MRGIF_CON 0x003c
  25. #define AFE_DL1_BASE 0x0040
  26. #define AFE_DL1_CUR 0x0044
  27. #define AFE_DL1_END 0x0048
  28. #define AFE_I2S_CON3 0x004c
  29. #define AFE_DL2_BASE 0x0050
  30. #define AFE_DL2_CUR 0x0054
  31. #define AFE_DL2_END 0x0058
  32. #define AFE_CONN5 0x005c
  33. #define AFE_CONN_24BIT 0x006c
  34. #define AFE_AWB_BASE 0x0070
  35. #define AFE_AWB_END 0x0078
  36. #define AFE_AWB_CUR 0x007c
  37. #define AFE_VUL_BASE 0x0080
  38. #define AFE_VUL_END 0x0088
  39. #define AFE_VUL_CUR 0x008c
  40. #define AFE_DAI_BASE 0x0090
  41. #define AFE_DAI_END 0x0098
  42. #define AFE_DAI_CUR 0x009c
  43. #define AFE_CONN6 0x00bc
  44. #define AFE_MEMIF_MSB 0x00cc
  45. #define AFE_MEMIF_MON0 0x00d0
  46. #define AFE_MEMIF_MON1 0x00d4
  47. #define AFE_MEMIF_MON2 0x00d8
  48. #define AFE_MEMIF_MON4 0x00e0
  49. #define AFE_ADDA_DL_SRC2_CON0 0x0108
  50. #define AFE_ADDA_DL_SRC2_CON1 0x010c
  51. #define AFE_ADDA_UL_SRC_CON0 0x0114
  52. #define AFE_ADDA_UL_SRC_CON1 0x0118
  53. #define AFE_ADDA_TOP_CON0 0x0120
  54. #define AFE_ADDA_UL_DL_CON0 0x0124
  55. #define AFE_ADDA_SRC_DEBUG 0x012c
  56. #define AFE_ADDA_SRC_DEBUG_MON0 0x0130
  57. #define AFE_ADDA_SRC_DEBUG_MON1 0x0134
  58. #define AFE_ADDA_NEWIF_CFG0 0x0138
  59. #define AFE_ADDA_NEWIF_CFG1 0x013c
  60. #define AFE_ADDA_NEWIF_CFG2 0x0140
  61. #define AFE_DMA_CTL 0x0150
  62. #define AFE_DMA_MON0 0x0154
  63. #define AFE_DMA_MON1 0x0158
  64. #define AFE_SIDETONE_DEBUG 0x01d0
  65. #define AFE_SIDETONE_MON 0x01d4
  66. #define AFE_SIDETONE_CON0 0x01e0
  67. #define AFE_SIDETONE_COEFF 0x01e4
  68. #define AFE_SIDETONE_CON1 0x01e8
  69. #define AFE_SIDETONE_GAIN 0x01ec
  70. #define AFE_SGEN_CON0 0x01f0
  71. #define AFE_SINEGEN_CON_TDM 0x01fc
  72. #define AFE_TOP_CON0 0x0200
  73. #define AFE_ADDA_PREDIS_CON0 0x0260
  74. #define AFE_ADDA_PREDIS_CON1 0x0264
  75. #define AFE_MRGIF_MON0 0x0270
  76. #define AFE_MRGIF_MON1 0x0274
  77. #define AFE_MRGIF_MON2 0x0278
  78. #define AFE_I2S_MON 0x027c
  79. #define AFE_MOD_DAI_BASE 0x0330
  80. #define AFE_MOD_DAI_END 0x0338
  81. #define AFE_MOD_DAI_CUR 0x033c
  82. #define AFE_VUL_D2_BASE 0x0350
  83. #define AFE_VUL_D2_END 0x0358
  84. #define AFE_VUL_D2_CUR 0x035c
  85. #define AFE_DL3_BASE 0x0360
  86. #define AFE_DL3_CUR 0x0364
  87. #define AFE_DL3_END 0x0368
  88. #define AFE_HDMI_OUT_CON0 0x0370
  89. #define AFE_HDMI_BASE 0x0374
  90. #define AFE_HDMI_CUR 0x0378
  91. #define AFE_HDMI_END 0x037c
  92. #define AFE_HDMI_CONN0 0x0390
  93. #define AFE_IRQ3_MCU_CNT_MON 0x0398
  94. #define AFE_IRQ4_MCU_CNT_MON 0x039c
  95. #define AFE_IRQ_MCU_CON 0x03a0
  96. #define AFE_IRQ_MCU_STATUS 0x03a4
  97. #define AFE_IRQ_MCU_CLR 0x03a8
  98. #define AFE_IRQ_MCU_CNT1 0x03ac
  99. #define AFE_IRQ_MCU_CNT2 0x03b0
  100. #define AFE_IRQ_MCU_EN 0x03b4
  101. #define AFE_IRQ_MCU_MON2 0x03b8
  102. #define AFE_IRQ_MCU_CNT5 0x03bc
  103. #define AFE_IRQ1_MCU_CNT_MON 0x03c0
  104. #define AFE_IRQ2_MCU_CNT_MON 0x03c4
  105. #define AFE_IRQ1_MCU_EN_CNT_MON 0x03c8
  106. #define AFE_IRQ5_MCU_CNT_MON 0x03cc
  107. #define AFE_MEMIF_MINLEN 0x03d0
  108. #define AFE_MEMIF_MAXLEN 0x03d4
  109. #define AFE_MEMIF_PBUF_SIZE 0x03d8
  110. #define AFE_IRQ_MCU_CNT7 0x03dc
  111. #define AFE_IRQ7_MCU_CNT_MON 0x03e0
  112. #define AFE_IRQ_MCU_CNT3 0x03e4
  113. #define AFE_IRQ_MCU_CNT4 0x03e8
  114. #define AFE_APLL1_TUNER_CFG 0x03f0
  115. #define AFE_APLL2_TUNER_CFG 0x03f4
  116. #define AFE_MEMIF_HD_MODE 0x03f8
  117. #define AFE_MEMIF_HDALIGN 0x03fc
  118. #define AFE_GAIN1_CON0 0x0410
  119. #define AFE_GAIN1_CON1 0x0414
  120. #define AFE_GAIN1_CON2 0x0418
  121. #define AFE_GAIN1_CON3 0x041c
  122. #define AFE_CONN7 0x0420
  123. #define AFE_GAIN1_CUR 0x0424
  124. #define AFE_GAIN2_CON0 0x0428
  125. #define AFE_GAIN2_CON1 0x042c
  126. #define AFE_GAIN2_CON2 0x0430
  127. #define AFE_GAIN2_CON3 0x0434
  128. #define AFE_CONN8 0x0438
  129. #define AFE_GAIN2_CUR 0x043c
  130. #define AFE_CONN9 0x0440
  131. #define AFE_CONN10 0x0444
  132. #define AFE_CONN11 0x0448
  133. #define AFE_CONN12 0x044c
  134. #define AFE_CONN13 0x0450
  135. #define AFE_CONN14 0x0454
  136. #define AFE_CONN15 0x0458
  137. #define AFE_CONN16 0x045c
  138. #define AFE_CONN17 0x0460
  139. #define AFE_CONN18 0x0464
  140. #define AFE_CONN19 0x0468
  141. #define AFE_CONN20 0x046c
  142. #define AFE_CONN21 0x0470
  143. #define AFE_CONN22 0x0474
  144. #define AFE_CONN23 0x0478
  145. #define AFE_CONN24 0x047c
  146. #define AFE_CONN_RS 0x0494
  147. #define AFE_CONN_DI 0x0498
  148. #define AFE_CONN25 0x04b0
  149. #define AFE_CONN26 0x04b4
  150. #define AFE_CONN27 0x04b8
  151. #define AFE_CONN28 0x04bc
  152. #define AFE_CONN29 0x04c0
  153. #define AFE_SRAM_DELSEL_CON0 0x04f0
  154. #define AFE_SRAM_DELSEL_CON1 0x04f4
  155. #define AFE_ASRC_CON0 0x0500
  156. #define AFE_ASRC_CON1 0x0504
  157. #define AFE_ASRC_CON2 0x0508
  158. #define AFE_ASRC_CON3 0x050c
  159. #define AFE_ASRC_CON4 0x0510
  160. #define AFE_ASRC_CON5 0x0514
  161. #define AFE_ASRC_CON6 0x0518
  162. #define AFE_ASRC_CON7 0x051c
  163. #define AFE_ASRC_CON8 0x0520
  164. #define AFE_ASRC_CON9 0x0524
  165. #define AFE_ASRC_CON10 0x0528
  166. #define AFE_ASRC_CON11 0x052c
  167. #define PCM_INTF_CON1 0x0530
  168. #define PCM_INTF_CON2 0x0538
  169. #define PCM2_INTF_CON 0x053c
  170. #define AFE_TDM_CON1 0x0548
  171. #define AFE_TDM_CON2 0x054c
  172. #define AFE_ASRC_CON13 0x0550
  173. #define AFE_ASRC_CON14 0x0554
  174. #define AFE_ASRC_CON15 0x0558
  175. #define AFE_ASRC_CON16 0x055c
  176. #define AFE_ASRC_CON17 0x0560
  177. #define AFE_ASRC_CON18 0x0564
  178. #define AFE_ASRC_CON19 0x0568
  179. #define AFE_ASRC_CON20 0x056c
  180. #define AFE_ASRC_CON21 0x0570
  181. #define CLK_AUDDIV_0 0x05a0
  182. #define CLK_AUDDIV_1 0x05a4
  183. #define CLK_AUDDIV_2 0x05a8
  184. #define CLK_AUDDIV_3 0x05ac
  185. #define AUDIO_TOP_DBG_CON 0x05c8
  186. #define AUDIO_TOP_DBG_MON0 0x05cc
  187. #define AUDIO_TOP_DBG_MON1 0x05d0
  188. #define AUDIO_TOP_DBG_MON2 0x05d4
  189. #define AFE_ADDA2_TOP_CON0 0x0600
  190. #define AFE_ASRC4_CON0 0x06c0
  191. #define AFE_ASRC4_CON1 0x06c4
  192. #define AFE_ASRC4_CON2 0x06c8
  193. #define AFE_ASRC4_CON3 0x06cc
  194. #define AFE_ASRC4_CON4 0x06d0
  195. #define AFE_ASRC4_CON5 0x06d4
  196. #define AFE_ASRC4_CON6 0x06d8
  197. #define AFE_ASRC4_CON7 0x06dc
  198. #define AFE_ASRC4_CON8 0x06e0
  199. #define AFE_ASRC4_CON9 0x06e4
  200. #define AFE_ASRC4_CON10 0x06e8
  201. #define AFE_ASRC4_CON11 0x06ec
  202. #define AFE_ASRC4_CON12 0x06f0
  203. #define AFE_ASRC4_CON13 0x06f4
  204. #define AFE_ASRC4_CON14 0x06f8
  205. #define AFE_ASRC2_CON0 0x0700
  206. #define AFE_ASRC2_CON1 0x0704
  207. #define AFE_ASRC2_CON2 0x0708
  208. #define AFE_ASRC2_CON3 0x070c
  209. #define AFE_ASRC2_CON4 0x0710
  210. #define AFE_ASRC2_CON5 0x0714
  211. #define AFE_ASRC2_CON6 0x0718
  212. #define AFE_ASRC2_CON7 0x071c
  213. #define AFE_ASRC2_CON8 0x0720
  214. #define AFE_ASRC2_CON9 0x0724
  215. #define AFE_ASRC2_CON10 0x0728
  216. #define AFE_ASRC2_CON11 0x072c
  217. #define AFE_ASRC2_CON12 0x0730
  218. #define AFE_ASRC2_CON13 0x0734
  219. #define AFE_ASRC2_CON14 0x0738
  220. #define AFE_ASRC3_CON0 0x0740
  221. #define AFE_ASRC3_CON1 0x0744
  222. #define AFE_ASRC3_CON2 0x0748
  223. #define AFE_ASRC3_CON3 0x074c
  224. #define AFE_ASRC3_CON4 0x0750
  225. #define AFE_ASRC3_CON5 0x0754
  226. #define AFE_ASRC3_CON6 0x0758
  227. #define AFE_ASRC3_CON7 0x075c
  228. #define AFE_ASRC3_CON8 0x0760
  229. #define AFE_ASRC3_CON9 0x0764
  230. #define AFE_ASRC3_CON10 0x0768
  231. #define AFE_ASRC3_CON11 0x076c
  232. #define AFE_ASRC3_CON12 0x0770
  233. #define AFE_ASRC3_CON13 0x0774
  234. #define AFE_ASRC3_CON14 0x0778
  235. #define AFE_GENERAL_REG0 0x0800
  236. #define AFE_GENERAL_REG1 0x0804
  237. #define AFE_GENERAL_REG2 0x0808
  238. #define AFE_GENERAL_REG3 0x080c
  239. #define AFE_GENERAL_REG4 0x0810
  240. #define AFE_GENERAL_REG5 0x0814
  241. #define AFE_GENERAL_REG6 0x0818
  242. #define AFE_GENERAL_REG7 0x081c
  243. #define AFE_GENERAL_REG8 0x0820
  244. #define AFE_GENERAL_REG9 0x0824
  245. #define AFE_GENERAL_REG10 0x0828
  246. #define AFE_GENERAL_REG11 0x082c
  247. #define AFE_GENERAL_REG12 0x0830
  248. #define AFE_GENERAL_REG13 0x0834
  249. #define AFE_GENERAL_REG14 0x0838
  250. #define AFE_GENERAL_REG15 0x083c
  251. #define AFE_CBIP_CFG0 0x0840
  252. #define AFE_CBIP_MON0 0x0844
  253. #define AFE_CBIP_SLV_MUX_MON0 0x0848
  254. #define AFE_CBIP_SLV_DECODER_MON0 0x084c
  255. #define AFE_MAX_REGISTER AFE_CBIP_SLV_DECODER_MON0
  256. #define AFE_IRQ_STATUS_BITS 0x5f
  257. /* AUDIO_TOP_CON0 */
  258. #define AHB_IDLE_EN_INT_SFT 30
  259. #define AHB_IDLE_EN_INT_MASK 0x1
  260. #define AHB_IDLE_EN_INT_MASK_SFT (0x1 << 30)
  261. #define AHB_IDLE_EN_EXT_SFT 29
  262. #define AHB_IDLE_EN_EXT_MASK 0x1
  263. #define AHB_IDLE_EN_EXT_MASK_SFT (0x1 << 29)
  264. #define PDN_TML_SFT 27
  265. #define PDN_TML_MASK 0x1
  266. #define PDN_TML_MASK_SFT (0x1 << 27)
  267. #define PDN_DAC_PREDIS_SFT 26
  268. #define PDN_DAC_PREDIS_MASK 0x1
  269. #define PDN_DAC_PREDIS_MASK_SFT (0x1 << 26)
  270. #define PDN_DAC_SFT 25
  271. #define PDN_DAC_MASK 0x1
  272. #define PDN_DAC_MASK_SFT (0x1 << 25)
  273. #define PDN_ADC_SFT 24
  274. #define PDN_ADC_MASK 0x1
  275. #define PDN_ADC_MASK_SFT (0x1 << 24)
  276. #define PDN_TDM_CK_SFT 20
  277. #define PDN_TDM_CK_MASK 0x1
  278. #define PDN_TDM_CK_MASK_SFT (0x1 << 20)
  279. #define PDN_APLL_TUNER_SFT 19
  280. #define PDN_APLL_TUNER_MASK 0x1
  281. #define PDN_APLL_TUNER_MASK_SFT (0x1 << 19)
  282. #define PDN_APLL2_TUNER_SFT 18
  283. #define PDN_APLL2_TUNER_MASK 0x1
  284. #define PDN_APLL2_TUNER_MASK_SFT (0x1 << 18)
  285. #define APB3_SEL_SFT 14
  286. #define APB3_SEL_MASK 0x1
  287. #define APB3_SEL_MASK_SFT (0x1 << 14)
  288. #define APB_R2T_SFT 13
  289. #define APB_R2T_MASK 0x1
  290. #define APB_R2T_MASK_SFT (0x1 << 13)
  291. #define APB_W2T_SFT 12
  292. #define APB_W2T_MASK 0x1
  293. #define APB_W2T_MASK_SFT (0x1 << 12)
  294. #define PDN_24M_SFT 9
  295. #define PDN_24M_MASK 0x1
  296. #define PDN_24M_MASK_SFT (0x1 << 9)
  297. #define PDN_22M_SFT 8
  298. #define PDN_22M_MASK 0x1
  299. #define PDN_22M_MASK_SFT (0x1 << 8)
  300. #define PDN_ADDA4_ADC_SFT 7
  301. #define PDN_ADDA4_ADC_MASK 0x1
  302. #define PDN_ADDA4_ADC_MASK_SFT (0x1 << 7)
  303. #define PDN_I2S_SFT 6
  304. #define PDN_I2S_MASK 0x1
  305. #define PDN_I2S_MASK_SFT (0x1 << 6)
  306. #define PDN_AFE_SFT 2
  307. #define PDN_AFE_MASK 0x1
  308. #define PDN_AFE_MASK_SFT (0x1 << 2)
  309. /* AUDIO_TOP_CON1 */
  310. #define PDN_ADC_HIRES_TML_SFT 17
  311. #define PDN_ADC_HIRES_TML_MASK 0x1
  312. #define PDN_ADC_HIRES_TML_MASK_SFT (0x1 << 17)
  313. #define PDN_ADC_HIRES_SFT 16
  314. #define PDN_ADC_HIRES_MASK 0x1
  315. #define PDN_ADC_HIRES_MASK_SFT (0x1 << 16)
  316. #define I2S4_BCLK_SW_CG_SFT 7
  317. #define I2S4_BCLK_SW_CG_MASK 0x1
  318. #define I2S4_BCLK_SW_CG_MASK_SFT (0x1 << 7)
  319. #define I2S3_BCLK_SW_CG_SFT 6
  320. #define I2S3_BCLK_SW_CG_MASK 0x1
  321. #define I2S3_BCLK_SW_CG_MASK_SFT (0x1 << 6)
  322. #define I2S2_BCLK_SW_CG_SFT 5
  323. #define I2S2_BCLK_SW_CG_MASK 0x1
  324. #define I2S2_BCLK_SW_CG_MASK_SFT (0x1 << 5)
  325. #define I2S1_BCLK_SW_CG_SFT 4
  326. #define I2S1_BCLK_SW_CG_MASK 0x1
  327. #define I2S1_BCLK_SW_CG_MASK_SFT (0x1 << 4)
  328. #define I2S_SOFT_RST2_SFT 2
  329. #define I2S_SOFT_RST2_MASK 0x1
  330. #define I2S_SOFT_RST2_MASK_SFT (0x1 << 2)
  331. #define I2S_SOFT_RST_SFT 1
  332. #define I2S_SOFT_RST_MASK 0x1
  333. #define I2S_SOFT_RST_MASK_SFT (0x1 << 1)
  334. /* AFE_DAC_CON0 */
  335. #define AFE_AWB_RETM_SFT 31
  336. #define AFE_AWB_RETM_MASK 0x1
  337. #define AFE_AWB_RETM_MASK_SFT (0x1 << 31)
  338. #define AFE_DL1_DATA2_RETM_SFT 30
  339. #define AFE_DL1_DATA2_RETM_MASK 0x1
  340. #define AFE_DL1_DATA2_RETM_MASK_SFT (0x1 << 30)
  341. #define AFE_DL2_RETM_SFT 29
  342. #define AFE_DL2_RETM_MASK 0x1
  343. #define AFE_DL2_RETM_MASK_SFT (0x1 << 29)
  344. #define AFE_DL1_RETM_SFT 28
  345. #define AFE_DL1_RETM_MASK 0x1
  346. #define AFE_DL1_RETM_MASK_SFT (0x1 << 28)
  347. #define AFE_ON_RETM_SFT 27
  348. #define AFE_ON_RETM_MASK 0x1
  349. #define AFE_ON_RETM_MASK_SFT (0x1 << 27)
  350. #define MOD_DAI_DUP_WR_SFT 26
  351. #define MOD_DAI_DUP_WR_MASK 0x1
  352. #define MOD_DAI_DUP_WR_MASK_SFT (0x1 << 26)
  353. #define DAI_MODE_SFT 24
  354. #define DAI_MODE_MASK 0x3
  355. #define DAI_MODE_MASK_SFT (0x3 << 24)
  356. #define VUL_DATA2_MODE_SFT 20
  357. #define VUL_DATA2_MODE_MASK 0xf
  358. #define VUL_DATA2_MODE_MASK_SFT (0xf << 20)
  359. #define DL1_DATA2_MODE_SFT 16
  360. #define DL1_DATA2_MODE_MASK 0xf
  361. #define DL1_DATA2_MODE_MASK_SFT (0xf << 16)
  362. #define DL3_MODE_SFT 12
  363. #define DL3_MODE_MASK 0xf
  364. #define DL3_MODE_MASK_SFT (0xf << 12)
  365. #define VUL_DATA2_R_MONO_SFT 11
  366. #define VUL_DATA2_R_MONO_MASK 0x1
  367. #define VUL_DATA2_R_MONO_MASK_SFT (0x1 << 11)
  368. #define VUL_DATA2_DATA_SFT 10
  369. #define VUL_DATA2_DATA_MASK 0x1
  370. #define VUL_DATA2_DATA_MASK_SFT (0x1 << 10)
  371. #define VUL_DATA2_ON_SFT 9
  372. #define VUL_DATA2_ON_MASK 0x1
  373. #define VUL_DATA2_ON_MASK_SFT (0x1 << 9)
  374. #define DL1_DATA2_ON_SFT 8
  375. #define DL1_DATA2_ON_MASK 0x1
  376. #define DL1_DATA2_ON_MASK_SFT (0x1 << 8)
  377. #define MOD_DAI_ON_SFT 7
  378. #define MOD_DAI_ON_MASK 0x1
  379. #define MOD_DAI_ON_MASK_SFT (0x1 << 7)
  380. #define AWB_ON_SFT 6
  381. #define AWB_ON_MASK 0x1
  382. #define AWB_ON_MASK_SFT (0x1 << 6)
  383. #define DL3_ON_SFT 5
  384. #define DL3_ON_MASK 0x1
  385. #define DL3_ON_MASK_SFT (0x1 << 5)
  386. #define DAI_ON_SFT 4
  387. #define DAI_ON_MASK 0x1
  388. #define DAI_ON_MASK_SFT (0x1 << 4)
  389. #define VUL_ON_SFT 3
  390. #define VUL_ON_MASK 0x1
  391. #define VUL_ON_MASK_SFT (0x1 << 3)
  392. #define DL2_ON_SFT 2
  393. #define DL2_ON_MASK 0x1
  394. #define DL2_ON_MASK_SFT (0x1 << 2)
  395. #define DL1_ON_SFT 1
  396. #define DL1_ON_MASK 0x1
  397. #define DL1_ON_MASK_SFT (0x1 << 1)
  398. #define AFE_ON_SFT 0
  399. #define AFE_ON_MASK 0x1
  400. #define AFE_ON_MASK_SFT (0x1 << 0)
  401. /* AFE_DAC_CON1 */
  402. #define MOD_DAI_MODE_SFT 30
  403. #define MOD_DAI_MODE_MASK 0x3
  404. #define MOD_DAI_MODE_MASK_SFT (0x3 << 30)
  405. #define DAI_DUP_WR_SFT 29
  406. #define DAI_DUP_WR_MASK 0x1
  407. #define DAI_DUP_WR_MASK_SFT (0x1 << 29)
  408. #define VUL_R_MONO_SFT 28
  409. #define VUL_R_MONO_MASK 0x1
  410. #define VUL_R_MONO_MASK_SFT (0x1 << 28)
  411. #define VUL_DATA_SFT 27
  412. #define VUL_DATA_MASK 0x1
  413. #define VUL_DATA_MASK_SFT (0x1 << 27)
  414. #define AXI_2X1_CG_DISABLE_SFT 26
  415. #define AXI_2X1_CG_DISABLE_MASK 0x1
  416. #define AXI_2X1_CG_DISABLE_MASK_SFT (0x1 << 26)
  417. #define AWB_R_MONO_SFT 25
  418. #define AWB_R_MONO_MASK 0x1
  419. #define AWB_R_MONO_MASK_SFT (0x1 << 25)
  420. #define AWB_DATA_SFT 24
  421. #define AWB_DATA_MASK 0x1
  422. #define AWB_DATA_MASK_SFT (0x1 << 24)
  423. #define DL3_DATA_SFT 23
  424. #define DL3_DATA_MASK 0x1
  425. #define DL3_DATA_MASK_SFT (0x1 << 23)
  426. #define DL2_DATA_SFT 22
  427. #define DL2_DATA_MASK 0x1
  428. #define DL2_DATA_MASK_SFT (0x1 << 22)
  429. #define DL1_DATA_SFT 21
  430. #define DL1_DATA_MASK 0x1
  431. #define DL1_DATA_MASK_SFT (0x1 << 21)
  432. #define DL1_DATA2_DATA_SFT 20
  433. #define DL1_DATA2_DATA_MASK 0x1
  434. #define DL1_DATA2_DATA_MASK_SFT (0x1 << 20)
  435. #define VUL_MODE_SFT 16
  436. #define VUL_MODE_MASK 0xf
  437. #define VUL_MODE_MASK_SFT (0xf << 16)
  438. #define AWB_MODE_SFT 12
  439. #define AWB_MODE_MASK 0xf
  440. #define AWB_MODE_MASK_SFT (0xf << 12)
  441. #define I2S_MODE_SFT 8
  442. #define I2S_MODE_MASK 0xf
  443. #define I2S_MODE_MASK_SFT (0xf << 8)
  444. #define DL2_MODE_SFT 4
  445. #define DL2_MODE_MASK 0xf
  446. #define DL2_MODE_MASK_SFT (0xf << 4)
  447. #define DL1_MODE_SFT 0
  448. #define DL1_MODE_MASK 0xf
  449. #define DL1_MODE_MASK_SFT (0xf << 0)
  450. /* AFE_ADDA_DL_SRC2_CON0 */
  451. #define DL_2_INPUT_MODE_CTL_SFT 28
  452. #define DL_2_INPUT_MODE_CTL_MASK 0xf
  453. #define DL_2_INPUT_MODE_CTL_MASK_SFT (0xf << 28)
  454. #define DL_2_CH1_SATURATION_EN_CTL_SFT 27
  455. #define DL_2_CH1_SATURATION_EN_CTL_MASK 0x1
  456. #define DL_2_CH1_SATURATION_EN_CTL_MASK_SFT (0x1 << 27)
  457. #define DL_2_CH2_SATURATION_EN_CTL_SFT 26
  458. #define DL_2_CH2_SATURATION_EN_CTL_MASK 0x1
  459. #define DL_2_CH2_SATURATION_EN_CTL_MASK_SFT (0x1 << 26)
  460. #define DL_2_OUTPUT_SEL_CTL_SFT 24
  461. #define DL_2_OUTPUT_SEL_CTL_MASK 0x3
  462. #define DL_2_OUTPUT_SEL_CTL_MASK_SFT (0x3 << 24)
  463. #define DL_2_FADEIN_0START_EN_SFT 16
  464. #define DL_2_FADEIN_0START_EN_MASK 0x3
  465. #define DL_2_FADEIN_0START_EN_MASK_SFT (0x3 << 16)
  466. #define DL_DISABLE_HW_CG_CTL_SFT 15
  467. #define DL_DISABLE_HW_CG_CTL_MASK 0x1
  468. #define DL_DISABLE_HW_CG_CTL_MASK_SFT (0x1 << 15)
  469. #define C_DATA_EN_SEL_CTL_PRE_SFT 14
  470. #define C_DATA_EN_SEL_CTL_PRE_MASK 0x1
  471. #define C_DATA_EN_SEL_CTL_PRE_MASK_SFT (0x1 << 14)
  472. #define DL_2_SIDE_TONE_ON_CTL_PRE_SFT 13
  473. #define DL_2_SIDE_TONE_ON_CTL_PRE_MASK 0x1
  474. #define DL_2_SIDE_TONE_ON_CTL_PRE_MASK_SFT (0x1 << 13)
  475. #define DL_2_MUTE_CH1_OFF_CTL_PRE_SFT 12
  476. #define DL_2_MUTE_CH1_OFF_CTL_PRE_MASK 0x1
  477. #define DL_2_MUTE_CH1_OFF_CTL_PRE_MASK_SFT (0x1 << 12)
  478. #define DL_2_MUTE_CH2_OFF_CTL_PRE_SFT 11
  479. #define DL_2_MUTE_CH2_OFF_CTL_PRE_MASK 0x1
  480. #define DL_2_MUTE_CH2_OFF_CTL_PRE_MASK_SFT (0x1 << 11)
  481. #define DL2_ARAMPSP_CTL_PRE_SFT 9
  482. #define DL2_ARAMPSP_CTL_PRE_MASK 0x3
  483. #define DL2_ARAMPSP_CTL_PRE_MASK_SFT (0x3 << 9)
  484. #define DL_2_IIRMODE_CTL_PRE_SFT 6
  485. #define DL_2_IIRMODE_CTL_PRE_MASK 0x7
  486. #define DL_2_IIRMODE_CTL_PRE_MASK_SFT (0x7 << 6)
  487. #define DL_2_VOICE_MODE_CTL_PRE_SFT 5
  488. #define DL_2_VOICE_MODE_CTL_PRE_MASK 0x1
  489. #define DL_2_VOICE_MODE_CTL_PRE_MASK_SFT (0x1 << 5)
  490. #define D2_2_MUTE_CH1_ON_CTL_PRE_SFT 4
  491. #define D2_2_MUTE_CH1_ON_CTL_PRE_MASK 0x1
  492. #define D2_2_MUTE_CH1_ON_CTL_PRE_MASK_SFT (0x1 << 4)
  493. #define D2_2_MUTE_CH2_ON_CTL_PRE_SFT 3
  494. #define D2_2_MUTE_CH2_ON_CTL_PRE_MASK 0x1
  495. #define D2_2_MUTE_CH2_ON_CTL_PRE_MASK_SFT (0x1 << 3)
  496. #define DL_2_IIR_ON_CTL_PRE_SFT 2
  497. #define DL_2_IIR_ON_CTL_PRE_MASK 0x1
  498. #define DL_2_IIR_ON_CTL_PRE_MASK_SFT (0x1 << 2)
  499. #define DL_2_GAIN_ON_CTL_PRE_SFT 1
  500. #define DL_2_GAIN_ON_CTL_PRE_MASK 0x1
  501. #define DL_2_GAIN_ON_CTL_PRE_MASK_SFT (0x1 << 1)
  502. #define DL_2_SRC_ON_TMP_CTL_PRE_SFT 0
  503. #define DL_2_SRC_ON_TMP_CTL_PRE_MASK 0x1
  504. #define DL_2_SRC_ON_TMP_CTL_PRE_MASK_SFT (0x1 << 0)
  505. /* AFE_ADDA_DL_SRC2_CON1 */
  506. #define DL_2_GAIN_CTL_PRE_SFT 16
  507. #define DL_2_GAIN_CTL_PRE_MASK 0xffff
  508. #define DL_2_GAIN_CTL_PRE_MASK_SFT (0xffff << 16)
  509. #define DL_2_GAIN_MODE_CTL_SFT 0
  510. #define DL_2_GAIN_MODE_CTL_MASK 0x1
  511. #define DL_2_GAIN_MODE_CTL_MASK_SFT (0x1 << 0)
  512. /* AFE_ADDA_UL_SRC_CON0 */
  513. #define C_COMB_OUT_SIN_GEN_CTL_SFT 31
  514. #define C_COMB_OUT_SIN_GEN_CTL_MASK 0x1
  515. #define C_COMB_OUT_SIN_GEN_CTL_MASK_SFT (0x1 << 31)
  516. #define C_BASEBAND_SIN_GEN_CTL_SFT 30
  517. #define C_BASEBAND_SIN_GEN_CTL_MASK 0x1
  518. #define C_BASEBAND_SIN_GEN_CTL_MASK_SFT (0x1 << 30)
  519. #define C_DIGMIC_PHASE_SEL_CH1_CTL_SFT 27
  520. #define C_DIGMIC_PHASE_SEL_CH1_CTL_MASK 0x7
  521. #define C_DIGMIC_PHASE_SEL_CH1_CTL_MASK_SFT (0x7 << 27)
  522. #define C_DIGMIC_PHASE_SEL_CH2_CTL_SFT 24
  523. #define C_DIGMIC_PHASE_SEL_CH2_CTL_MASK 0x7
  524. #define C_DIGMIC_PHASE_SEL_CH2_CTL_MASK_SFT (0x7 << 24)
  525. #define C_TWO_DIGITAL_MIC_CTL_SFT 23
  526. #define C_TWO_DIGITAL_MIC_CTL_MASK 0x1
  527. #define C_TWO_DIGITAL_MIC_CTL_MASK_SFT (0x1 << 23)
  528. #define UL_MODE_3P25M_CH2_CTL_SFT 22
  529. #define UL_MODE_3P25M_CH2_CTL_MASK 0x1
  530. #define UL_MODE_3P25M_CH2_CTL_MASK_SFT (0x1 << 22)
  531. #define UL_MODE_3P25M_CH1_CTL_SFT 21
  532. #define UL_MODE_3P25M_CH1_CTL_MASK 0x1
  533. #define UL_MODE_3P25M_CH1_CTL_MASK_SFT (0x1 << 21)
  534. #define UL_SRC_USE_CIC_OUT_CTL_SFT 20
  535. #define UL_SRC_USE_CIC_OUT_CTL_MASK 0x1
  536. #define UL_SRC_USE_CIC_OUT_CTL_MASK_SFT (0x1 << 20)
  537. #define UL_VOICE_MODE_CH1_CH2_CTL_SFT 17
  538. #define UL_VOICE_MODE_CH1_CH2_CTL_MASK 0x7
  539. #define UL_VOICE_MODE_CH1_CH2_CTL_MASK_SFT (0x7 << 17)
  540. #define DMIC_LOW_POWER_MODE_CTL_SFT 14
  541. #define DMIC_LOW_POWER_MODE_CTL_MASK 0x3
  542. #define DMIC_LOW_POWER_MODE_CTL_MASK_SFT (0x3 << 14)
  543. #define DMIC_48K_SEL_CTL_SFT 13
  544. #define DMIC_48K_SEL_CTL_MASK 0x1
  545. #define DMIC_48K_SEL_CTL_MASK_SFT (0x1 << 13)
  546. #define UL_DISABLE_HW_CG_CTL_SFT 12
  547. #define UL_DISABLE_HW_CG_CTL_MASK 0x1
  548. #define UL_DISABLE_HW_CG_CTL_MASK_SFT (0x1 << 12)
  549. #define UL_IIR_ON_TMP_CTL_SFT 10
  550. #define UL_IIR_ON_TMP_CTL_MASK 0x1
  551. #define UL_IIR_ON_TMP_CTL_MASK_SFT (0x1 << 10)
  552. #define UL_IIRMODE_CTL_SFT 7
  553. #define UL_IIRMODE_CTL_MASK 0x7
  554. #define UL_IIRMODE_CTL_MASK_SFT (0x7 << 7)
  555. #define DIGMIC_3P25M_1P625M_SEL_CTL_SFT 5
  556. #define DIGMIC_3P25M_1P625M_SEL_CTL_MASK 0x1
  557. #define DIGMIC_3P25M_1P625M_SEL_CTL_MASK_SFT (0x1 << 5)
  558. #define AGC_260K_SEL_CH2_CTL_SFT 4
  559. #define AGC_260K_SEL_CH2_CTL_MASK 0x1
  560. #define AGC_260K_SEL_CH2_CTL_MASK_SFT (0x1 << 4)
  561. #define AGC_260K_SEL_CH1_CTL_SFT 3
  562. #define AGC_260K_SEL_CH1_CTL_MASK 0x1
  563. #define AGC_260K_SEL_CH1_CTL_MASK_SFT (0x1 << 3)
  564. #define UL_LOOP_BACK_MODE_CTL_SFT 2
  565. #define UL_LOOP_BACK_MODE_CTL_MASK 0x1
  566. #define UL_LOOP_BACK_MODE_CTL_MASK_SFT (0x1 << 2)
  567. #define UL_SDM_3_LEVEL_CTL_SFT 1
  568. #define UL_SDM_3_LEVEL_CTL_MASK 0x1
  569. #define UL_SDM_3_LEVEL_CTL_MASK_SFT (0x1 << 1)
  570. #define UL_SRC_ON_TMP_CTL_SFT 0
  571. #define UL_SRC_ON_TMP_CTL_MASK 0x1
  572. #define UL_SRC_ON_TMP_CTL_MASK_SFT (0x1 << 0)
  573. /* AFE_ADDA_UL_SRC_CON1 */
  574. #define C_SDM_RESET_CTL_SFT 31
  575. #define C_SDM_RESET_CTL_MASK 0x1
  576. #define C_SDM_RESET_CTL_MASK_SFT (0x1 << 31)
  577. #define ADITHON_CTL_SFT 30
  578. #define ADITHON_CTL_MASK 0x1
  579. #define ADITHON_CTL_MASK_SFT (0x1 << 30)
  580. #define ADITHVAL_CTL_SFT 28
  581. #define ADITHVAL_CTL_MASK 0x3
  582. #define ADITHVAL_CTL_MASK_SFT (0x3 << 28)
  583. #define C_DAC_EN_CTL_SFT 27
  584. #define C_DAC_EN_CTL_MASK 0x1
  585. #define C_DAC_EN_CTL_MASK_SFT (0x1 << 27)
  586. #define C_MUTE_SW_CTL_SFT 26
  587. #define C_MUTE_SW_CTL_MASK 0x1
  588. #define C_MUTE_SW_CTL_MASK_SFT (0x1 << 26)
  589. #define ASDM_SRC_SEL_CTL_SFT 25
  590. #define ASDM_SRC_SEL_CTL_MASK 0x1
  591. #define ASDM_SRC_SEL_CTL_MASK_SFT (0x1 << 25)
  592. #define C_AMP_DIV_CH2_CTL_SFT 21
  593. #define C_AMP_DIV_CH2_CTL_MASK 0x7
  594. #define C_AMP_DIV_CH2_CTL_MASK_SFT (0x7 << 21)
  595. #define C_FREQ_DIV_CH2_CTL_SFT 16
  596. #define C_FREQ_DIV_CH2_CTL_MASK 0x1f
  597. #define C_FREQ_DIV_CH2_CTL_MASK_SFT (0x1f << 16)
  598. #define C_SINE_MODE_CH2_CTL_SFT 12
  599. #define C_SINE_MODE_CH2_CTL_MASK 0xf
  600. #define C_SINE_MODE_CH2_CTL_MASK_SFT (0xf << 12)
  601. #define C_AMP_DIV_CH1_CTL_SFT 9
  602. #define C_AMP_DIV_CH1_CTL_MASK 0x7
  603. #define C_AMP_DIV_CH1_CTL_MASK_SFT (0x7 << 9)
  604. #define C_FREQ_DIV_CH1_CTL_SFT 4
  605. #define C_FREQ_DIV_CH1_CTL_MASK 0x1f
  606. #define C_FREQ_DIV_CH1_CTL_MASK_SFT (0x1f << 4)
  607. #define C_SINE_MODE_CH1_CTL_SFT 0
  608. #define C_SINE_MODE_CH1_CTL_MASK 0xf
  609. #define C_SINE_MODE_CH1_CTL_MASK_SFT (0xf << 0)
  610. /* AFE_ADDA_TOP_CON0 */
  611. #define C_LOOP_BACK_MODE_CTL_SFT 12
  612. #define C_LOOP_BACK_MODE_CTL_MASK 0xf
  613. #define C_LOOP_BACK_MODE_CTL_MASK_SFT (0xf << 12)
  614. #define C_EXT_ADC_CTL_SFT 0
  615. #define C_EXT_ADC_CTL_MASK 0x1
  616. #define C_EXT_ADC_CTL_MASK_SFT (0x1 << 0)
  617. /* AFE_ADDA_UL_DL_CON0 */
  618. #define AFE_UL_DL_CON0_RESERVED_SFT 1
  619. #define AFE_UL_DL_CON0_RESERVED_MASK 0x3fff
  620. #define AFE_UL_DL_CON0_RESERVED_MASK_SFT (0x3fff << 1)
  621. #define ADDA_AFE_ON_SFT 0
  622. #define ADDA_AFE_ON_MASK 0x1
  623. #define ADDA_AFE_ON_MASK_SFT (0x1 << 0)
  624. /* AFE_IRQ_MCU_CON */
  625. #define IRQ7_MCU_MODE_SFT 24
  626. #define IRQ7_MCU_MODE_MASK 0xf
  627. #define IRQ7_MCU_MODE_MASK_SFT (0xf << 24)
  628. #define IRQ4_MCU_MODE_SFT 20
  629. #define IRQ4_MCU_MODE_MASK 0xf
  630. #define IRQ4_MCU_MODE_MASK_SFT (0xf << 20)
  631. #define IRQ3_MCU_MODE_SFT 16
  632. #define IRQ3_MCU_MODE_MASK 0xf
  633. #define IRQ3_MCU_MODE_MASK_SFT (0xf << 16)
  634. #define IRQ7_MCU_ON_SFT 14
  635. #define IRQ7_MCU_ON_MASK 0x1
  636. #define IRQ7_MCU_ON_MASK_SFT (0x1 << 14)
  637. #define IRQ5_MCU_ON_SFT 12
  638. #define IRQ5_MCU_ON_MASK 0x1
  639. #define IRQ5_MCU_ON_MASK_SFT (0x1 << 12)
  640. #define IRQ2_MCU_MODE_SFT 8
  641. #define IRQ2_MCU_MODE_MASK 0xf
  642. #define IRQ2_MCU_MODE_MASK_SFT (0xf << 8)
  643. #define IRQ1_MCU_MODE_SFT 4
  644. #define IRQ1_MCU_MODE_MASK 0xf
  645. #define IRQ1_MCU_MODE_MASK_SFT (0xf << 4)
  646. #define IRQ4_MCU_ON_SFT 3
  647. #define IRQ4_MCU_ON_MASK 0x1
  648. #define IRQ4_MCU_ON_MASK_SFT (0x1 << 3)
  649. #define IRQ3_MCU_ON_SFT 2
  650. #define IRQ3_MCU_ON_MASK 0x1
  651. #define IRQ3_MCU_ON_MASK_SFT (0x1 << 2)
  652. #define IRQ2_MCU_ON_SFT 1
  653. #define IRQ2_MCU_ON_MASK 0x1
  654. #define IRQ2_MCU_ON_MASK_SFT (0x1 << 1)
  655. #define IRQ1_MCU_ON_SFT 0
  656. #define IRQ1_MCU_ON_MASK 0x1
  657. #define IRQ1_MCU_ON_MASK_SFT (0x1 << 0)
  658. /* AFE_IRQ_MCU_EN */
  659. #define AFE_IRQ_CM4_EN_SFT 16
  660. #define AFE_IRQ_CM4_EN_MASK 0x7f
  661. #define AFE_IRQ_CM4_EN_MASK_SFT (0x7f << 16)
  662. #define AFE_IRQ_MD32_EN_SFT 8
  663. #define AFE_IRQ_MD32_EN_MASK 0x7f
  664. #define AFE_IRQ_MD32_EN_MASK_SFT (0x7f << 8)
  665. #define AFE_IRQ_MCU_EN_SFT 0
  666. #define AFE_IRQ_MCU_EN_MASK 0x7f
  667. #define AFE_IRQ_MCU_EN_MASK_SFT (0x7f << 0)
  668. /* AFE_IRQ_MCU_CLR */
  669. #define IRQ7_MCU_CLR_SFT 6
  670. #define IRQ7_MCU_CLR_MASK 0x1
  671. #define IRQ7_MCU_CLR_MASK_SFT (0x1 << 6)
  672. #define IRQ5_MCU_CLR_SFT 4
  673. #define IRQ5_MCU_CLR_MASK 0x1
  674. #define IRQ5_MCU_CLR_MASK_SFT (0x1 << 4)
  675. #define IRQ4_MCU_CLR_SFT 3
  676. #define IRQ4_MCU_CLR_MASK 0x1
  677. #define IRQ4_MCU_CLR_MASK_SFT (0x1 << 3)
  678. #define IRQ3_MCU_CLR_SFT 2
  679. #define IRQ3_MCU_CLR_MASK 0x1
  680. #define IRQ3_MCU_CLR_MASK_SFT (0x1 << 2)
  681. #define IRQ2_MCU_CLR_SFT 1
  682. #define IRQ2_MCU_CLR_MASK 0x1
  683. #define IRQ2_MCU_CLR_MASK_SFT (0x1 << 1)
  684. #define IRQ1_MCU_CLR_SFT 0
  685. #define IRQ1_MCU_CLR_MASK 0x1
  686. #define IRQ1_MCU_CLR_MASK_SFT (0x1 << 0)
  687. /* AFE_IRQ_MCU_CNT1 */
  688. #define AFE_IRQ_MCU_CNT1_SFT 0
  689. #define AFE_IRQ_MCU_CNT1_MASK 0x3ffff
  690. #define AFE_IRQ_MCU_CNT1_MASK_SFT (0x3ffff << 0)
  691. /* AFE_IRQ_MCU_CNT2 */
  692. #define AFE_IRQ_MCU_CNT2_SFT 0
  693. #define AFE_IRQ_MCU_CNT2_MASK 0x3ffff
  694. #define AFE_IRQ_MCU_CNT2_MASK_SFT (0x3ffff << 0)
  695. /* AFE_IRQ_MCU_CNT3 */
  696. #define AFE_IRQ_MCU_CNT3_SFT 0
  697. #define AFE_IRQ_MCU_CNT3_MASK 0x3ffff
  698. #define AFE_IRQ_MCU_CNT3_MASK_SFT (0x3ffff << 0)
  699. /* AFE_IRQ_MCU_CNT4 */
  700. #define AFE_IRQ_MCU_CNT4_SFT 0
  701. #define AFE_IRQ_MCU_CNT4_MASK 0x3ffff
  702. #define AFE_IRQ_MCU_CNT4_MASK_SFT (0x3ffff << 0)
  703. /* AFE_IRQ_MCU_CNT5 */
  704. #define AFE_IRQ_MCU_CNT5_SFT 0
  705. #define AFE_IRQ_MCU_CNT5_MASK 0x3ffff
  706. #define AFE_IRQ_MCU_CNT5_MASK_SFT (0x3ffff << 0)
  707. /* AFE_IRQ_MCU_CNT7 */
  708. #define AFE_IRQ_MCU_CNT7_SFT 0
  709. #define AFE_IRQ_MCU_CNT7_MASK 0x3ffff
  710. #define AFE_IRQ_MCU_CNT7_MASK_SFT (0x3ffff << 0)
  711. /* AFE_MEMIF_MSB */
  712. #define CPU_COMPACT_MODE_SFT 23
  713. #define CPU_COMPACT_MODE_MASK 0x1
  714. #define CPU_COMPACT_MODE_MASK_SFT (0x1 << 23)
  715. #define CPU_HD_ALIGN_SFT 22
  716. #define CPU_HD_ALIGN_MASK 0x1
  717. #define CPU_HD_ALIGN_MASK_SFT (0x1 << 22)
  718. /* AFE_MEMIF_HD_MODE */
  719. #define HDMI_HD_SFT 20
  720. #define HDMI_HD_MASK 0x3
  721. #define HDMI_HD_MASK_SFT (0x3 << 20)
  722. #define MOD_DAI_HD_SFT 18
  723. #define MOD_DAI_HD_MASK 0x3
  724. #define MOD_DAI_HD_MASK_SFT (0x3 << 18)
  725. #define DAI_HD_SFT 16
  726. #define DAI_HD_MASK 0x3
  727. #define DAI_HD_MASK_SFT (0x3 << 16)
  728. #define VUL_DATA2_HD_SFT 12
  729. #define VUL_DATA2_HD_MASK 0x3
  730. #define VUL_DATA2_HD_MASK_SFT (0x3 << 12)
  731. #define VUL_HD_SFT 10
  732. #define VUL_HD_MASK 0x3
  733. #define VUL_HD_MASK_SFT (0x3 << 10)
  734. #define AWB_HD_SFT 8
  735. #define AWB_HD_MASK 0x3
  736. #define AWB_HD_MASK_SFT (0x3 << 8)
  737. #define DL3_HD_SFT 6
  738. #define DL3_HD_MASK 0x3
  739. #define DL3_HD_MASK_SFT (0x3 << 6)
  740. #define DL2_HD_SFT 4
  741. #define DL2_HD_MASK 0x3
  742. #define DL2_HD_MASK_SFT (0x3 << 4)
  743. #define DL1_DATA2_HD_SFT 2
  744. #define DL1_DATA2_HD_MASK 0x3
  745. #define DL1_DATA2_HD_MASK_SFT (0x3 << 2)
  746. #define DL1_HD_SFT 0
  747. #define DL1_HD_MASK 0x3
  748. #define DL1_HD_MASK_SFT (0x3 << 0)
  749. /* AFE_MEMIF_HDALIGN */
  750. #define HDMI_NORMAL_MODE_SFT 26
  751. #define HDMI_NORMAL_MODE_MASK 0x1
  752. #define HDMI_NORMAL_MODE_MASK_SFT (0x1 << 26)
  753. #define MOD_DAI_NORMAL_MODE_SFT 25
  754. #define MOD_DAI_NORMAL_MODE_MASK 0x1
  755. #define MOD_DAI_NORMAL_MODE_MASK_SFT (0x1 << 25)
  756. #define DAI_NORMAL_MODE_SFT 24
  757. #define DAI_NORMAL_MODE_MASK 0x1
  758. #define DAI_NORMAL_MODE_MASK_SFT (0x1 << 24)
  759. #define VUL_DATA2_NORMAL_MODE_SFT 22
  760. #define VUL_DATA2_NORMAL_MODE_MASK 0x1
  761. #define VUL_DATA2_NORMAL_MODE_MASK_SFT (0x1 << 22)
  762. #define VUL_NORMAL_MODE_SFT 21
  763. #define VUL_NORMAL_MODE_MASK 0x1
  764. #define VUL_NORMAL_MODE_MASK_SFT (0x1 << 21)
  765. #define AWB_NORMAL_MODE_SFT 20
  766. #define AWB_NORMAL_MODE_MASK 0x1
  767. #define AWB_NORMAL_MODE_MASK_SFT (0x1 << 20)
  768. #define DL3_NORMAL_MODE_SFT 19
  769. #define DL3_NORMAL_MODE_MASK 0x1
  770. #define DL3_NORMAL_MODE_MASK_SFT (0x1 << 19)
  771. #define DL2_NORMAL_MODE_SFT 18
  772. #define DL2_NORMAL_MODE_MASK 0x1
  773. #define DL2_NORMAL_MODE_MASK_SFT (0x1 << 18)
  774. #define DL1_DATA2_NORMAL_MODE_SFT 17
  775. #define DL1_DATA2_NORMAL_MODE_MASK 0x1
  776. #define DL1_DATA2_NORMAL_MODE_MASK_SFT (0x1 << 17)
  777. #define DL1_NORMAL_MODE_SFT 16
  778. #define DL1_NORMAL_MODE_MASK 0x1
  779. #define DL1_NORMAL_MODE_MASK_SFT (0x1 << 16)
  780. #define HDMI_HD_ALIGN_SFT 10
  781. #define HDMI_HD_ALIGN_MASK 0x1
  782. #define HDMI_HD_ALIGN_MASK_SFT (0x1 << 10)
  783. #define MOD_DAI_HD_ALIGN_SFT 9
  784. #define MOD_DAI_HD_ALIGN_MASK 0x1
  785. #define MOD_DAI_HD_ALIGN_MASK_SFT (0x1 << 9)
  786. #define DAI_ALIGN_SFT 8
  787. #define DAI_ALIGN_MASK 0x1
  788. #define DAI_ALIGN_MASK_SFT (0x1 << 8)
  789. #define VUL2_HD_ALIGN_SFT 7
  790. #define VUL2_HD_ALIGN_MASK 0x1
  791. #define VUL2_HD_ALIGN_MASK_SFT (0x1 << 7)
  792. #define VUL_DATA2_HD_ALIGN_SFT 6
  793. #define VUL_DATA2_HD_ALIGN_MASK 0x1
  794. #define VUL_DATA2_HD_ALIGN_MASK_SFT (0x1 << 6)
  795. #define VUL_HD_ALIGN_SFT 5
  796. #define VUL_HD_ALIGN_MASK 0x1
  797. #define VUL_HD_ALIGN_MASK_SFT (0x1 << 5)
  798. #define AWB_HD_ALIGN_SFT 4
  799. #define AWB_HD_ALIGN_MASK 0x1
  800. #define AWB_HD_ALIGN_MASK_SFT (0x1 << 4)
  801. #define DL3_HD_ALIGN_SFT 3
  802. #define DL3_HD_ALIGN_MASK 0x1
  803. #define DL3_HD_ALIGN_MASK_SFT (0x1 << 3)
  804. #define DL2_HD_ALIGN_SFT 2
  805. #define DL2_HD_ALIGN_MASK 0x1
  806. #define DL2_HD_ALIGN_MASK_SFT (0x1 << 2)
  807. #define DL1_DATA2_HD_ALIGN_SFT 1
  808. #define DL1_DATA2_HD_ALIGN_MASK 0x1
  809. #define DL1_DATA2_HD_ALIGN_MASK_SFT (0x1 << 1)
  810. #define DL1_HD_ALIGN_SFT 0
  811. #define DL1_HD_ALIGN_MASK 0x1
  812. #define DL1_HD_ALIGN_MASK_SFT (0x1 << 0)
  813. /* PCM_INTF_CON1 */
  814. #define PCM_FIX_VALUE_SEL_SFT 31
  815. #define PCM_FIX_VALUE_SEL_MASK 0x1
  816. #define PCM_FIX_VALUE_SEL_MASK_SFT (0x1 << 31)
  817. #define PCM_BUFFER_LOOPBACK_SFT 30
  818. #define PCM_BUFFER_LOOPBACK_MASK 0x1
  819. #define PCM_BUFFER_LOOPBACK_MASK_SFT (0x1 << 30)
  820. #define PCM_PARALLEL_LOOPBACK_SFT 29
  821. #define PCM_PARALLEL_LOOPBACK_MASK 0x1
  822. #define PCM_PARALLEL_LOOPBACK_MASK_SFT (0x1 << 29)
  823. #define PCM_SERIAL_LOOPBACK_SFT 28
  824. #define PCM_SERIAL_LOOPBACK_MASK 0x1
  825. #define PCM_SERIAL_LOOPBACK_MASK_SFT (0x1 << 28)
  826. #define PCM_DAI_PCM_LOOPBACK_SFT 27
  827. #define PCM_DAI_PCM_LOOPBACK_MASK 0x1
  828. #define PCM_DAI_PCM_LOOPBACK_MASK_SFT (0x1 << 27)
  829. #define PCM_I2S_PCM_LOOPBACK_SFT 26
  830. #define PCM_I2S_PCM_LOOPBACK_MASK 0x1
  831. #define PCM_I2S_PCM_LOOPBACK_MASK_SFT (0x1 << 26)
  832. #define PCM_SYNC_DELSEL_SFT 25
  833. #define PCM_SYNC_DELSEL_MASK 0x1
  834. #define PCM_SYNC_DELSEL_MASK_SFT (0x1 << 25)
  835. #define PCM_TX_LR_SWAP_SFT 24
  836. #define PCM_TX_LR_SWAP_MASK 0x1
  837. #define PCM_TX_LR_SWAP_MASK_SFT (0x1 << 24)
  838. #define PCM_SYNC_OUT_INV_SFT 23
  839. #define PCM_SYNC_OUT_INV_MASK 0x1
  840. #define PCM_SYNC_OUT_INV_MASK_SFT (0x1 << 23)
  841. #define PCM_BCLK_OUT_INV_SFT 22
  842. #define PCM_BCLK_OUT_INV_MASK 0x1
  843. #define PCM_BCLK_OUT_INV_MASK_SFT (0x1 << 22)
  844. #define PCM_SYNC_IN_INV_SFT 21
  845. #define PCM_SYNC_IN_INV_MASK 0x1
  846. #define PCM_SYNC_IN_INV_MASK_SFT (0x1 << 21)
  847. #define PCM_BCLK_IN_INV_SFT 20
  848. #define PCM_BCLK_IN_INV_MASK 0x1
  849. #define PCM_BCLK_IN_INV_MASK_SFT (0x1 << 20)
  850. #define PCM_TX_LCH_RPT_SFT 19
  851. #define PCM_TX_LCH_RPT_MASK 0x1
  852. #define PCM_TX_LCH_RPT_MASK_SFT (0x1 << 19)
  853. #define PCM_VBT_16K_MODE_SFT 18
  854. #define PCM_VBT_16K_MODE_MASK 0x1
  855. #define PCM_VBT_16K_MODE_MASK_SFT (0x1 << 18)
  856. #define PCM_EXT_MODEM_SFT 17
  857. #define PCM_EXT_MODEM_MASK 0x1
  858. #define PCM_EXT_MODEM_MASK_SFT (0x1 << 17)
  859. #define PCM_24BIT_SFT 16
  860. #define PCM_24BIT_MASK 0x1
  861. #define PCM_24BIT_MASK_SFT (0x1 << 16)
  862. #define PCM_WLEN_SFT 14
  863. #define PCM_WLEN_MASK 0x3
  864. #define PCM_WLEN_MASK_SFT (0x3 << 14)
  865. #define PCM_SYNC_LENGTH_SFT 9
  866. #define PCM_SYNC_LENGTH_MASK 0x1f
  867. #define PCM_SYNC_LENGTH_MASK_SFT (0x1f << 9)
  868. #define PCM_SYNC_TYPE_SFT 8
  869. #define PCM_SYNC_TYPE_MASK 0x1
  870. #define PCM_SYNC_TYPE_MASK_SFT (0x1 << 8)
  871. #define PCM_BT_MODE_SFT 7
  872. #define PCM_BT_MODE_MASK 0x1
  873. #define PCM_BT_MODE_MASK_SFT (0x1 << 7)
  874. #define PCM_BYP_ASRC_SFT 6
  875. #define PCM_BYP_ASRC_MASK 0x1
  876. #define PCM_BYP_ASRC_MASK_SFT (0x1 << 6)
  877. #define PCM_SLAVE_SFT 5
  878. #define PCM_SLAVE_MASK 0x1
  879. #define PCM_SLAVE_MASK_SFT (0x1 << 5)
  880. #define PCM_MODE_SFT 3
  881. #define PCM_MODE_MASK 0x3
  882. #define PCM_MODE_MASK_SFT (0x3 << 3)
  883. #define PCM_FMT_SFT 1
  884. #define PCM_FMT_MASK 0x3
  885. #define PCM_FMT_MASK_SFT (0x3 << 1)
  886. #define PCM_EN_SFT 0
  887. #define PCM_EN_MASK 0x1
  888. #define PCM_EN_MASK_SFT (0x1 << 0)
  889. /* PCM_INTF_CON2 */
  890. #define PCM1_TX_FIFO_OV_SFT 31
  891. #define PCM1_TX_FIFO_OV_MASK 0x1
  892. #define PCM1_TX_FIFO_OV_MASK_SFT (0x1 << 31)
  893. #define PCM1_RX_FIFO_OV_SFT 30
  894. #define PCM1_RX_FIFO_OV_MASK 0x1
  895. #define PCM1_RX_FIFO_OV_MASK_SFT (0x1 << 30)
  896. #define PCM2_TX_FIFO_OV_SFT 29
  897. #define PCM2_TX_FIFO_OV_MASK 0x1
  898. #define PCM2_TX_FIFO_OV_MASK_SFT (0x1 << 29)
  899. #define PCM2_RX_FIFO_OV_SFT 28
  900. #define PCM2_RX_FIFO_OV_MASK 0x1
  901. #define PCM2_RX_FIFO_OV_MASK_SFT (0x1 << 28)
  902. #define PCM1_SYNC_GLITCH_SFT 27
  903. #define PCM1_SYNC_GLITCH_MASK 0x1
  904. #define PCM1_SYNC_GLITCH_MASK_SFT (0x1 << 27)
  905. #define PCM2_SYNC_GLITCH_SFT 26
  906. #define PCM2_SYNC_GLITCH_MASK 0x1
  907. #define PCM2_SYNC_GLITCH_MASK_SFT (0x1 << 26)
  908. #define PCM1_PCM2_LOOPBACK_SFT 15
  909. #define PCM1_PCM2_LOOPBACK_MASK 0x1
  910. #define PCM1_PCM2_LOOPBACK_MASK_SFT (0x1 << 15)
  911. #define DAI_PCM_LOOPBACK_CH_SFT 13
  912. #define DAI_PCM_LOOPBACK_CH_MASK 0x1
  913. #define DAI_PCM_LOOPBACK_CH_MASK_SFT (0x1 << 13)
  914. #define I2S_PCM_LOOPBACK_CH_SFT 12
  915. #define I2S_PCM_LOOPBACK_CH_MASK 0x1
  916. #define I2S_PCM_LOOPBACK_CH_MASK_SFT (0x1 << 12)
  917. #define PCM_USE_MD3_SFT 8
  918. #define PCM_USE_MD3_MASK 0x1
  919. #define PCM_USE_MD3_MASK_SFT (0x1 << 8)
  920. #define TX_FIX_VALUE_SFT 0
  921. #define TX_FIX_VALUE_MASK 0xff
  922. #define TX_FIX_VALUE_MASK_SFT (0xff << 0)
  923. /* PCM2_INTF_CON */
  924. #define PCM2_TX_FIX_VALUE_SFT 24
  925. #define PCM2_TX_FIX_VALUE_MASK 0xff
  926. #define PCM2_TX_FIX_VALUE_MASK_SFT (0xff << 24)
  927. #define PCM2_FIX_VALUE_SEL_SFT 23
  928. #define PCM2_FIX_VALUE_SEL_MASK 0x1
  929. #define PCM2_FIX_VALUE_SEL_MASK_SFT (0x1 << 23)
  930. #define PCM2_BUFFER_LOOPBACK_SFT 22
  931. #define PCM2_BUFFER_LOOPBACK_MASK 0x1
  932. #define PCM2_BUFFER_LOOPBACK_MASK_SFT (0x1 << 22)
  933. #define PCM2_PARALLEL_LOOPBACK_SFT 21
  934. #define PCM2_PARALLEL_LOOPBACK_MASK 0x1
  935. #define PCM2_PARALLEL_LOOPBACK_MASK_SFT (0x1 << 21)
  936. #define PCM2_SERIAL_LOOPBACK_SFT 20
  937. #define PCM2_SERIAL_LOOPBACK_MASK 0x1
  938. #define PCM2_SERIAL_LOOPBACK_MASK_SFT (0x1 << 20)
  939. #define PCM2_DAI_PCM_LOOPBACK_SFT 19
  940. #define PCM2_DAI_PCM_LOOPBACK_MASK 0x1
  941. #define PCM2_DAI_PCM_LOOPBACK_MASK_SFT (0x1 << 19)
  942. #define PCM2_I2S_PCM_LOOPBACK_SFT 18
  943. #define PCM2_I2S_PCM_LOOPBACK_MASK 0x1
  944. #define PCM2_I2S_PCM_LOOPBACK_MASK_SFT (0x1 << 18)
  945. #define PCM2_SYNC_DELSEL_SFT 17
  946. #define PCM2_SYNC_DELSEL_MASK 0x1
  947. #define PCM2_SYNC_DELSEL_MASK_SFT (0x1 << 17)
  948. #define PCM2_TX_LR_SWAP_SFT 16
  949. #define PCM2_TX_LR_SWAP_MASK 0x1
  950. #define PCM2_TX_LR_SWAP_MASK_SFT (0x1 << 16)
  951. #define PCM2_SYNC_IN_INV_SFT 15
  952. #define PCM2_SYNC_IN_INV_MASK 0x1
  953. #define PCM2_SYNC_IN_INV_MASK_SFT (0x1 << 15)
  954. #define PCM2_BCLK_IN_INV_SFT 14
  955. #define PCM2_BCLK_IN_INV_MASK 0x1
  956. #define PCM2_BCLK_IN_INV_MASK_SFT (0x1 << 14)
  957. #define PCM2_TX_LCH_RPT_SFT 13
  958. #define PCM2_TX_LCH_RPT_MASK 0x1
  959. #define PCM2_TX_LCH_RPT_MASK_SFT (0x1 << 13)
  960. #define PCM2_VBT_16K_MODE_SFT 12
  961. #define PCM2_VBT_16K_MODE_MASK 0x1
  962. #define PCM2_VBT_16K_MODE_MASK_SFT (0x1 << 12)
  963. #define PCM2_LOOPBACK_CH_SEL_SFT 10
  964. #define PCM2_LOOPBACK_CH_SEL_MASK 0x3
  965. #define PCM2_LOOPBACK_CH_SEL_MASK_SFT (0x3 << 10)
  966. #define PCM2_TX2_BT_MODE_SFT 8
  967. #define PCM2_TX2_BT_MODE_MASK 0x1
  968. #define PCM2_TX2_BT_MODE_MASK_SFT (0x1 << 8)
  969. #define PCM2_BT_MODE_SFT 7
  970. #define PCM2_BT_MODE_MASK 0x1
  971. #define PCM2_BT_MODE_MASK_SFT (0x1 << 7)
  972. #define PCM2_AFIFO_SFT 6
  973. #define PCM2_AFIFO_MASK 0x1
  974. #define PCM2_AFIFO_MASK_SFT (0x1 << 6)
  975. #define PCM2_WLEN_SFT 5
  976. #define PCM2_WLEN_MASK 0x1
  977. #define PCM2_WLEN_MASK_SFT (0x1 << 5)
  978. #define PCM2_MODE_SFT 3
  979. #define PCM2_MODE_MASK 0x3
  980. #define PCM2_MODE_MASK_SFT (0x3 << 3)
  981. #define PCM2_FMT_SFT 1
  982. #define PCM2_FMT_MASK 0x3
  983. #define PCM2_FMT_MASK_SFT (0x3 << 1)
  984. #define PCM2_EN_SFT 0
  985. #define PCM2_EN_MASK 0x1
  986. #define PCM2_EN_MASK_SFT (0x1 << 0)
  987. #endif