1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * mt6358.h -- mt6358 ALSA SoC audio codec driver 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2018 MediaTek Inc. 6*4882a593Smuzhiyun * Author: KaiChieh Chuang <kaichieh.chuang@mediatek.com> 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __MT6358_H__ 10*4882a593Smuzhiyun #define __MT6358_H__ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* Reg bit define */ 13*4882a593Smuzhiyun /* MT6358_DCXO_CW14 */ 14*4882a593Smuzhiyun #define RG_XO_AUDIO_EN_M_SFT 13 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* MT6358_DCXO_CW13 */ 17*4882a593Smuzhiyun #define RG_XO_VOW_EN_SFT 8 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKPDN_CON0 */ 20*4882a593Smuzhiyun #define RG_VOW13M_CK_PDN_SFT 13 21*4882a593Smuzhiyun #define RG_VOW13M_CK_PDN_MASK 0x1 22*4882a593Smuzhiyun #define RG_VOW13M_CK_PDN_MASK_SFT (0x1 << 13) 23*4882a593Smuzhiyun #define RG_VOW32K_CK_PDN_SFT 12 24*4882a593Smuzhiyun #define RG_VOW32K_CK_PDN_MASK 0x1 25*4882a593Smuzhiyun #define RG_VOW32K_CK_PDN_MASK_SFT (0x1 << 12) 26*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PDN_SFT 8 27*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PDN_MASK 0x1 28*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PDN_MASK_SFT (0x1 << 8) 29*4882a593Smuzhiyun #define RG_PAD_AUD_CLK_MISO_CK_PDN_SFT 7 30*4882a593Smuzhiyun #define RG_PAD_AUD_CLK_MISO_CK_PDN_MASK 0x1 31*4882a593Smuzhiyun #define RG_PAD_AUD_CLK_MISO_CK_PDN_MASK_SFT (0x1 << 7) 32*4882a593Smuzhiyun #define RG_AUDNCP_CK_PDN_SFT 6 33*4882a593Smuzhiyun #define RG_AUDNCP_CK_PDN_MASK 0x1 34*4882a593Smuzhiyun #define RG_AUDNCP_CK_PDN_MASK_SFT (0x1 << 6) 35*4882a593Smuzhiyun #define RG_ZCD13M_CK_PDN_SFT 5 36*4882a593Smuzhiyun #define RG_ZCD13M_CK_PDN_MASK 0x1 37*4882a593Smuzhiyun #define RG_ZCD13M_CK_PDN_MASK_SFT (0x1 << 5) 38*4882a593Smuzhiyun #define RG_AUDIF_CK_PDN_SFT 2 39*4882a593Smuzhiyun #define RG_AUDIF_CK_PDN_MASK 0x1 40*4882a593Smuzhiyun #define RG_AUDIF_CK_PDN_MASK_SFT (0x1 << 2) 41*4882a593Smuzhiyun #define RG_AUD_CK_PDN_SFT 1 42*4882a593Smuzhiyun #define RG_AUD_CK_PDN_MASK 0x1 43*4882a593Smuzhiyun #define RG_AUD_CK_PDN_MASK_SFT (0x1 << 1) 44*4882a593Smuzhiyun #define RG_ACCDET_CK_PDN_SFT 0 45*4882a593Smuzhiyun #define RG_ACCDET_CK_PDN_MASK 0x1 46*4882a593Smuzhiyun #define RG_ACCDET_CK_PDN_MASK_SFT (0x1 << 0) 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKPDN_CON0_SET */ 49*4882a593Smuzhiyun #define RG_AUD_TOP_CKPDN_CON0_SET_SFT 0 50*4882a593Smuzhiyun #define RG_AUD_TOP_CKPDN_CON0_SET_MASK 0x3fff 51*4882a593Smuzhiyun #define RG_AUD_TOP_CKPDN_CON0_SET_MASK_SFT (0x3fff << 0) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKPDN_CON0_CLR */ 54*4882a593Smuzhiyun #define RG_AUD_TOP_CKPDN_CON0_CLR_SFT 0 55*4882a593Smuzhiyun #define RG_AUD_TOP_CKPDN_CON0_CLR_MASK 0x3fff 56*4882a593Smuzhiyun #define RG_AUD_TOP_CKPDN_CON0_CLR_MASK_SFT (0x3fff << 0) 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKSEL_CON0 */ 59*4882a593Smuzhiyun #define RG_AUDIF_CK_CKSEL_SFT 3 60*4882a593Smuzhiyun #define RG_AUDIF_CK_CKSEL_MASK 0x1 61*4882a593Smuzhiyun #define RG_AUDIF_CK_CKSEL_MASK_SFT (0x1 << 3) 62*4882a593Smuzhiyun #define RG_AUD_CK_CKSEL_SFT 2 63*4882a593Smuzhiyun #define RG_AUD_CK_CKSEL_MASK 0x1 64*4882a593Smuzhiyun #define RG_AUD_CK_CKSEL_MASK_SFT (0x1 << 2) 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKSEL_CON0_SET */ 67*4882a593Smuzhiyun #define RG_AUD_TOP_CKSEL_CON0_SET_SFT 0 68*4882a593Smuzhiyun #define RG_AUD_TOP_CKSEL_CON0_SET_MASK 0xf 69*4882a593Smuzhiyun #define RG_AUD_TOP_CKSEL_CON0_SET_MASK_SFT (0xf << 0) 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKSEL_CON0_CLR */ 72*4882a593Smuzhiyun #define RG_AUD_TOP_CKSEL_CON0_CLR_SFT 0 73*4882a593Smuzhiyun #define RG_AUD_TOP_CKSEL_CON0_CLR_MASK 0xf 74*4882a593Smuzhiyun #define RG_AUD_TOP_CKSEL_CON0_CLR_MASK_SFT (0xf << 0) 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun /* MT6358_AUD_TOP_CKTST_CON0 */ 77*4882a593Smuzhiyun #define RG_VOW13M_CK_TSTSEL_SFT 9 78*4882a593Smuzhiyun #define RG_VOW13M_CK_TSTSEL_MASK 0x1 79*4882a593Smuzhiyun #define RG_VOW13M_CK_TSTSEL_MASK_SFT (0x1 << 9) 80*4882a593Smuzhiyun #define RG_VOW13M_CK_TST_DIS_SFT 8 81*4882a593Smuzhiyun #define RG_VOW13M_CK_TST_DIS_MASK 0x1 82*4882a593Smuzhiyun #define RG_VOW13M_CK_TST_DIS_MASK_SFT (0x1 << 8) 83*4882a593Smuzhiyun #define RG_AUD26M_CK_TSTSEL_SFT 4 84*4882a593Smuzhiyun #define RG_AUD26M_CK_TSTSEL_MASK 0x1 85*4882a593Smuzhiyun #define RG_AUD26M_CK_TSTSEL_MASK_SFT (0x1 << 4) 86*4882a593Smuzhiyun #define RG_AUDIF_CK_TSTSEL_SFT 3 87*4882a593Smuzhiyun #define RG_AUDIF_CK_TSTSEL_MASK 0x1 88*4882a593Smuzhiyun #define RG_AUDIF_CK_TSTSEL_MASK_SFT (0x1 << 3) 89*4882a593Smuzhiyun #define RG_AUD_CK_TSTSEL_SFT 2 90*4882a593Smuzhiyun #define RG_AUD_CK_TSTSEL_MASK 0x1 91*4882a593Smuzhiyun #define RG_AUD_CK_TSTSEL_MASK_SFT (0x1 << 2) 92*4882a593Smuzhiyun #define RG_AUD26M_CK_TST_DIS_SFT 0 93*4882a593Smuzhiyun #define RG_AUD26M_CK_TST_DIS_MASK 0x1 94*4882a593Smuzhiyun #define RG_AUD26M_CK_TST_DIS_MASK_SFT (0x1 << 0) 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun /* MT6358_AUD_TOP_CLK_HWEN_CON0 */ 97*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PDN_HWEN_SFT 0 98*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PDN_HWEN_MASK 0x1 99*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PDN_HWEN_MASK_SFT (0x1 << 0) 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun /* MT6358_AUD_TOP_CLK_HWEN_CON0_SET */ 102*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PND_HWEN_CON0_SET_SFT 0 103*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PND_HWEN_CON0_SET_MASK 0xffff 104*4882a593Smuzhiyun #define RG_AUD_INTRP_CK_PND_HWEN_CON0_SET_MASK_SFT (0xffff << 0) 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun /* MT6358_AUD_TOP_CLK_HWEN_CON0_CLR */ 107*4882a593Smuzhiyun #define RG_AUD_INTRP_CLK_PDN_HWEN_CON0_CLR_SFT 0 108*4882a593Smuzhiyun #define RG_AUD_INTRP_CLK_PDN_HWEN_CON0_CLR_MASK 0xffff 109*4882a593Smuzhiyun #define RG_AUD_INTRP_CLK_PDN_HWEN_CON0_CLR_MASK_SFT (0xffff << 0) 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun /* MT6358_AUD_TOP_RST_CON0 */ 112*4882a593Smuzhiyun #define RG_AUDNCP_RST_SFT 3 113*4882a593Smuzhiyun #define RG_AUDNCP_RST_MASK 0x1 114*4882a593Smuzhiyun #define RG_AUDNCP_RST_MASK_SFT (0x1 << 3) 115*4882a593Smuzhiyun #define RG_ZCD_RST_SFT 2 116*4882a593Smuzhiyun #define RG_ZCD_RST_MASK 0x1 117*4882a593Smuzhiyun #define RG_ZCD_RST_MASK_SFT (0x1 << 2) 118*4882a593Smuzhiyun #define RG_ACCDET_RST_SFT 1 119*4882a593Smuzhiyun #define RG_ACCDET_RST_MASK 0x1 120*4882a593Smuzhiyun #define RG_ACCDET_RST_MASK_SFT (0x1 << 1) 121*4882a593Smuzhiyun #define RG_AUDIO_RST_SFT 0 122*4882a593Smuzhiyun #define RG_AUDIO_RST_MASK 0x1 123*4882a593Smuzhiyun #define RG_AUDIO_RST_MASK_SFT (0x1 << 0) 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun /* MT6358_AUD_TOP_RST_CON0_SET */ 126*4882a593Smuzhiyun #define RG_AUD_TOP_RST_CON0_SET_SFT 0 127*4882a593Smuzhiyun #define RG_AUD_TOP_RST_CON0_SET_MASK 0xf 128*4882a593Smuzhiyun #define RG_AUD_TOP_RST_CON0_SET_MASK_SFT (0xf << 0) 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun /* MT6358_AUD_TOP_RST_CON0_CLR */ 131*4882a593Smuzhiyun #define RG_AUD_TOP_RST_CON0_CLR_SFT 0 132*4882a593Smuzhiyun #define RG_AUD_TOP_RST_CON0_CLR_MASK 0xf 133*4882a593Smuzhiyun #define RG_AUD_TOP_RST_CON0_CLR_MASK_SFT (0xf << 0) 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun /* MT6358_AUD_TOP_RST_BANK_CON0 */ 136*4882a593Smuzhiyun #define BANK_AUDZCD_SWRST_SFT 2 137*4882a593Smuzhiyun #define BANK_AUDZCD_SWRST_MASK 0x1 138*4882a593Smuzhiyun #define BANK_AUDZCD_SWRST_MASK_SFT (0x1 << 2) 139*4882a593Smuzhiyun #define BANK_AUDIO_SWRST_SFT 1 140*4882a593Smuzhiyun #define BANK_AUDIO_SWRST_MASK 0x1 141*4882a593Smuzhiyun #define BANK_AUDIO_SWRST_MASK_SFT (0x1 << 1) 142*4882a593Smuzhiyun #define BANK_ACCDET_SWRST_SFT 0 143*4882a593Smuzhiyun #define BANK_ACCDET_SWRST_MASK 0x1 144*4882a593Smuzhiyun #define BANK_ACCDET_SWRST_MASK_SFT (0x1 << 0) 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_CON0 */ 147*4882a593Smuzhiyun #define RG_INT_EN_AUDIO_SFT 0 148*4882a593Smuzhiyun #define RG_INT_EN_AUDIO_MASK 0x1 149*4882a593Smuzhiyun #define RG_INT_EN_AUDIO_MASK_SFT (0x1 << 0) 150*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_SFT 5 151*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_MASK 0x1 152*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_MASK_SFT (0x1 << 5) 153*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_EINT0_SFT 6 154*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_EINT0_MASK 0x1 155*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_EINT0_MASK_SFT (0x1 << 6) 156*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_EINT1_SFT 7 157*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_EINT1_MASK 0x1 158*4882a593Smuzhiyun #define RG_INT_EN_ACCDET_EINT1_MASK_SFT (0x1 << 7) 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_CON0_SET */ 161*4882a593Smuzhiyun #define RG_AUD_INT_CON0_SET_SFT 0 162*4882a593Smuzhiyun #define RG_AUD_INT_CON0_SET_MASK 0xffff 163*4882a593Smuzhiyun #define RG_AUD_INT_CON0_SET_MASK_SFT (0xffff << 0) 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_CON0_CLR */ 166*4882a593Smuzhiyun #define RG_AUD_INT_CON0_CLR_SFT 0 167*4882a593Smuzhiyun #define RG_AUD_INT_CON0_CLR_MASK 0xffff 168*4882a593Smuzhiyun #define RG_AUD_INT_CON0_CLR_MASK_SFT (0xffff << 0) 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_MASK_CON0 */ 171*4882a593Smuzhiyun #define RG_INT_MASK_AUDIO_SFT 0 172*4882a593Smuzhiyun #define RG_INT_MASK_AUDIO_MASK 0x1 173*4882a593Smuzhiyun #define RG_INT_MASK_AUDIO_MASK_SFT (0x1 << 0) 174*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_SFT 5 175*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_MASK 0x1 176*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_MASK_SFT (0x1 << 5) 177*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_EINT0_SFT 6 178*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_EINT0_MASK 0x1 179*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_EINT0_MASK_SFT (0x1 << 6) 180*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_EINT1_SFT 7 181*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_EINT1_MASK 0x1 182*4882a593Smuzhiyun #define RG_INT_MASK_ACCDET_EINT1_MASK_SFT (0x1 << 7) 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_MASK_CON0_SET */ 185*4882a593Smuzhiyun #define RG_AUD_INT_MASK_CON0_SET_SFT 0 186*4882a593Smuzhiyun #define RG_AUD_INT_MASK_CON0_SET_MASK 0xff 187*4882a593Smuzhiyun #define RG_AUD_INT_MASK_CON0_SET_MASK_SFT (0xff << 0) 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_MASK_CON0_CLR */ 190*4882a593Smuzhiyun #define RG_AUD_INT_MASK_CON0_CLR_SFT 0 191*4882a593Smuzhiyun #define RG_AUD_INT_MASK_CON0_CLR_MASK 0xff 192*4882a593Smuzhiyun #define RG_AUD_INT_MASK_CON0_CLR_MASK_SFT (0xff << 0) 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_STATUS0 */ 195*4882a593Smuzhiyun #define RG_INT_STATUS_AUDIO_SFT 0 196*4882a593Smuzhiyun #define RG_INT_STATUS_AUDIO_MASK 0x1 197*4882a593Smuzhiyun #define RG_INT_STATUS_AUDIO_MASK_SFT (0x1 << 0) 198*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_SFT 5 199*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_MASK 0x1 200*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_MASK_SFT (0x1 << 5) 201*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_EINT0_SFT 6 202*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_EINT0_MASK 0x1 203*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_EINT0_MASK_SFT (0x1 << 6) 204*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_EINT1_SFT 7 205*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_EINT1_MASK 0x1 206*4882a593Smuzhiyun #define RG_INT_STATUS_ACCDET_EINT1_MASK_SFT (0x1 << 7) 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_RAW_STATUS0 */ 209*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_AUDIO_SFT 0 210*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_AUDIO_MASK 0x1 211*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_AUDIO_MASK_SFT (0x1 << 0) 212*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_SFT 5 213*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_MASK 0x1 214*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_MASK_SFT (0x1 << 5) 215*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_EINT0_SFT 6 216*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_EINT0_MASK 0x1 217*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_EINT0_MASK_SFT (0x1 << 6) 218*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_EINT1_SFT 7 219*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_EINT1_MASK 0x1 220*4882a593Smuzhiyun #define RG_INT_RAW_STATUS_ACCDET_EINT1_MASK_SFT (0x1 << 7) 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun /* MT6358_AUD_TOP_INT_MISC_CON0 */ 223*4882a593Smuzhiyun #define RG_AUD_TOP_INT_POLARITY_SFT 0 224*4882a593Smuzhiyun #define RG_AUD_TOP_INT_POLARITY_MASK 0x1 225*4882a593Smuzhiyun #define RG_AUD_TOP_INT_POLARITY_MASK_SFT (0x1 << 0) 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun /* MT6358_AUDNCP_CLKDIV_CON0 */ 228*4882a593Smuzhiyun #define RG_DIVCKS_CHG_SFT 0 229*4882a593Smuzhiyun #define RG_DIVCKS_CHG_MASK 0x1 230*4882a593Smuzhiyun #define RG_DIVCKS_CHG_MASK_SFT (0x1 << 0) 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun /* MT6358_AUDNCP_CLKDIV_CON1 */ 233*4882a593Smuzhiyun #define RG_DIVCKS_ON_SFT 0 234*4882a593Smuzhiyun #define RG_DIVCKS_ON_MASK 0x1 235*4882a593Smuzhiyun #define RG_DIVCKS_ON_MASK_SFT (0x1 << 0) 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun /* MT6358_AUDNCP_CLKDIV_CON2 */ 238*4882a593Smuzhiyun #define RG_DIVCKS_PRG_SFT 0 239*4882a593Smuzhiyun #define RG_DIVCKS_PRG_MASK 0x1ff 240*4882a593Smuzhiyun #define RG_DIVCKS_PRG_MASK_SFT (0x1ff << 0) 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun /* MT6358_AUDNCP_CLKDIV_CON3 */ 243*4882a593Smuzhiyun #define RG_DIVCKS_PWD_NCP_SFT 0 244*4882a593Smuzhiyun #define RG_DIVCKS_PWD_NCP_MASK 0x1 245*4882a593Smuzhiyun #define RG_DIVCKS_PWD_NCP_MASK_SFT (0x1 << 0) 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun /* MT6358_AUDNCP_CLKDIV_CON4 */ 248*4882a593Smuzhiyun #define RG_DIVCKS_PWD_NCP_ST_SEL_SFT 0 249*4882a593Smuzhiyun #define RG_DIVCKS_PWD_NCP_ST_SEL_MASK 0x3 250*4882a593Smuzhiyun #define RG_DIVCKS_PWD_NCP_ST_SEL_MASK_SFT (0x3 << 0) 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun /* MT6358_AUD_TOP_MON_CON0 */ 253*4882a593Smuzhiyun #define RG_AUD_TOP_MON_SEL_SFT 0 254*4882a593Smuzhiyun #define RG_AUD_TOP_MON_SEL_MASK 0x7 255*4882a593Smuzhiyun #define RG_AUD_TOP_MON_SEL_MASK_SFT (0x7 << 0) 256*4882a593Smuzhiyun #define RG_AUD_CLK_INT_MON_FLAG_SEL_SFT 3 257*4882a593Smuzhiyun #define RG_AUD_CLK_INT_MON_FLAG_SEL_MASK 0xff 258*4882a593Smuzhiyun #define RG_AUD_CLK_INT_MON_FLAG_SEL_MASK_SFT (0xff << 3) 259*4882a593Smuzhiyun #define RG_AUD_CLK_INT_MON_FLAG_EN_SFT 11 260*4882a593Smuzhiyun #define RG_AUD_CLK_INT_MON_FLAG_EN_MASK 0x1 261*4882a593Smuzhiyun #define RG_AUD_CLK_INT_MON_FLAG_EN_MASK_SFT (0x1 << 11) 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun /* MT6358_AUDIO_DIG_DSN_ID */ 264*4882a593Smuzhiyun #define AUDIO_DIG_ANA_ID_SFT 0 265*4882a593Smuzhiyun #define AUDIO_DIG_ANA_ID_MASK 0xff 266*4882a593Smuzhiyun #define AUDIO_DIG_ANA_ID_MASK_SFT (0xff << 0) 267*4882a593Smuzhiyun #define AUDIO_DIG_DIG_ID_SFT 8 268*4882a593Smuzhiyun #define AUDIO_DIG_DIG_ID_MASK 0xff 269*4882a593Smuzhiyun #define AUDIO_DIG_DIG_ID_MASK_SFT (0xff << 8) 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun /* MT6358_AUDIO_DIG_DSN_REV0 */ 272*4882a593Smuzhiyun #define AUDIO_DIG_ANA_MINOR_REV_SFT 0 273*4882a593Smuzhiyun #define AUDIO_DIG_ANA_MINOR_REV_MASK 0xf 274*4882a593Smuzhiyun #define AUDIO_DIG_ANA_MINOR_REV_MASK_SFT (0xf << 0) 275*4882a593Smuzhiyun #define AUDIO_DIG_ANA_MAJOR_REV_SFT 4 276*4882a593Smuzhiyun #define AUDIO_DIG_ANA_MAJOR_REV_MASK 0xf 277*4882a593Smuzhiyun #define AUDIO_DIG_ANA_MAJOR_REV_MASK_SFT (0xf << 4) 278*4882a593Smuzhiyun #define AUDIO_DIG_DIG_MINOR_REV_SFT 8 279*4882a593Smuzhiyun #define AUDIO_DIG_DIG_MINOR_REV_MASK 0xf 280*4882a593Smuzhiyun #define AUDIO_DIG_DIG_MINOR_REV_MASK_SFT (0xf << 8) 281*4882a593Smuzhiyun #define AUDIO_DIG_DIG_MAJOR_REV_SFT 12 282*4882a593Smuzhiyun #define AUDIO_DIG_DIG_MAJOR_REV_MASK 0xf 283*4882a593Smuzhiyun #define AUDIO_DIG_DIG_MAJOR_REV_MASK_SFT (0xf << 12) 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun /* MT6358_AUDIO_DIG_DSN_DBI */ 286*4882a593Smuzhiyun #define AUDIO_DIG_DSN_CBS_SFT 0 287*4882a593Smuzhiyun #define AUDIO_DIG_DSN_CBS_MASK 0x3 288*4882a593Smuzhiyun #define AUDIO_DIG_DSN_CBS_MASK_SFT (0x3 << 0) 289*4882a593Smuzhiyun #define AUDIO_DIG_DSN_BIX_SFT 2 290*4882a593Smuzhiyun #define AUDIO_DIG_DSN_BIX_MASK 0x3 291*4882a593Smuzhiyun #define AUDIO_DIG_DSN_BIX_MASK_SFT (0x3 << 2) 292*4882a593Smuzhiyun #define AUDIO_DIG_ESP_SFT 8 293*4882a593Smuzhiyun #define AUDIO_DIG_ESP_MASK 0xff 294*4882a593Smuzhiyun #define AUDIO_DIG_ESP_MASK_SFT (0xff << 8) 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun /* MT6358_AUDIO_DIG_DSN_DXI */ 297*4882a593Smuzhiyun #define AUDIO_DIG_DSN_FPI_SFT 0 298*4882a593Smuzhiyun #define AUDIO_DIG_DSN_FPI_MASK 0xff 299*4882a593Smuzhiyun #define AUDIO_DIG_DSN_FPI_MASK_SFT (0xff << 0) 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun /* MT6358_AFE_UL_DL_CON0 */ 302*4882a593Smuzhiyun #define AFE_UL_LR_SWAP_SFT 15 303*4882a593Smuzhiyun #define AFE_UL_LR_SWAP_MASK 0x1 304*4882a593Smuzhiyun #define AFE_UL_LR_SWAP_MASK_SFT (0x1 << 15) 305*4882a593Smuzhiyun #define AFE_DL_LR_SWAP_SFT 14 306*4882a593Smuzhiyun #define AFE_DL_LR_SWAP_MASK 0x1 307*4882a593Smuzhiyun #define AFE_DL_LR_SWAP_MASK_SFT (0x1 << 14) 308*4882a593Smuzhiyun #define AFE_ON_SFT 0 309*4882a593Smuzhiyun #define AFE_ON_MASK 0x1 310*4882a593Smuzhiyun #define AFE_ON_MASK_SFT (0x1 << 0) 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun /* MT6358_AFE_DL_SRC2_CON0_L */ 313*4882a593Smuzhiyun #define DL_2_SRC_ON_TMP_CTL_PRE_SFT 0 314*4882a593Smuzhiyun #define DL_2_SRC_ON_TMP_CTL_PRE_MASK 0x1 315*4882a593Smuzhiyun #define DL_2_SRC_ON_TMP_CTL_PRE_MASK_SFT (0x1 << 0) 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun /* MT6358_AFE_UL_SRC_CON0_H */ 318*4882a593Smuzhiyun #define C_DIGMIC_PHASE_SEL_CH1_CTL_SFT 11 319*4882a593Smuzhiyun #define C_DIGMIC_PHASE_SEL_CH1_CTL_MASK 0x7 320*4882a593Smuzhiyun #define C_DIGMIC_PHASE_SEL_CH1_CTL_MASK_SFT (0x7 << 11) 321*4882a593Smuzhiyun #define C_DIGMIC_PHASE_SEL_CH2_CTL_SFT 8 322*4882a593Smuzhiyun #define C_DIGMIC_PHASE_SEL_CH2_CTL_MASK 0x7 323*4882a593Smuzhiyun #define C_DIGMIC_PHASE_SEL_CH2_CTL_MASK_SFT (0x7 << 8) 324*4882a593Smuzhiyun #define C_TWO_DIGITAL_MIC_CTL_SFT 7 325*4882a593Smuzhiyun #define C_TWO_DIGITAL_MIC_CTL_MASK 0x1 326*4882a593Smuzhiyun #define C_TWO_DIGITAL_MIC_CTL_MASK_SFT (0x1 << 7) 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun /* MT6358_AFE_UL_SRC_CON0_L */ 329*4882a593Smuzhiyun #define DMIC_LOW_POWER_MODE_CTL_SFT 14 330*4882a593Smuzhiyun #define DMIC_LOW_POWER_MODE_CTL_MASK 0x3 331*4882a593Smuzhiyun #define DMIC_LOW_POWER_MODE_CTL_MASK_SFT (0x3 << 14) 332*4882a593Smuzhiyun #define DIGMIC_3P25M_1P625M_SEL_CTL_SFT 5 333*4882a593Smuzhiyun #define DIGMIC_3P25M_1P625M_SEL_CTL_MASK 0x1 334*4882a593Smuzhiyun #define DIGMIC_3P25M_1P625M_SEL_CTL_MASK_SFT (0x1 << 5) 335*4882a593Smuzhiyun #define UL_LOOP_BACK_MODE_CTL_SFT 2 336*4882a593Smuzhiyun #define UL_LOOP_BACK_MODE_CTL_MASK 0x1 337*4882a593Smuzhiyun #define UL_LOOP_BACK_MODE_CTL_MASK_SFT (0x1 << 2) 338*4882a593Smuzhiyun #define UL_SDM_3_LEVEL_CTL_SFT 1 339*4882a593Smuzhiyun #define UL_SDM_3_LEVEL_CTL_MASK 0x1 340*4882a593Smuzhiyun #define UL_SDM_3_LEVEL_CTL_MASK_SFT (0x1 << 1) 341*4882a593Smuzhiyun #define UL_SRC_ON_TMP_CTL_SFT 0 342*4882a593Smuzhiyun #define UL_SRC_ON_TMP_CTL_MASK 0x1 343*4882a593Smuzhiyun #define UL_SRC_ON_TMP_CTL_MASK_SFT (0x1 << 0) 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun /* MT6358_AFE_TOP_CON0 */ 346*4882a593Smuzhiyun #define MTKAIF_SINE_ON_SFT 2 347*4882a593Smuzhiyun #define MTKAIF_SINE_ON_MASK 0x1 348*4882a593Smuzhiyun #define MTKAIF_SINE_ON_MASK_SFT (0x1 << 2) 349*4882a593Smuzhiyun #define UL_SINE_ON_SFT 1 350*4882a593Smuzhiyun #define UL_SINE_ON_MASK 0x1 351*4882a593Smuzhiyun #define UL_SINE_ON_MASK_SFT (0x1 << 1) 352*4882a593Smuzhiyun #define DL_SINE_ON_SFT 0 353*4882a593Smuzhiyun #define DL_SINE_ON_MASK 0x1 354*4882a593Smuzhiyun #define DL_SINE_ON_MASK_SFT (0x1 << 0) 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun /* MT6358_AUDIO_TOP_CON0 */ 357*4882a593Smuzhiyun #define PDN_AFE_CTL_SFT 7 358*4882a593Smuzhiyun #define PDN_AFE_CTL_MASK 0x1 359*4882a593Smuzhiyun #define PDN_AFE_CTL_MASK_SFT (0x1 << 7) 360*4882a593Smuzhiyun #define PDN_DAC_CTL_SFT 6 361*4882a593Smuzhiyun #define PDN_DAC_CTL_MASK 0x1 362*4882a593Smuzhiyun #define PDN_DAC_CTL_MASK_SFT (0x1 << 6) 363*4882a593Smuzhiyun #define PDN_ADC_CTL_SFT 5 364*4882a593Smuzhiyun #define PDN_ADC_CTL_MASK 0x1 365*4882a593Smuzhiyun #define PDN_ADC_CTL_MASK_SFT (0x1 << 5) 366*4882a593Smuzhiyun #define PDN_I2S_DL_CTL_SFT 3 367*4882a593Smuzhiyun #define PDN_I2S_DL_CTL_MASK 0x1 368*4882a593Smuzhiyun #define PDN_I2S_DL_CTL_MASK_SFT (0x1 << 3) 369*4882a593Smuzhiyun #define PWR_CLK_DIS_CTL_SFT 2 370*4882a593Smuzhiyun #define PWR_CLK_DIS_CTL_MASK 0x1 371*4882a593Smuzhiyun #define PWR_CLK_DIS_CTL_MASK_SFT (0x1 << 2) 372*4882a593Smuzhiyun #define PDN_AFE_TESTMODEL_CTL_SFT 1 373*4882a593Smuzhiyun #define PDN_AFE_TESTMODEL_CTL_MASK 0x1 374*4882a593Smuzhiyun #define PDN_AFE_TESTMODEL_CTL_MASK_SFT (0x1 << 1) 375*4882a593Smuzhiyun #define PDN_RESERVED_SFT 0 376*4882a593Smuzhiyun #define PDN_RESERVED_MASK 0x1 377*4882a593Smuzhiyun #define PDN_RESERVED_MASK_SFT (0x1 << 0) 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun /* MT6358_AFE_MON_DEBUG0 */ 380*4882a593Smuzhiyun #define AUDIO_SYS_TOP_MON_SWAP_SFT 14 381*4882a593Smuzhiyun #define AUDIO_SYS_TOP_MON_SWAP_MASK 0x3 382*4882a593Smuzhiyun #define AUDIO_SYS_TOP_MON_SWAP_MASK_SFT (0x3 << 14) 383*4882a593Smuzhiyun #define AUDIO_SYS_TOP_MON_SEL_SFT 8 384*4882a593Smuzhiyun #define AUDIO_SYS_TOP_MON_SEL_MASK 0x1f 385*4882a593Smuzhiyun #define AUDIO_SYS_TOP_MON_SEL_MASK_SFT (0x1f << 8) 386*4882a593Smuzhiyun #define AFE_MON_SEL_SFT 0 387*4882a593Smuzhiyun #define AFE_MON_SEL_MASK 0xff 388*4882a593Smuzhiyun #define AFE_MON_SEL_MASK_SFT (0xff << 0) 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON0 */ 391*4882a593Smuzhiyun #define CCI_AUD_ANACK_SEL_SFT 15 392*4882a593Smuzhiyun #define CCI_AUD_ANACK_SEL_MASK 0x1 393*4882a593Smuzhiyun #define CCI_AUD_ANACK_SEL_MASK_SFT (0x1 << 15) 394*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_WPTR_SFT 12 395*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_WPTR_MASK 0x7 396*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_WPTR_MASK_SFT (0x7 << 12) 397*4882a593Smuzhiyun #define CCI_SCRAMBLER_CG_EN_SFT 11 398*4882a593Smuzhiyun #define CCI_SCRAMBLER_CG_EN_MASK 0x1 399*4882a593Smuzhiyun #define CCI_SCRAMBLER_CG_EN_MASK_SFT (0x1 << 11) 400*4882a593Smuzhiyun #define CCI_LCH_INV_SFT 10 401*4882a593Smuzhiyun #define CCI_LCH_INV_MASK 0x1 402*4882a593Smuzhiyun #define CCI_LCH_INV_MASK_SFT (0x1 << 10) 403*4882a593Smuzhiyun #define CCI_RAND_EN_SFT 9 404*4882a593Smuzhiyun #define CCI_RAND_EN_MASK 0x1 405*4882a593Smuzhiyun #define CCI_RAND_EN_MASK_SFT (0x1 << 9) 406*4882a593Smuzhiyun #define CCI_SPLT_SCRMB_CLK_ON_SFT 8 407*4882a593Smuzhiyun #define CCI_SPLT_SCRMB_CLK_ON_MASK 0x1 408*4882a593Smuzhiyun #define CCI_SPLT_SCRMB_CLK_ON_MASK_SFT (0x1 << 8) 409*4882a593Smuzhiyun #define CCI_SPLT_SCRMB_ON_SFT 7 410*4882a593Smuzhiyun #define CCI_SPLT_SCRMB_ON_MASK 0x1 411*4882a593Smuzhiyun #define CCI_SPLT_SCRMB_ON_MASK_SFT (0x1 << 7) 412*4882a593Smuzhiyun #define CCI_AUD_IDAC_TEST_EN_SFT 6 413*4882a593Smuzhiyun #define CCI_AUD_IDAC_TEST_EN_MASK 0x1 414*4882a593Smuzhiyun #define CCI_AUD_IDAC_TEST_EN_MASK_SFT (0x1 << 6) 415*4882a593Smuzhiyun #define CCI_ZERO_PAD_DISABLE_SFT 5 416*4882a593Smuzhiyun #define CCI_ZERO_PAD_DISABLE_MASK 0x1 417*4882a593Smuzhiyun #define CCI_ZERO_PAD_DISABLE_MASK_SFT (0x1 << 5) 418*4882a593Smuzhiyun #define CCI_AUD_SPLIT_TEST_EN_SFT 4 419*4882a593Smuzhiyun #define CCI_AUD_SPLIT_TEST_EN_MASK 0x1 420*4882a593Smuzhiyun #define CCI_AUD_SPLIT_TEST_EN_MASK_SFT (0x1 << 4) 421*4882a593Smuzhiyun #define CCI_AUD_SDM_MUTEL_SFT 3 422*4882a593Smuzhiyun #define CCI_AUD_SDM_MUTEL_MASK 0x1 423*4882a593Smuzhiyun #define CCI_AUD_SDM_MUTEL_MASK_SFT (0x1 << 3) 424*4882a593Smuzhiyun #define CCI_AUD_SDM_MUTER_SFT 2 425*4882a593Smuzhiyun #define CCI_AUD_SDM_MUTER_MASK 0x1 426*4882a593Smuzhiyun #define CCI_AUD_SDM_MUTER_MASK_SFT (0x1 << 2) 427*4882a593Smuzhiyun #define CCI_AUD_SDM_7BIT_SEL_SFT 1 428*4882a593Smuzhiyun #define CCI_AUD_SDM_7BIT_SEL_MASK 0x1 429*4882a593Smuzhiyun #define CCI_AUD_SDM_7BIT_SEL_MASK_SFT (0x1 << 1) 430*4882a593Smuzhiyun #define CCI_SCRAMBLER_EN_SFT 0 431*4882a593Smuzhiyun #define CCI_SCRAMBLER_EN_MASK 0x1 432*4882a593Smuzhiyun #define CCI_SCRAMBLER_EN_MASK_SFT (0x1 << 0) 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON1 */ 435*4882a593Smuzhiyun #define AUD_SDM_TEST_L_SFT 8 436*4882a593Smuzhiyun #define AUD_SDM_TEST_L_MASK 0xff 437*4882a593Smuzhiyun #define AUD_SDM_TEST_L_MASK_SFT (0xff << 8) 438*4882a593Smuzhiyun #define AUD_SDM_TEST_R_SFT 0 439*4882a593Smuzhiyun #define AUD_SDM_TEST_R_MASK 0xff 440*4882a593Smuzhiyun #define AUD_SDM_TEST_R_MASK_SFT (0xff << 0) 441*4882a593Smuzhiyun 442*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON2 */ 443*4882a593Smuzhiyun #define CCI_AUD_DAC_ANA_MUTE_SFT 7 444*4882a593Smuzhiyun #define CCI_AUD_DAC_ANA_MUTE_MASK 0x1 445*4882a593Smuzhiyun #define CCI_AUD_DAC_ANA_MUTE_MASK_SFT (0x1 << 7) 446*4882a593Smuzhiyun #define CCI_AUD_DAC_ANA_RSTB_SEL_SFT 6 447*4882a593Smuzhiyun #define CCI_AUD_DAC_ANA_RSTB_SEL_MASK 0x1 448*4882a593Smuzhiyun #define CCI_AUD_DAC_ANA_RSTB_SEL_MASK_SFT (0x1 << 6) 449*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_CLKIN_INV_SFT 4 450*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_CLKIN_INV_MASK 0x1 451*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_CLKIN_INV_MASK_SFT (0x1 << 4) 452*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_ENABLE_SFT 3 453*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_ENABLE_MASK 0x1 454*4882a593Smuzhiyun #define CCI_AUDIO_FIFO_ENABLE_MASK_SFT (0x1 << 3) 455*4882a593Smuzhiyun #define CCI_ACD_MODE_SFT 2 456*4882a593Smuzhiyun #define CCI_ACD_MODE_MASK 0x1 457*4882a593Smuzhiyun #define CCI_ACD_MODE_MASK_SFT (0x1 << 2) 458*4882a593Smuzhiyun #define CCI_AFIFO_CLK_PWDB_SFT 1 459*4882a593Smuzhiyun #define CCI_AFIFO_CLK_PWDB_MASK 0x1 460*4882a593Smuzhiyun #define CCI_AFIFO_CLK_PWDB_MASK_SFT (0x1 << 1) 461*4882a593Smuzhiyun #define CCI_ACD_FUNC_RSTB_SFT 0 462*4882a593Smuzhiyun #define CCI_ACD_FUNC_RSTB_MASK 0x1 463*4882a593Smuzhiyun #define CCI_ACD_FUNC_RSTB_MASK_SFT (0x1 << 0) 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON3 */ 466*4882a593Smuzhiyun #define SDM_ANA13M_TESTCK_SEL_SFT 15 467*4882a593Smuzhiyun #define SDM_ANA13M_TESTCK_SEL_MASK 0x1 468*4882a593Smuzhiyun #define SDM_ANA13M_TESTCK_SEL_MASK_SFT (0x1 << 15) 469*4882a593Smuzhiyun #define SDM_ANA13M_TESTCK_SRC_SEL_SFT 12 470*4882a593Smuzhiyun #define SDM_ANA13M_TESTCK_SRC_SEL_MASK 0x7 471*4882a593Smuzhiyun #define SDM_ANA13M_TESTCK_SRC_SEL_MASK_SFT (0x7 << 12) 472*4882a593Smuzhiyun #define SDM_TESTCK_SRC_SEL_SFT 8 473*4882a593Smuzhiyun #define SDM_TESTCK_SRC_SEL_MASK 0x7 474*4882a593Smuzhiyun #define SDM_TESTCK_SRC_SEL_MASK_SFT (0x7 << 8) 475*4882a593Smuzhiyun #define DIGMIC_TESTCK_SRC_SEL_SFT 4 476*4882a593Smuzhiyun #define DIGMIC_TESTCK_SRC_SEL_MASK 0x7 477*4882a593Smuzhiyun #define DIGMIC_TESTCK_SRC_SEL_MASK_SFT (0x7 << 4) 478*4882a593Smuzhiyun #define DIGMIC_TESTCK_SEL_SFT 0 479*4882a593Smuzhiyun #define DIGMIC_TESTCK_SEL_MASK 0x1 480*4882a593Smuzhiyun #define DIGMIC_TESTCK_SEL_MASK_SFT (0x1 << 0) 481*4882a593Smuzhiyun 482*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON4 */ 483*4882a593Smuzhiyun #define UL_FIFO_WCLK_INV_SFT 8 484*4882a593Smuzhiyun #define UL_FIFO_WCLK_INV_MASK 0x1 485*4882a593Smuzhiyun #define UL_FIFO_WCLK_INV_MASK_SFT (0x1 << 8) 486*4882a593Smuzhiyun #define UL_FIFO_DIGMIC_WDATA_TESTSRC_SEL_SFT 6 487*4882a593Smuzhiyun #define UL_FIFO_DIGMIC_WDATA_TESTSRC_SEL_MASK 0x1 488*4882a593Smuzhiyun #define UL_FIFO_DIGMIC_WDATA_TESTSRC_SEL_MASK_SFT (0x1 << 6) 489*4882a593Smuzhiyun #define UL_FIFO_WDATA_TESTEN_SFT 5 490*4882a593Smuzhiyun #define UL_FIFO_WDATA_TESTEN_MASK 0x1 491*4882a593Smuzhiyun #define UL_FIFO_WDATA_TESTEN_MASK_SFT (0x1 << 5) 492*4882a593Smuzhiyun #define UL_FIFO_WDATA_TESTSRC_SEL_SFT 4 493*4882a593Smuzhiyun #define UL_FIFO_WDATA_TESTSRC_SEL_MASK 0x1 494*4882a593Smuzhiyun #define UL_FIFO_WDATA_TESTSRC_SEL_MASK_SFT (0x1 << 4) 495*4882a593Smuzhiyun #define UL_FIFO_WCLK_6P5M_TESTCK_SEL_SFT 3 496*4882a593Smuzhiyun #define UL_FIFO_WCLK_6P5M_TESTCK_SEL_MASK 0x1 497*4882a593Smuzhiyun #define UL_FIFO_WCLK_6P5M_TESTCK_SEL_MASK_SFT (0x1 << 3) 498*4882a593Smuzhiyun #define UL_FIFO_WCLK_6P5M_TESTCK_SRC_SEL_SFT 0 499*4882a593Smuzhiyun #define UL_FIFO_WCLK_6P5M_TESTCK_SRC_SEL_MASK 0x7 500*4882a593Smuzhiyun #define UL_FIFO_WCLK_6P5M_TESTCK_SRC_SEL_MASK_SFT (0x7 << 0) 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON5 */ 503*4882a593Smuzhiyun #define R_AUD_DAC_POS_LARGE_MONO_SFT 8 504*4882a593Smuzhiyun #define R_AUD_DAC_POS_LARGE_MONO_MASK 0xff 505*4882a593Smuzhiyun #define R_AUD_DAC_POS_LARGE_MONO_MASK_SFT (0xff << 8) 506*4882a593Smuzhiyun #define R_AUD_DAC_NEG_LARGE_MONO_SFT 0 507*4882a593Smuzhiyun #define R_AUD_DAC_NEG_LARGE_MONO_MASK 0xff 508*4882a593Smuzhiyun #define R_AUD_DAC_NEG_LARGE_MONO_MASK_SFT (0xff << 0) 509*4882a593Smuzhiyun 510*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_CON6 */ 511*4882a593Smuzhiyun #define R_AUD_DAC_POS_SMALL_MONO_SFT 12 512*4882a593Smuzhiyun #define R_AUD_DAC_POS_SMALL_MONO_MASK 0xf 513*4882a593Smuzhiyun #define R_AUD_DAC_POS_SMALL_MONO_MASK_SFT (0xf << 12) 514*4882a593Smuzhiyun #define R_AUD_DAC_NEG_SMALL_MONO_SFT 8 515*4882a593Smuzhiyun #define R_AUD_DAC_NEG_SMALL_MONO_MASK 0xf 516*4882a593Smuzhiyun #define R_AUD_DAC_NEG_SMALL_MONO_MASK_SFT (0xf << 8) 517*4882a593Smuzhiyun #define R_AUD_DAC_POS_TINY_MONO_SFT 6 518*4882a593Smuzhiyun #define R_AUD_DAC_POS_TINY_MONO_MASK 0x3 519*4882a593Smuzhiyun #define R_AUD_DAC_POS_TINY_MONO_MASK_SFT (0x3 << 6) 520*4882a593Smuzhiyun #define R_AUD_DAC_NEG_TINY_MONO_SFT 4 521*4882a593Smuzhiyun #define R_AUD_DAC_NEG_TINY_MONO_MASK 0x3 522*4882a593Smuzhiyun #define R_AUD_DAC_NEG_TINY_MONO_MASK_SFT (0x3 << 4) 523*4882a593Smuzhiyun #define R_AUD_DAC_MONO_SEL_SFT 3 524*4882a593Smuzhiyun #define R_AUD_DAC_MONO_SEL_MASK 0x1 525*4882a593Smuzhiyun #define R_AUD_DAC_MONO_SEL_MASK_SFT (0x1 << 3) 526*4882a593Smuzhiyun #define R_AUD_DAC_SW_RSTB_SFT 0 527*4882a593Smuzhiyun #define R_AUD_DAC_SW_RSTB_MASK 0x1 528*4882a593Smuzhiyun #define R_AUD_DAC_SW_RSTB_MASK_SFT (0x1 << 0) 529*4882a593Smuzhiyun 530*4882a593Smuzhiyun /* MT6358_AFUNC_AUD_MON0 */ 531*4882a593Smuzhiyun #define AUD_SCR_OUT_L_SFT 8 532*4882a593Smuzhiyun #define AUD_SCR_OUT_L_MASK 0xff 533*4882a593Smuzhiyun #define AUD_SCR_OUT_L_MASK_SFT (0xff << 8) 534*4882a593Smuzhiyun #define AUD_SCR_OUT_R_SFT 0 535*4882a593Smuzhiyun #define AUD_SCR_OUT_R_MASK 0xff 536*4882a593Smuzhiyun #define AUD_SCR_OUT_R_MASK_SFT (0xff << 0) 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun /* MT6358_AUDRC_TUNE_MON0 */ 539*4882a593Smuzhiyun #define ASYNC_TEST_OUT_BCK_SFT 15 540*4882a593Smuzhiyun #define ASYNC_TEST_OUT_BCK_MASK 0x1 541*4882a593Smuzhiyun #define ASYNC_TEST_OUT_BCK_MASK_SFT (0x1 << 15) 542*4882a593Smuzhiyun #define RGS_AUDRCTUNE1READ_SFT 8 543*4882a593Smuzhiyun #define RGS_AUDRCTUNE1READ_MASK 0x1f 544*4882a593Smuzhiyun #define RGS_AUDRCTUNE1READ_MASK_SFT (0x1f << 8) 545*4882a593Smuzhiyun #define RGS_AUDRCTUNE0READ_SFT 0 546*4882a593Smuzhiyun #define RGS_AUDRCTUNE0READ_MASK 0x1f 547*4882a593Smuzhiyun #define RGS_AUDRCTUNE0READ_MASK_SFT (0x1f << 0) 548*4882a593Smuzhiyun 549*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_FIFO_CFG0 */ 550*4882a593Smuzhiyun #define AFE_RESERVED_SFT 1 551*4882a593Smuzhiyun #define AFE_RESERVED_MASK 0x7fff 552*4882a593Smuzhiyun #define AFE_RESERVED_MASK_SFT (0x7fff << 1) 553*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_INTEN_SFT 0 554*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_INTEN_MASK 0x1 555*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_INTEN_MASK_SFT (0x1 << 0) 556*4882a593Smuzhiyun 557*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_FIFO_LOG_MON1 */ 558*4882a593Smuzhiyun #define MTKAIF_RXIF_WR_FULL_STATUS_SFT 1 559*4882a593Smuzhiyun #define MTKAIF_RXIF_WR_FULL_STATUS_MASK 0x1 560*4882a593Smuzhiyun #define MTKAIF_RXIF_WR_FULL_STATUS_MASK_SFT (0x1 << 1) 561*4882a593Smuzhiyun #define MTKAIF_RXIF_RD_EMPTY_STATUS_SFT 0 562*4882a593Smuzhiyun #define MTKAIF_RXIF_RD_EMPTY_STATUS_MASK 0x1 563*4882a593Smuzhiyun #define MTKAIF_RXIF_RD_EMPTY_STATUS_MASK_SFT (0x1 << 0) 564*4882a593Smuzhiyun 565*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_MON0 */ 566*4882a593Smuzhiyun #define MTKAIFTX_V3_SYNC_OUT_SFT 14 567*4882a593Smuzhiyun #define MTKAIFTX_V3_SYNC_OUT_MASK 0x1 568*4882a593Smuzhiyun #define MTKAIFTX_V3_SYNC_OUT_MASK_SFT (0x1 << 14) 569*4882a593Smuzhiyun #define MTKAIFTX_V3_SDATA_OUT2_SFT 13 570*4882a593Smuzhiyun #define MTKAIFTX_V3_SDATA_OUT2_MASK 0x1 571*4882a593Smuzhiyun #define MTKAIFTX_V3_SDATA_OUT2_MASK_SFT (0x1 << 13) 572*4882a593Smuzhiyun #define MTKAIFTX_V3_SDATA_OUT1_SFT 12 573*4882a593Smuzhiyun #define MTKAIFTX_V3_SDATA_OUT1_MASK 0x1 574*4882a593Smuzhiyun #define MTKAIFTX_V3_SDATA_OUT1_MASK_SFT (0x1 << 12) 575*4882a593Smuzhiyun #define MTKAIF_RXIF_FIFO_STATUS_SFT 0 576*4882a593Smuzhiyun #define MTKAIF_RXIF_FIFO_STATUS_MASK 0xfff 577*4882a593Smuzhiyun #define MTKAIF_RXIF_FIFO_STATUS_MASK_SFT (0xfff << 0) 578*4882a593Smuzhiyun 579*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_MON1 */ 580*4882a593Smuzhiyun #define MTKAIFRX_V3_SYNC_IN_SFT 14 581*4882a593Smuzhiyun #define MTKAIFRX_V3_SYNC_IN_MASK 0x1 582*4882a593Smuzhiyun #define MTKAIFRX_V3_SYNC_IN_MASK_SFT (0x1 << 14) 583*4882a593Smuzhiyun #define MTKAIFRX_V3_SDATA_IN2_SFT 13 584*4882a593Smuzhiyun #define MTKAIFRX_V3_SDATA_IN2_MASK 0x1 585*4882a593Smuzhiyun #define MTKAIFRX_V3_SDATA_IN2_MASK_SFT (0x1 << 13) 586*4882a593Smuzhiyun #define MTKAIFRX_V3_SDATA_IN1_SFT 12 587*4882a593Smuzhiyun #define MTKAIFRX_V3_SDATA_IN1_MASK 0x1 588*4882a593Smuzhiyun #define MTKAIFRX_V3_SDATA_IN1_MASK_SFT (0x1 << 12) 589*4882a593Smuzhiyun #define MTKAIF_RXIF_SEARCH_FAIL_FLAG_SFT 11 590*4882a593Smuzhiyun #define MTKAIF_RXIF_SEARCH_FAIL_FLAG_MASK 0x1 591*4882a593Smuzhiyun #define MTKAIF_RXIF_SEARCH_FAIL_FLAG_MASK_SFT (0x1 << 11) 592*4882a593Smuzhiyun #define MTKAIF_RXIF_INVALID_FLAG_SFT 8 593*4882a593Smuzhiyun #define MTKAIF_RXIF_INVALID_FLAG_MASK 0x1 594*4882a593Smuzhiyun #define MTKAIF_RXIF_INVALID_FLAG_MASK_SFT (0x1 << 8) 595*4882a593Smuzhiyun #define MTKAIF_RXIF_INVALID_CYCLE_SFT 0 596*4882a593Smuzhiyun #define MTKAIF_RXIF_INVALID_CYCLE_MASK 0xff 597*4882a593Smuzhiyun #define MTKAIF_RXIF_INVALID_CYCLE_MASK_SFT (0xff << 0) 598*4882a593Smuzhiyun 599*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_MON2 */ 600*4882a593Smuzhiyun #define MTKAIF_TXIF_IN_CH2_SFT 8 601*4882a593Smuzhiyun #define MTKAIF_TXIF_IN_CH2_MASK 0xff 602*4882a593Smuzhiyun #define MTKAIF_TXIF_IN_CH2_MASK_SFT (0xff << 8) 603*4882a593Smuzhiyun #define MTKAIF_TXIF_IN_CH1_SFT 0 604*4882a593Smuzhiyun #define MTKAIF_TXIF_IN_CH1_MASK 0xff 605*4882a593Smuzhiyun #define MTKAIF_TXIF_IN_CH1_MASK_SFT (0xff << 0) 606*4882a593Smuzhiyun 607*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_MON3 */ 608*4882a593Smuzhiyun #define MTKAIF_RXIF_OUT_CH2_SFT 8 609*4882a593Smuzhiyun #define MTKAIF_RXIF_OUT_CH2_MASK 0xff 610*4882a593Smuzhiyun #define MTKAIF_RXIF_OUT_CH2_MASK_SFT (0xff << 8) 611*4882a593Smuzhiyun #define MTKAIF_RXIF_OUT_CH1_SFT 0 612*4882a593Smuzhiyun #define MTKAIF_RXIF_OUT_CH1_MASK 0xff 613*4882a593Smuzhiyun #define MTKAIF_RXIF_OUT_CH1_MASK_SFT (0xff << 0) 614*4882a593Smuzhiyun 615*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_CFG0 */ 616*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_CLKINV_SFT 15 617*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_CLKINV_MASK 0x1 618*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_CLKINV_MASK_SFT (0x1 << 15) 619*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_PROTOCOL2_SFT 8 620*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_PROTOCOL2_MASK 0x1 621*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_PROTOCOL2_MASK_SFT (0x1 << 8) 622*4882a593Smuzhiyun #define RG_MTKAIF_BYPASS_SRC_MODE_SFT 6 623*4882a593Smuzhiyun #define RG_MTKAIF_BYPASS_SRC_MODE_MASK 0x3 624*4882a593Smuzhiyun #define RG_MTKAIF_BYPASS_SRC_MODE_MASK_SFT (0x3 << 6) 625*4882a593Smuzhiyun #define RG_MTKAIF_BYPASS_SRC_TEST_SFT 5 626*4882a593Smuzhiyun #define RG_MTKAIF_BYPASS_SRC_TEST_MASK 0x1 627*4882a593Smuzhiyun #define RG_MTKAIF_BYPASS_SRC_TEST_MASK_SFT (0x1 << 5) 628*4882a593Smuzhiyun #define RG_MTKAIF_TXIF_PROTOCOL2_SFT 4 629*4882a593Smuzhiyun #define RG_MTKAIF_TXIF_PROTOCOL2_MASK 0x1 630*4882a593Smuzhiyun #define RG_MTKAIF_TXIF_PROTOCOL2_MASK_SFT (0x1 << 4) 631*4882a593Smuzhiyun #define RG_MTKAIF_PMIC_TXIF_8TO5_SFT 2 632*4882a593Smuzhiyun #define RG_MTKAIF_PMIC_TXIF_8TO5_MASK 0x1 633*4882a593Smuzhiyun #define RG_MTKAIF_PMIC_TXIF_8TO5_MASK_SFT (0x1 << 2) 634*4882a593Smuzhiyun #define RG_MTKAIF_LOOPBACK_TEST2_SFT 1 635*4882a593Smuzhiyun #define RG_MTKAIF_LOOPBACK_TEST2_MASK 0x1 636*4882a593Smuzhiyun #define RG_MTKAIF_LOOPBACK_TEST2_MASK_SFT (0x1 << 1) 637*4882a593Smuzhiyun #define RG_MTKAIF_LOOPBACK_TEST1_SFT 0 638*4882a593Smuzhiyun #define RG_MTKAIF_LOOPBACK_TEST1_MASK 0x1 639*4882a593Smuzhiyun #define RG_MTKAIF_LOOPBACK_TEST1_MASK_SFT (0x1 << 0) 640*4882a593Smuzhiyun 641*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_RX_CFG0 */ 642*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_VOICE_MODE_SFT 12 643*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_VOICE_MODE_MASK 0xf 644*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_VOICE_MODE_MASK_SFT (0xf << 12) 645*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DATA_BIT_SFT 8 646*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DATA_BIT_MASK 0x7 647*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DATA_BIT_MASK_SFT (0x7 << 8) 648*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_RSP_SFT 4 649*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_RSP_MASK 0x7 650*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_RSP_MASK_SFT (0x7 << 4) 651*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DETECT_ON_SFT 3 652*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DETECT_ON_MASK 0x1 653*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DETECT_ON_MASK_SFT (0x1 << 3) 654*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DATA_MODE_SFT 0 655*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DATA_MODE_MASK 0x1 656*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DATA_MODE_MASK_SFT (0x1 << 0) 657*4882a593Smuzhiyun 658*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_RX_CFG1 */ 659*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_SEARCH_TABLE_SFT 12 660*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_SEARCH_TABLE_MASK 0xf 661*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_SEARCH_TABLE_MASK_SFT (0xf << 12) 662*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_INVALID_SYNC_CHECK_ROUND_SFT 8 663*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_INVALID_SYNC_CHECK_ROUND_MASK 0xf 664*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_INVALID_SYNC_CHECK_ROUND_MASK_SFT (0xf << 8) 665*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_CHECK_ROUND_SFT 4 666*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_CHECK_ROUND_MASK 0xf 667*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_CHECK_ROUND_MASK_SFT (0xf << 4) 668*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_VOICE_MODE_PROTOCOL2_SFT 0 669*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_VOICE_MODE_PROTOCOL2_MASK 0xf 670*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_VOICE_MODE_PROTOCOL2_MASK_SFT (0xf << 0) 671*4882a593Smuzhiyun 672*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_RX_CFG2 */ 673*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_CLEAR_SYNC_FAIL_SFT 12 674*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_CLEAR_SYNC_FAIL_MASK 0x1 675*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_CLEAR_SYNC_FAIL_MASK_SFT (0x1 << 12) 676*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_CNT_TABLE_SFT 0 677*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_CNT_TABLE_MASK 0xfff 678*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_SYNC_CNT_TABLE_MASK_SFT (0xfff << 0) 679*4882a593Smuzhiyun 680*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_RX_CFG3 */ 681*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_LOOPBACK_USE_NLE_SFT 7 682*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_LOOPBACK_USE_NLE_MASK 0x1 683*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_LOOPBACK_USE_NLE_MASK_SFT (0x1 << 7) 684*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_RSP_PROTOCOL2_SFT 4 685*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_RSP_PROTOCOL2_MASK 0x7 686*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_FIFO_RSP_PROTOCOL2_MASK_SFT (0x7 << 4) 687*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DETECT_ON_PROTOCOL2_SFT 3 688*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DETECT_ON_PROTOCOL2_MASK 0x1 689*4882a593Smuzhiyun #define RG_MTKAIF_RXIF_DETECT_ON_PROTOCOL2_MASK_SFT (0x1 << 3) 690*4882a593Smuzhiyun 691*4882a593Smuzhiyun /* MT6358_AFE_ADDA_MTKAIF_TX_CFG1 */ 692*4882a593Smuzhiyun #define RG_MTKAIF_SYNC_WORD2_SFT 4 693*4882a593Smuzhiyun #define RG_MTKAIF_SYNC_WORD2_MASK 0x7 694*4882a593Smuzhiyun #define RG_MTKAIF_SYNC_WORD2_MASK_SFT (0x7 << 4) 695*4882a593Smuzhiyun #define RG_MTKAIF_SYNC_WORD1_SFT 0 696*4882a593Smuzhiyun #define RG_MTKAIF_SYNC_WORD1_MASK 0x7 697*4882a593Smuzhiyun #define RG_MTKAIF_SYNC_WORD1_MASK_SFT (0x7 << 0) 698*4882a593Smuzhiyun 699*4882a593Smuzhiyun /* MT6358_AFE_SGEN_CFG0 */ 700*4882a593Smuzhiyun #define SGEN_AMP_DIV_CH1_CTL_SFT 12 701*4882a593Smuzhiyun #define SGEN_AMP_DIV_CH1_CTL_MASK 0xf 702*4882a593Smuzhiyun #define SGEN_AMP_DIV_CH1_CTL_MASK_SFT (0xf << 12) 703*4882a593Smuzhiyun #define SGEN_DAC_EN_CTL_SFT 7 704*4882a593Smuzhiyun #define SGEN_DAC_EN_CTL_MASK 0x1 705*4882a593Smuzhiyun #define SGEN_DAC_EN_CTL_MASK_SFT (0x1 << 7) 706*4882a593Smuzhiyun #define SGEN_MUTE_SW_CTL_SFT 6 707*4882a593Smuzhiyun #define SGEN_MUTE_SW_CTL_MASK 0x1 708*4882a593Smuzhiyun #define SGEN_MUTE_SW_CTL_MASK_SFT (0x1 << 6) 709*4882a593Smuzhiyun #define R_AUD_SDM_MUTE_L_SFT 5 710*4882a593Smuzhiyun #define R_AUD_SDM_MUTE_L_MASK 0x1 711*4882a593Smuzhiyun #define R_AUD_SDM_MUTE_L_MASK_SFT (0x1 << 5) 712*4882a593Smuzhiyun #define R_AUD_SDM_MUTE_R_SFT 4 713*4882a593Smuzhiyun #define R_AUD_SDM_MUTE_R_MASK 0x1 714*4882a593Smuzhiyun #define R_AUD_SDM_MUTE_R_MASK_SFT (0x1 << 4) 715*4882a593Smuzhiyun 716*4882a593Smuzhiyun /* MT6358_AFE_SGEN_CFG1 */ 717*4882a593Smuzhiyun #define C_SGEN_RCH_INV_5BIT_SFT 15 718*4882a593Smuzhiyun #define C_SGEN_RCH_INV_5BIT_MASK 0x1 719*4882a593Smuzhiyun #define C_SGEN_RCH_INV_5BIT_MASK_SFT (0x1 << 15) 720*4882a593Smuzhiyun #define C_SGEN_RCH_INV_8BIT_SFT 14 721*4882a593Smuzhiyun #define C_SGEN_RCH_INV_8BIT_MASK 0x1 722*4882a593Smuzhiyun #define C_SGEN_RCH_INV_8BIT_MASK_SFT (0x1 << 14) 723*4882a593Smuzhiyun #define SGEN_FREQ_DIV_CH1_CTL_SFT 0 724*4882a593Smuzhiyun #define SGEN_FREQ_DIV_CH1_CTL_MASK 0x1f 725*4882a593Smuzhiyun #define SGEN_FREQ_DIV_CH1_CTL_MASK_SFT (0x1f << 0) 726*4882a593Smuzhiyun 727*4882a593Smuzhiyun /* MT6358_AFE_ADC_ASYNC_FIFO_CFG */ 728*4882a593Smuzhiyun #define RG_UL_ASYNC_FIFO_SOFT_RST_EN_SFT 5 729*4882a593Smuzhiyun #define RG_UL_ASYNC_FIFO_SOFT_RST_EN_MASK 0x1 730*4882a593Smuzhiyun #define RG_UL_ASYNC_FIFO_SOFT_RST_EN_MASK_SFT (0x1 << 5) 731*4882a593Smuzhiyun #define RG_UL_ASYNC_FIFO_SOFT_RST_SFT 4 732*4882a593Smuzhiyun #define RG_UL_ASYNC_FIFO_SOFT_RST_MASK 0x1 733*4882a593Smuzhiyun #define RG_UL_ASYNC_FIFO_SOFT_RST_MASK_SFT (0x1 << 4) 734*4882a593Smuzhiyun #define RG_AMIC_UL_ADC_CLK_SEL_SFT 1 735*4882a593Smuzhiyun #define RG_AMIC_UL_ADC_CLK_SEL_MASK 0x1 736*4882a593Smuzhiyun #define RG_AMIC_UL_ADC_CLK_SEL_MASK_SFT (0x1 << 1) 737*4882a593Smuzhiyun 738*4882a593Smuzhiyun /* MT6358_AFE_DCCLK_CFG0 */ 739*4882a593Smuzhiyun #define DCCLK_DIV_SFT 5 740*4882a593Smuzhiyun #define DCCLK_DIV_MASK 0x7ff 741*4882a593Smuzhiyun #define DCCLK_DIV_MASK_SFT (0x7ff << 5) 742*4882a593Smuzhiyun #define DCCLK_INV_SFT 4 743*4882a593Smuzhiyun #define DCCLK_INV_MASK 0x1 744*4882a593Smuzhiyun #define DCCLK_INV_MASK_SFT (0x1 << 4) 745*4882a593Smuzhiyun #define DCCLK_PDN_SFT 1 746*4882a593Smuzhiyun #define DCCLK_PDN_MASK 0x1 747*4882a593Smuzhiyun #define DCCLK_PDN_MASK_SFT (0x1 << 1) 748*4882a593Smuzhiyun #define DCCLK_GEN_ON_SFT 0 749*4882a593Smuzhiyun #define DCCLK_GEN_ON_MASK 0x1 750*4882a593Smuzhiyun #define DCCLK_GEN_ON_MASK_SFT (0x1 << 0) 751*4882a593Smuzhiyun 752*4882a593Smuzhiyun /* MT6358_AFE_DCCLK_CFG1 */ 753*4882a593Smuzhiyun #define RESYNC_SRC_SEL_SFT 10 754*4882a593Smuzhiyun #define RESYNC_SRC_SEL_MASK 0x3 755*4882a593Smuzhiyun #define RESYNC_SRC_SEL_MASK_SFT (0x3 << 10) 756*4882a593Smuzhiyun #define RESYNC_SRC_CK_INV_SFT 9 757*4882a593Smuzhiyun #define RESYNC_SRC_CK_INV_MASK 0x1 758*4882a593Smuzhiyun #define RESYNC_SRC_CK_INV_MASK_SFT (0x1 << 9) 759*4882a593Smuzhiyun #define DCCLK_RESYNC_BYPASS_SFT 8 760*4882a593Smuzhiyun #define DCCLK_RESYNC_BYPASS_MASK 0x1 761*4882a593Smuzhiyun #define DCCLK_RESYNC_BYPASS_MASK_SFT (0x1 << 8) 762*4882a593Smuzhiyun #define DCCLK_PHASE_SEL_SFT 4 763*4882a593Smuzhiyun #define DCCLK_PHASE_SEL_MASK 0xf 764*4882a593Smuzhiyun #define DCCLK_PHASE_SEL_MASK_SFT (0xf << 4) 765*4882a593Smuzhiyun 766*4882a593Smuzhiyun /* MT6358_AUDIO_DIG_CFG */ 767*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_DAT_MISO2_LOOPBACK_SFT 15 768*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_DAT_MISO2_LOOPBACK_MASK 0x1 769*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_DAT_MISO2_LOOPBACK_MASK_SFT (0x1 << 15) 770*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_PHASE_MODE2_SFT 8 771*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_PHASE_MODE2_MASK 0x7f 772*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_PHASE_MODE2_MASK_SFT (0x7f << 8) 773*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_DAT_MISO_LOOPBACK_SFT 7 774*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_DAT_MISO_LOOPBACK_MASK 0x1 775*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_DAT_MISO_LOOPBACK_MASK_SFT (0x1 << 7) 776*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_PHASE_MODE_SFT 0 777*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_PHASE_MODE_MASK 0x7f 778*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_PHASE_MODE_MASK_SFT (0x7f << 0) 779*4882a593Smuzhiyun 780*4882a593Smuzhiyun /* MT6358_AFE_AUD_PAD_TOP */ 781*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_TX_FIFO_RSP_SFT 12 782*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_TX_FIFO_RSP_MASK 0x7 783*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_TX_FIFO_RSP_MASK_SFT (0x7 << 12) 784*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_MTKAIF_CLK_PROTOCOL2_SFT 11 785*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_MTKAIF_CLK_PROTOCOL2_MASK 0x1 786*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_MTKAIF_CLK_PROTOCOL2_MASK_SFT (0x1 << 11) 787*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_TX_FIFO_ON_SFT 8 788*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_TX_FIFO_ON_MASK 0x1 789*4882a593Smuzhiyun #define RG_AUD_PAD_TOP_TX_FIFO_ON_MASK_SFT (0x1 << 8) 790*4882a593Smuzhiyun 791*4882a593Smuzhiyun /* MT6358_AFE_AUD_PAD_TOP_MON */ 792*4882a593Smuzhiyun #define ADDA_AUD_PAD_TOP_MON_SFT 0 793*4882a593Smuzhiyun #define ADDA_AUD_PAD_TOP_MON_MASK 0xffff 794*4882a593Smuzhiyun #define ADDA_AUD_PAD_TOP_MON_MASK_SFT (0xffff << 0) 795*4882a593Smuzhiyun 796*4882a593Smuzhiyun /* MT6358_AFE_AUD_PAD_TOP_MON1 */ 797*4882a593Smuzhiyun #define ADDA_AUD_PAD_TOP_MON1_SFT 0 798*4882a593Smuzhiyun #define ADDA_AUD_PAD_TOP_MON1_MASK 0xffff 799*4882a593Smuzhiyun #define ADDA_AUD_PAD_TOP_MON1_MASK_SFT (0xffff << 0) 800*4882a593Smuzhiyun 801*4882a593Smuzhiyun /* MT6358_AFE_DL_NLE_CFG */ 802*4882a593Smuzhiyun #define NLE_RCH_HPGAIN_SEL_SFT 10 803*4882a593Smuzhiyun #define NLE_RCH_HPGAIN_SEL_MASK 0x1 804*4882a593Smuzhiyun #define NLE_RCH_HPGAIN_SEL_MASK_SFT (0x1 << 10) 805*4882a593Smuzhiyun #define NLE_RCH_CH_SEL_SFT 9 806*4882a593Smuzhiyun #define NLE_RCH_CH_SEL_MASK 0x1 807*4882a593Smuzhiyun #define NLE_RCH_CH_SEL_MASK_SFT (0x1 << 9) 808*4882a593Smuzhiyun #define NLE_RCH_ON_SFT 8 809*4882a593Smuzhiyun #define NLE_RCH_ON_MASK 0x1 810*4882a593Smuzhiyun #define NLE_RCH_ON_MASK_SFT (0x1 << 8) 811*4882a593Smuzhiyun #define NLE_LCH_HPGAIN_SEL_SFT 2 812*4882a593Smuzhiyun #define NLE_LCH_HPGAIN_SEL_MASK 0x1 813*4882a593Smuzhiyun #define NLE_LCH_HPGAIN_SEL_MASK_SFT (0x1 << 2) 814*4882a593Smuzhiyun #define NLE_LCH_CH_SEL_SFT 1 815*4882a593Smuzhiyun #define NLE_LCH_CH_SEL_MASK 0x1 816*4882a593Smuzhiyun #define NLE_LCH_CH_SEL_MASK_SFT (0x1 << 1) 817*4882a593Smuzhiyun #define NLE_LCH_ON_SFT 0 818*4882a593Smuzhiyun #define NLE_LCH_ON_MASK 0x1 819*4882a593Smuzhiyun #define NLE_LCH_ON_MASK_SFT (0x1 << 0) 820*4882a593Smuzhiyun 821*4882a593Smuzhiyun /* MT6358_AFE_DL_NLE_MON */ 822*4882a593Smuzhiyun #define NLE_MONITOR_SFT 0 823*4882a593Smuzhiyun #define NLE_MONITOR_MASK 0x3fff 824*4882a593Smuzhiyun #define NLE_MONITOR_MASK_SFT (0x3fff << 0) 825*4882a593Smuzhiyun 826*4882a593Smuzhiyun /* MT6358_AFE_CG_EN_MON */ 827*4882a593Smuzhiyun #define CK_CG_EN_MON_SFT 0 828*4882a593Smuzhiyun #define CK_CG_EN_MON_MASK 0x3f 829*4882a593Smuzhiyun #define CK_CG_EN_MON_MASK_SFT (0x3f << 0) 830*4882a593Smuzhiyun 831*4882a593Smuzhiyun /* MT6358_AFE_VOW_TOP */ 832*4882a593Smuzhiyun #define PDN_VOW_SFT 15 833*4882a593Smuzhiyun #define PDN_VOW_MASK 0x1 834*4882a593Smuzhiyun #define PDN_VOW_MASK_SFT (0x1 << 15) 835*4882a593Smuzhiyun #define VOW_1P6M_800K_SEL_SFT 14 836*4882a593Smuzhiyun #define VOW_1P6M_800K_SEL_MASK 0x1 837*4882a593Smuzhiyun #define VOW_1P6M_800K_SEL_MASK_SFT (0x1 << 14) 838*4882a593Smuzhiyun #define VOW_DIGMIC_ON_SFT 13 839*4882a593Smuzhiyun #define VOW_DIGMIC_ON_MASK 0x1 840*4882a593Smuzhiyun #define VOW_DIGMIC_ON_MASK_SFT (0x1 << 13) 841*4882a593Smuzhiyun #define VOW_CK_DIV_RST_SFT 12 842*4882a593Smuzhiyun #define VOW_CK_DIV_RST_MASK 0x1 843*4882a593Smuzhiyun #define VOW_CK_DIV_RST_MASK_SFT (0x1 << 12) 844*4882a593Smuzhiyun #define VOW_ON_SFT 11 845*4882a593Smuzhiyun #define VOW_ON_MASK 0x1 846*4882a593Smuzhiyun #define VOW_ON_MASK_SFT (0x1 << 11) 847*4882a593Smuzhiyun #define VOW_DIGMIC_CK_PHASE_SEL_SFT 8 848*4882a593Smuzhiyun #define VOW_DIGMIC_CK_PHASE_SEL_MASK 0x7 849*4882a593Smuzhiyun #define VOW_DIGMIC_CK_PHASE_SEL_MASK_SFT (0x7 << 8) 850*4882a593Smuzhiyun #define MAIN_DMIC_CK_VOW_SEL_SFT 7 851*4882a593Smuzhiyun #define MAIN_DMIC_CK_VOW_SEL_MASK 0x1 852*4882a593Smuzhiyun #define MAIN_DMIC_CK_VOW_SEL_MASK_SFT (0x1 << 7) 853*4882a593Smuzhiyun #define VOW_SDM_3_LEVEL_SFT 6 854*4882a593Smuzhiyun #define VOW_SDM_3_LEVEL_MASK 0x1 855*4882a593Smuzhiyun #define VOW_SDM_3_LEVEL_MASK_SFT (0x1 << 6) 856*4882a593Smuzhiyun #define VOW_LOOP_BACK_MODE_SFT 5 857*4882a593Smuzhiyun #define VOW_LOOP_BACK_MODE_MASK 0x1 858*4882a593Smuzhiyun #define VOW_LOOP_BACK_MODE_MASK_SFT (0x1 << 5) 859*4882a593Smuzhiyun #define VOW_INTR_SOURCE_SEL_SFT 4 860*4882a593Smuzhiyun #define VOW_INTR_SOURCE_SEL_MASK 0x1 861*4882a593Smuzhiyun #define VOW_INTR_SOURCE_SEL_MASK_SFT (0x1 << 4) 862*4882a593Smuzhiyun #define VOW_INTR_CLR_SFT 3 863*4882a593Smuzhiyun #define VOW_INTR_CLR_MASK 0x1 864*4882a593Smuzhiyun #define VOW_INTR_CLR_MASK_SFT (0x1 << 3) 865*4882a593Smuzhiyun #define S_N_VALUE_RST_SFT 2 866*4882a593Smuzhiyun #define S_N_VALUE_RST_MASK 0x1 867*4882a593Smuzhiyun #define S_N_VALUE_RST_MASK_SFT (0x1 << 2) 868*4882a593Smuzhiyun #define SAMPLE_BASE_MODE_SFT 1 869*4882a593Smuzhiyun #define SAMPLE_BASE_MODE_MASK 0x1 870*4882a593Smuzhiyun #define SAMPLE_BASE_MODE_MASK_SFT (0x1 << 1) 871*4882a593Smuzhiyun #define VOW_INTR_FLAG_SFT 0 872*4882a593Smuzhiyun #define VOW_INTR_FLAG_MASK 0x1 873*4882a593Smuzhiyun #define VOW_INTR_FLAG_MASK_SFT (0x1 << 0) 874*4882a593Smuzhiyun 875*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG0 */ 876*4882a593Smuzhiyun #define AMPREF_SFT 0 877*4882a593Smuzhiyun #define AMPREF_MASK 0xffff 878*4882a593Smuzhiyun #define AMPREF_MASK_SFT (0xffff << 0) 879*4882a593Smuzhiyun 880*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG1 */ 881*4882a593Smuzhiyun #define TIMERINI_SFT 0 882*4882a593Smuzhiyun #define TIMERINI_MASK 0xffff 883*4882a593Smuzhiyun #define TIMERINI_MASK_SFT (0xffff << 0) 884*4882a593Smuzhiyun 885*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG2 */ 886*4882a593Smuzhiyun #define B_DEFAULT_SFT 12 887*4882a593Smuzhiyun #define B_DEFAULT_MASK 0x7 888*4882a593Smuzhiyun #define B_DEFAULT_MASK_SFT (0x7 << 12) 889*4882a593Smuzhiyun #define A_DEFAULT_SFT 8 890*4882a593Smuzhiyun #define A_DEFAULT_MASK 0x7 891*4882a593Smuzhiyun #define A_DEFAULT_MASK_SFT (0x7 << 8) 892*4882a593Smuzhiyun #define B_INI_SFT 4 893*4882a593Smuzhiyun #define B_INI_MASK 0x7 894*4882a593Smuzhiyun #define B_INI_MASK_SFT (0x7 << 4) 895*4882a593Smuzhiyun #define A_INI_SFT 0 896*4882a593Smuzhiyun #define A_INI_MASK 0x7 897*4882a593Smuzhiyun #define A_INI_MASK_SFT (0x7 << 0) 898*4882a593Smuzhiyun 899*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG3 */ 900*4882a593Smuzhiyun #define K_BETA_RISE_SFT 12 901*4882a593Smuzhiyun #define K_BETA_RISE_MASK 0xf 902*4882a593Smuzhiyun #define K_BETA_RISE_MASK_SFT (0xf << 12) 903*4882a593Smuzhiyun #define K_BETA_FALL_SFT 8 904*4882a593Smuzhiyun #define K_BETA_FALL_MASK 0xf 905*4882a593Smuzhiyun #define K_BETA_FALL_MASK_SFT (0xf << 8) 906*4882a593Smuzhiyun #define K_ALPHA_RISE_SFT 4 907*4882a593Smuzhiyun #define K_ALPHA_RISE_MASK 0xf 908*4882a593Smuzhiyun #define K_ALPHA_RISE_MASK_SFT (0xf << 4) 909*4882a593Smuzhiyun #define K_ALPHA_FALL_SFT 0 910*4882a593Smuzhiyun #define K_ALPHA_FALL_MASK 0xf 911*4882a593Smuzhiyun #define K_ALPHA_FALL_MASK_SFT (0xf << 0) 912*4882a593Smuzhiyun 913*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG4 */ 914*4882a593Smuzhiyun #define VOW_TXIF_SCK_INV_SFT 15 915*4882a593Smuzhiyun #define VOW_TXIF_SCK_INV_MASK 0x1 916*4882a593Smuzhiyun #define VOW_TXIF_SCK_INV_MASK_SFT (0x1 << 15) 917*4882a593Smuzhiyun #define VOW_ADC_TESTCK_SRC_SEL_SFT 12 918*4882a593Smuzhiyun #define VOW_ADC_TESTCK_SRC_SEL_MASK 0x7 919*4882a593Smuzhiyun #define VOW_ADC_TESTCK_SRC_SEL_MASK_SFT (0x7 << 12) 920*4882a593Smuzhiyun #define VOW_ADC_TESTCK_SEL_SFT 11 921*4882a593Smuzhiyun #define VOW_ADC_TESTCK_SEL_MASK 0x1 922*4882a593Smuzhiyun #define VOW_ADC_TESTCK_SEL_MASK_SFT (0x1 << 11) 923*4882a593Smuzhiyun #define VOW_ADC_CLK_INV_SFT 10 924*4882a593Smuzhiyun #define VOW_ADC_CLK_INV_MASK 0x1 925*4882a593Smuzhiyun #define VOW_ADC_CLK_INV_MASK_SFT (0x1 << 10) 926*4882a593Smuzhiyun #define VOW_TXIF_MONO_SFT 9 927*4882a593Smuzhiyun #define VOW_TXIF_MONO_MASK 0x1 928*4882a593Smuzhiyun #define VOW_TXIF_MONO_MASK_SFT (0x1 << 9) 929*4882a593Smuzhiyun #define VOW_TXIF_SCK_DIV_SFT 4 930*4882a593Smuzhiyun #define VOW_TXIF_SCK_DIV_MASK 0x1f 931*4882a593Smuzhiyun #define VOW_TXIF_SCK_DIV_MASK_SFT (0x1f << 4) 932*4882a593Smuzhiyun #define K_GAMMA_SFT 0 933*4882a593Smuzhiyun #define K_GAMMA_MASK 0xf 934*4882a593Smuzhiyun #define K_GAMMA_MASK_SFT (0xf << 0) 935*4882a593Smuzhiyun 936*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG5 */ 937*4882a593Smuzhiyun #define N_MIN_SFT 0 938*4882a593Smuzhiyun #define N_MIN_MASK 0xffff 939*4882a593Smuzhiyun #define N_MIN_MASK_SFT (0xffff << 0) 940*4882a593Smuzhiyun 941*4882a593Smuzhiyun /* MT6358_AFE_VOW_CFG6 */ 942*4882a593Smuzhiyun #define RG_WINDOW_SIZE_SEL_SFT 12 943*4882a593Smuzhiyun #define RG_WINDOW_SIZE_SEL_MASK 0x1 944*4882a593Smuzhiyun #define RG_WINDOW_SIZE_SEL_MASK_SFT (0x1 << 12) 945*4882a593Smuzhiyun #define RG_FLR_BYPASS_SFT 11 946*4882a593Smuzhiyun #define RG_FLR_BYPASS_MASK 0x1 947*4882a593Smuzhiyun #define RG_FLR_BYPASS_MASK_SFT (0x1 << 11) 948*4882a593Smuzhiyun #define RG_FLR_RATIO_SFT 8 949*4882a593Smuzhiyun #define RG_FLR_RATIO_MASK 0x7 950*4882a593Smuzhiyun #define RG_FLR_RATIO_MASK_SFT (0x7 << 8) 951*4882a593Smuzhiyun #define RG_BUCK_DVFS_DONE_SW_CTL_SFT 7 952*4882a593Smuzhiyun #define RG_BUCK_DVFS_DONE_SW_CTL_MASK 0x1 953*4882a593Smuzhiyun #define RG_BUCK_DVFS_DONE_SW_CTL_MASK_SFT (0x1 << 7) 954*4882a593Smuzhiyun #define RG_BUCK_DVFS_DONE_HW_MODE_SFT 6 955*4882a593Smuzhiyun #define RG_BUCK_DVFS_DONE_HW_MODE_MASK 0x1 956*4882a593Smuzhiyun #define RG_BUCK_DVFS_DONE_HW_MODE_MASK_SFT (0x1 << 6) 957*4882a593Smuzhiyun #define RG_BUCK_DVFS_HW_CNT_THR_SFT 0 958*4882a593Smuzhiyun #define RG_BUCK_DVFS_HW_CNT_THR_MASK 0x3f 959*4882a593Smuzhiyun #define RG_BUCK_DVFS_HW_CNT_THR_MASK_SFT (0x3f << 0) 960*4882a593Smuzhiyun 961*4882a593Smuzhiyun /* MT6358_AFE_VOW_MON0 */ 962*4882a593Smuzhiyun #define VOW_DOWNCNT_SFT 0 963*4882a593Smuzhiyun #define VOW_DOWNCNT_MASK 0xffff 964*4882a593Smuzhiyun #define VOW_DOWNCNT_MASK_SFT (0xffff << 0) 965*4882a593Smuzhiyun 966*4882a593Smuzhiyun /* MT6358_AFE_VOW_MON1 */ 967*4882a593Smuzhiyun #define K_TMP_MON_SFT 10 968*4882a593Smuzhiyun #define K_TMP_MON_MASK 0xf 969*4882a593Smuzhiyun #define K_TMP_MON_MASK_SFT (0xf << 10) 970*4882a593Smuzhiyun #define SLT_COUNTER_MON_SFT 7 971*4882a593Smuzhiyun #define SLT_COUNTER_MON_MASK 0x7 972*4882a593Smuzhiyun #define SLT_COUNTER_MON_MASK_SFT (0x7 << 7) 973*4882a593Smuzhiyun #define VOW_B_SFT 4 974*4882a593Smuzhiyun #define VOW_B_MASK 0x7 975*4882a593Smuzhiyun #define VOW_B_MASK_SFT (0x7 << 4) 976*4882a593Smuzhiyun #define VOW_A_SFT 1 977*4882a593Smuzhiyun #define VOW_A_MASK 0x7 978*4882a593Smuzhiyun #define VOW_A_MASK_SFT (0x7 << 1) 979*4882a593Smuzhiyun #define SECOND_CNT_START_SFT 0 980*4882a593Smuzhiyun #define SECOND_CNT_START_MASK 0x1 981*4882a593Smuzhiyun #define SECOND_CNT_START_MASK_SFT (0x1 << 0) 982*4882a593Smuzhiyun 983*4882a593Smuzhiyun /* MT6358_AFE_VOW_MON2 */ 984*4882a593Smuzhiyun #define VOW_S_L_SFT 0 985*4882a593Smuzhiyun #define VOW_S_L_MASK 0xffff 986*4882a593Smuzhiyun #define VOW_S_L_MASK_SFT (0xffff << 0) 987*4882a593Smuzhiyun 988*4882a593Smuzhiyun /* MT6358_AFE_VOW_MON3 */ 989*4882a593Smuzhiyun #define VOW_S_H_SFT 0 990*4882a593Smuzhiyun #define VOW_S_H_MASK 0xffff 991*4882a593Smuzhiyun #define VOW_S_H_MASK_SFT (0xffff << 0) 992*4882a593Smuzhiyun 993*4882a593Smuzhiyun /* MT6358_AFE_VOW_MON4 */ 994*4882a593Smuzhiyun #define VOW_N_L_SFT 0 995*4882a593Smuzhiyun #define VOW_N_L_MASK 0xffff 996*4882a593Smuzhiyun #define VOW_N_L_MASK_SFT (0xffff << 0) 997*4882a593Smuzhiyun 998*4882a593Smuzhiyun /* MT6358_AFE_VOW_MON5 */ 999*4882a593Smuzhiyun #define VOW_N_H_SFT 0 1000*4882a593Smuzhiyun #define VOW_N_H_MASK 0xffff 1001*4882a593Smuzhiyun #define VOW_N_H_MASK_SFT (0xffff << 0) 1002*4882a593Smuzhiyun 1003*4882a593Smuzhiyun /* MT6358_AFE_VOW_SN_INI_CFG */ 1004*4882a593Smuzhiyun #define VOW_SN_INI_CFG_EN_SFT 15 1005*4882a593Smuzhiyun #define VOW_SN_INI_CFG_EN_MASK 0x1 1006*4882a593Smuzhiyun #define VOW_SN_INI_CFG_EN_MASK_SFT (0x1 << 15) 1007*4882a593Smuzhiyun #define VOW_SN_INI_CFG_VAL_SFT 0 1008*4882a593Smuzhiyun #define VOW_SN_INI_CFG_VAL_MASK 0x7fff 1009*4882a593Smuzhiyun #define VOW_SN_INI_CFG_VAL_MASK_SFT (0x7fff << 0) 1010*4882a593Smuzhiyun 1011*4882a593Smuzhiyun /* MT6358_AFE_VOW_TGEN_CFG0 */ 1012*4882a593Smuzhiyun #define VOW_TGEN_EN_SFT 15 1013*4882a593Smuzhiyun #define VOW_TGEN_EN_MASK 0x1 1014*4882a593Smuzhiyun #define VOW_TGEN_EN_MASK_SFT (0x1 << 15) 1015*4882a593Smuzhiyun #define VOW_TGEN_MUTE_SW_SFT 14 1016*4882a593Smuzhiyun #define VOW_TGEN_MUTE_SW_MASK 0x1 1017*4882a593Smuzhiyun #define VOW_TGEN_MUTE_SW_MASK_SFT (0x1 << 14) 1018*4882a593Smuzhiyun #define VOW_TGEN_FREQ_DIV_SFT 0 1019*4882a593Smuzhiyun #define VOW_TGEN_FREQ_DIV_MASK 0x3fff 1020*4882a593Smuzhiyun #define VOW_TGEN_FREQ_DIV_MASK_SFT (0x3fff << 0) 1021*4882a593Smuzhiyun 1022*4882a593Smuzhiyun /* MT6358_AFE_VOW_POSDIV_CFG0 */ 1023*4882a593Smuzhiyun #define BUCK_DVFS_DONE_SFT 15 1024*4882a593Smuzhiyun #define BUCK_DVFS_DONE_MASK 0x1 1025*4882a593Smuzhiyun #define BUCK_DVFS_DONE_MASK_SFT (0x1 << 15) 1026*4882a593Smuzhiyun #define VOW_32K_MODE_SFT 13 1027*4882a593Smuzhiyun #define VOW_32K_MODE_MASK 0x1 1028*4882a593Smuzhiyun #define VOW_32K_MODE_MASK_SFT (0x1 << 13) 1029*4882a593Smuzhiyun #define RG_BUCK_CLK_DIV_SFT 8 1030*4882a593Smuzhiyun #define RG_BUCK_CLK_DIV_MASK 0x1f 1031*4882a593Smuzhiyun #define RG_BUCK_CLK_DIV_MASK_SFT (0x1f << 8) 1032*4882a593Smuzhiyun #define RG_A1P6M_EN_SEL_SFT 7 1033*4882a593Smuzhiyun #define RG_A1P6M_EN_SEL_MASK 0x1 1034*4882a593Smuzhiyun #define RG_A1P6M_EN_SEL_MASK_SFT (0x1 << 7) 1035*4882a593Smuzhiyun #define VOW_CLK_SEL_SFT 6 1036*4882a593Smuzhiyun #define VOW_CLK_SEL_MASK 0x1 1037*4882a593Smuzhiyun #define VOW_CLK_SEL_MASK_SFT (0x1 << 6) 1038*4882a593Smuzhiyun #define VOW_INTR_SW_MODE_SFT 5 1039*4882a593Smuzhiyun #define VOW_INTR_SW_MODE_MASK 0x1 1040*4882a593Smuzhiyun #define VOW_INTR_SW_MODE_MASK_SFT (0x1 << 5) 1041*4882a593Smuzhiyun #define VOW_INTR_SW_VAL_SFT 4 1042*4882a593Smuzhiyun #define VOW_INTR_SW_VAL_MASK 0x1 1043*4882a593Smuzhiyun #define VOW_INTR_SW_VAL_MASK_SFT (0x1 << 4) 1044*4882a593Smuzhiyun #define VOW_CIC_MODE_SEL_SFT 2 1045*4882a593Smuzhiyun #define VOW_CIC_MODE_SEL_MASK 0x3 1046*4882a593Smuzhiyun #define VOW_CIC_MODE_SEL_MASK_SFT (0x3 << 2) 1047*4882a593Smuzhiyun #define RG_VOW_POSDIV_SFT 0 1048*4882a593Smuzhiyun #define RG_VOW_POSDIV_MASK 0x3 1049*4882a593Smuzhiyun #define RG_VOW_POSDIV_MASK_SFT (0x3 << 0) 1050*4882a593Smuzhiyun 1051*4882a593Smuzhiyun /* MT6358_AFE_VOW_HPF_CFG0 */ 1052*4882a593Smuzhiyun #define VOW_HPF_DC_TEST_SFT 12 1053*4882a593Smuzhiyun #define VOW_HPF_DC_TEST_MASK 0xf 1054*4882a593Smuzhiyun #define VOW_HPF_DC_TEST_MASK_SFT (0xf << 12) 1055*4882a593Smuzhiyun #define VOW_IRQ_LATCH_SNR_EN_SFT 10 1056*4882a593Smuzhiyun #define VOW_IRQ_LATCH_SNR_EN_MASK 0x1 1057*4882a593Smuzhiyun #define VOW_IRQ_LATCH_SNR_EN_MASK_SFT (0x1 << 10) 1058*4882a593Smuzhiyun #define VOW_DMICCLK_PDN_SFT 9 1059*4882a593Smuzhiyun #define VOW_DMICCLK_PDN_MASK 0x1 1060*4882a593Smuzhiyun #define VOW_DMICCLK_PDN_MASK_SFT (0x1 << 9) 1061*4882a593Smuzhiyun #define VOW_POSDIVCLK_PDN_SFT 8 1062*4882a593Smuzhiyun #define VOW_POSDIVCLK_PDN_MASK 0x1 1063*4882a593Smuzhiyun #define VOW_POSDIVCLK_PDN_MASK_SFT (0x1 << 8) 1064*4882a593Smuzhiyun #define RG_BASELINE_ALPHA_ORDER_SFT 4 1065*4882a593Smuzhiyun #define RG_BASELINE_ALPHA_ORDER_MASK 0xf 1066*4882a593Smuzhiyun #define RG_BASELINE_ALPHA_ORDER_MASK_SFT (0xf << 4) 1067*4882a593Smuzhiyun #define RG_MTKAIF_HPF_BYPASS_SFT 2 1068*4882a593Smuzhiyun #define RG_MTKAIF_HPF_BYPASS_MASK 0x1 1069*4882a593Smuzhiyun #define RG_MTKAIF_HPF_BYPASS_MASK_SFT (0x1 << 2) 1070*4882a593Smuzhiyun #define RG_SNRDET_HPF_BYPASS_SFT 1 1071*4882a593Smuzhiyun #define RG_SNRDET_HPF_BYPASS_MASK 0x1 1072*4882a593Smuzhiyun #define RG_SNRDET_HPF_BYPASS_MASK_SFT (0x1 << 1) 1073*4882a593Smuzhiyun #define RG_HPF_ON_SFT 0 1074*4882a593Smuzhiyun #define RG_HPF_ON_MASK 0x1 1075*4882a593Smuzhiyun #define RG_HPF_ON_MASK_SFT (0x1 << 0) 1076*4882a593Smuzhiyun 1077*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG0 */ 1078*4882a593Smuzhiyun #define RG_PERIODIC_EN_SFT 15 1079*4882a593Smuzhiyun #define RG_PERIODIC_EN_MASK 0x1 1080*4882a593Smuzhiyun #define RG_PERIODIC_EN_MASK_SFT (0x1 << 15) 1081*4882a593Smuzhiyun #define RG_PERIODIC_CNT_CLR_SFT 14 1082*4882a593Smuzhiyun #define RG_PERIODIC_CNT_CLR_MASK 0x1 1083*4882a593Smuzhiyun #define RG_PERIODIC_CNT_CLR_MASK_SFT (0x1 << 14) 1084*4882a593Smuzhiyun #define RG_PERIODIC_CNT_PERIOD_SFT 0 1085*4882a593Smuzhiyun #define RG_PERIODIC_CNT_PERIOD_MASK 0x3fff 1086*4882a593Smuzhiyun #define RG_PERIODIC_CNT_PERIOD_MASK_SFT (0x3fff << 0) 1087*4882a593Smuzhiyun 1088*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG1 */ 1089*4882a593Smuzhiyun #define RG_PERIODIC_CNT_SET_SFT 15 1090*4882a593Smuzhiyun #define RG_PERIODIC_CNT_SET_MASK 0x1 1091*4882a593Smuzhiyun #define RG_PERIODIC_CNT_SET_MASK_SFT (0x1 << 15) 1092*4882a593Smuzhiyun #define RG_PERIODIC_CNT_PAUSE_SFT 14 1093*4882a593Smuzhiyun #define RG_PERIODIC_CNT_PAUSE_MASK 0x1 1094*4882a593Smuzhiyun #define RG_PERIODIC_CNT_PAUSE_MASK_SFT (0x1 << 14) 1095*4882a593Smuzhiyun #define RG_PERIODIC_CNT_SET_VALUE_SFT 0 1096*4882a593Smuzhiyun #define RG_PERIODIC_CNT_SET_VALUE_MASK 0x3fff 1097*4882a593Smuzhiyun #define RG_PERIODIC_CNT_SET_VALUE_MASK_SFT (0x3fff << 0) 1098*4882a593Smuzhiyun 1099*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG2 */ 1100*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_MODE_SFT 15 1101*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_MODE_MASK 0x1 1102*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1103*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_INVERSE_SFT 14 1104*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_INVERSE_MASK 0x1 1105*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1106*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_ON_CYCLE_SFT 0 1107*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_ON_CYCLE_MASK 0x3fff 1108*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1109*4882a593Smuzhiyun 1110*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG3 */ 1111*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_MODE_SFT 15 1112*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_MODE_MASK 0x1 1113*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1114*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_INVERSE_SFT 14 1115*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_INVERSE_MASK 0x1 1116*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1117*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_ON_CYCLE_SFT 0 1118*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_ON_CYCLE_MASK 0x3fff 1119*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1120*4882a593Smuzhiyun 1121*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG4 */ 1122*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_MODE_SFT 15 1123*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_MODE_MASK 0x1 1124*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1125*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_INVERSE_SFT 14 1126*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_INVERSE_MASK 0x1 1127*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1128*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_ON_CYCLE_SFT 0 1129*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_ON_CYCLE_MASK 0x3fff 1130*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1131*4882a593Smuzhiyun 1132*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG5 */ 1133*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_MODE_SFT 15 1134*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_MODE_MASK 0x1 1135*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1136*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_INVERSE_SFT 14 1137*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_INVERSE_MASK 0x1 1138*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1139*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_ON_CYCLE_SFT 0 1140*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_ON_CYCLE_MASK 0x3fff 1141*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1142*4882a593Smuzhiyun 1143*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG6 */ 1144*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_MODE_SFT 15 1145*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_MODE_MASK 0x1 1146*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1147*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_INVERSE_SFT 14 1148*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_INVERSE_MASK 0x1 1149*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1150*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_ON_CYCLE_SFT 0 1151*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_ON_CYCLE_MASK 0x3fff 1152*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1153*4882a593Smuzhiyun 1154*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG7 */ 1155*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_MODE_SFT 15 1156*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_MODE_MASK 0x1 1157*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1158*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_INVERSE_SFT 14 1159*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_INVERSE_MASK 0x1 1160*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1161*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_ON_CYCLE_SFT 0 1162*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_ON_CYCLE_MASK 0x3fff 1163*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1164*4882a593Smuzhiyun 1165*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG8 */ 1166*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_MODE_SFT 15 1167*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_MODE_MASK 0x1 1168*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1169*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_INVERSE_SFT 14 1170*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_INVERSE_MASK 0x1 1171*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1172*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_ON_CYCLE_SFT 0 1173*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_ON_CYCLE_MASK 0x3fff 1174*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1175*4882a593Smuzhiyun 1176*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG9 */ 1177*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_MODE_SFT 15 1178*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_MODE_MASK 0x1 1179*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1180*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_INVERSE_SFT 14 1181*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_INVERSE_MASK 0x1 1182*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1183*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_ON_CYCLE_SFT 0 1184*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_ON_CYCLE_MASK 0x3fff 1185*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1186*4882a593Smuzhiyun 1187*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG10 */ 1188*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_MODE_SFT 15 1189*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_MODE_MASK 0x1 1190*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1191*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_INVERSE_SFT 14 1192*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_INVERSE_MASK 0x1 1193*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1194*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_ON_CYCLE_SFT 0 1195*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_ON_CYCLE_MASK 0x3fff 1196*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1197*4882a593Smuzhiyun 1198*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG11 */ 1199*4882a593Smuzhiyun #define VOW_ON_PERIODIC_MODE_SFT 15 1200*4882a593Smuzhiyun #define VOW_ON_PERIODIC_MODE_MASK 0x1 1201*4882a593Smuzhiyun #define VOW_ON_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1202*4882a593Smuzhiyun #define VOW_ON_PERIODIC_INVERSE_SFT 14 1203*4882a593Smuzhiyun #define VOW_ON_PERIODIC_INVERSE_MASK 0x1 1204*4882a593Smuzhiyun #define VOW_ON_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1205*4882a593Smuzhiyun #define VOW_ON_PERIODIC_ON_CYCLE_SFT 0 1206*4882a593Smuzhiyun #define VOW_ON_PERIODIC_ON_CYCLE_MASK 0x3fff 1207*4882a593Smuzhiyun #define VOW_ON_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1208*4882a593Smuzhiyun 1209*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG12 */ 1210*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_MODE_SFT 15 1211*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_MODE_MASK 0x1 1212*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1213*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_INVERSE_SFT 14 1214*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_INVERSE_MASK 0x1 1215*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_INVERSE_MASK_SFT (0x1 << 14) 1216*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_ON_CYCLE_SFT 0 1217*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_ON_CYCLE_MASK 0x3fff 1218*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_ON_CYCLE_MASK_SFT (0x3fff << 0) 1219*4882a593Smuzhiyun 1220*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG13 */ 1221*4882a593Smuzhiyun #define PDN_VOW_F32K_CK_SFT 15 1222*4882a593Smuzhiyun #define PDN_VOW_F32K_CK_MASK 0x1 1223*4882a593Smuzhiyun #define PDN_VOW_F32K_CK_MASK_SFT (0x1 << 15) 1224*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_OFF_CYCLE_SFT 0 1225*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_OFF_CYCLE_MASK 0x3fff 1226*4882a593Smuzhiyun #define AUDPREAMPLON_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1227*4882a593Smuzhiyun 1228*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG14 */ 1229*4882a593Smuzhiyun #define VOW_SNRDET_PERIODIC_CFG_SFT 15 1230*4882a593Smuzhiyun #define VOW_SNRDET_PERIODIC_CFG_MASK 0x1 1231*4882a593Smuzhiyun #define VOW_SNRDET_PERIODIC_CFG_MASK_SFT (0x1 << 15) 1232*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_OFF_CYCLE_SFT 0 1233*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_OFF_CYCLE_MASK 0x3fff 1234*4882a593Smuzhiyun #define AUDPREAMPLDCPRECHARGE_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1235*4882a593Smuzhiyun 1236*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG15 */ 1237*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_OFF_CYCLE_SFT 0 1238*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_OFF_CYCLE_MASK 0x3fff 1239*4882a593Smuzhiyun #define AUDADCLPWRUP_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1240*4882a593Smuzhiyun 1241*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG16 */ 1242*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_OFF_CYCLE_SFT 0 1243*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_OFF_CYCLE_MASK 0x3fff 1244*4882a593Smuzhiyun #define AUDGLBVOWLPWEN_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1245*4882a593Smuzhiyun 1246*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG17 */ 1247*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_OFF_CYCLE_SFT 0 1248*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_OFF_CYCLE_MASK 0x3fff 1249*4882a593Smuzhiyun #define AUDDIGMICEN_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1250*4882a593Smuzhiyun 1251*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG18 */ 1252*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_OFF_CYCLE_SFT 0 1253*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_OFF_CYCLE_MASK 0x3fff 1254*4882a593Smuzhiyun #define AUDPWDBMICBIAS0_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1255*4882a593Smuzhiyun 1256*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG19 */ 1257*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_OFF_CYCLE_SFT 0 1258*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_OFF_CYCLE_MASK 0x3fff 1259*4882a593Smuzhiyun #define AUDPWDBMICBIAS1_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1260*4882a593Smuzhiyun 1261*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG20 */ 1262*4882a593Smuzhiyun #define CLKSQ_EN_VOW_PERIODIC_MODE_SFT 15 1263*4882a593Smuzhiyun #define CLKSQ_EN_VOW_PERIODIC_MODE_MASK 0x1 1264*4882a593Smuzhiyun #define CLKSQ_EN_VOW_PERIODIC_MODE_MASK_SFT (0x1 << 15) 1265*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_OFF_CYCLE_SFT 0 1266*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_OFF_CYCLE_MASK 0x3fff 1267*4882a593Smuzhiyun #define XO_VOW_CK_EN_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1268*4882a593Smuzhiyun 1269*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG21 */ 1270*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_OFF_CYCLE_SFT 0 1271*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_OFF_CYCLE_MASK 0x3fff 1272*4882a593Smuzhiyun #define AUDGLB_PWRDN_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1273*4882a593Smuzhiyun 1274*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG22 */ 1275*4882a593Smuzhiyun #define VOW_ON_PERIODIC_OFF_CYCLE_SFT 0 1276*4882a593Smuzhiyun #define VOW_ON_PERIODIC_OFF_CYCLE_MASK 0x3fff 1277*4882a593Smuzhiyun #define VOW_ON_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1278*4882a593Smuzhiyun 1279*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_CFG23 */ 1280*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_OFF_CYCLE_SFT 0 1281*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_OFF_CYCLE_MASK 0x3fff 1282*4882a593Smuzhiyun #define DMIC_ON_PERIODIC_OFF_CYCLE_MASK_SFT (0x3fff << 0) 1283*4882a593Smuzhiyun 1284*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_MON0 */ 1285*4882a593Smuzhiyun #define VOW_PERIODIC_MON_SFT 0 1286*4882a593Smuzhiyun #define VOW_PERIODIC_MON_MASK 0xffff 1287*4882a593Smuzhiyun #define VOW_PERIODIC_MON_MASK_SFT (0xffff << 0) 1288*4882a593Smuzhiyun 1289*4882a593Smuzhiyun /* MT6358_AFE_VOW_PERIODIC_MON1 */ 1290*4882a593Smuzhiyun #define VOW_PERIODIC_COUNT_MON_SFT 0 1291*4882a593Smuzhiyun #define VOW_PERIODIC_COUNT_MON_MASK 0xffff 1292*4882a593Smuzhiyun #define VOW_PERIODIC_COUNT_MON_MASK_SFT (0xffff << 0) 1293*4882a593Smuzhiyun 1294*4882a593Smuzhiyun /* MT6358_AUDENC_DSN_ID */ 1295*4882a593Smuzhiyun #define AUDENC_ANA_ID_SFT 0 1296*4882a593Smuzhiyun #define AUDENC_ANA_ID_MASK 0xff 1297*4882a593Smuzhiyun #define AUDENC_ANA_ID_MASK_SFT (0xff << 0) 1298*4882a593Smuzhiyun #define AUDENC_DIG_ID_SFT 8 1299*4882a593Smuzhiyun #define AUDENC_DIG_ID_MASK 0xff 1300*4882a593Smuzhiyun #define AUDENC_DIG_ID_MASK_SFT (0xff << 8) 1301*4882a593Smuzhiyun 1302*4882a593Smuzhiyun /* MT6358_AUDENC_DSN_REV0 */ 1303*4882a593Smuzhiyun #define AUDENC_ANA_MINOR_REV_SFT 0 1304*4882a593Smuzhiyun #define AUDENC_ANA_MINOR_REV_MASK 0xf 1305*4882a593Smuzhiyun #define AUDENC_ANA_MINOR_REV_MASK_SFT (0xf << 0) 1306*4882a593Smuzhiyun #define AUDENC_ANA_MAJOR_REV_SFT 4 1307*4882a593Smuzhiyun #define AUDENC_ANA_MAJOR_REV_MASK 0xf 1308*4882a593Smuzhiyun #define AUDENC_ANA_MAJOR_REV_MASK_SFT (0xf << 4) 1309*4882a593Smuzhiyun #define AUDENC_DIG_MINOR_REV_SFT 8 1310*4882a593Smuzhiyun #define AUDENC_DIG_MINOR_REV_MASK 0xf 1311*4882a593Smuzhiyun #define AUDENC_DIG_MINOR_REV_MASK_SFT (0xf << 8) 1312*4882a593Smuzhiyun #define AUDENC_DIG_MAJOR_REV_SFT 12 1313*4882a593Smuzhiyun #define AUDENC_DIG_MAJOR_REV_MASK 0xf 1314*4882a593Smuzhiyun #define AUDENC_DIG_MAJOR_REV_MASK_SFT (0xf << 12) 1315*4882a593Smuzhiyun 1316*4882a593Smuzhiyun /* MT6358_AUDENC_DSN_DBI */ 1317*4882a593Smuzhiyun #define AUDENC_DSN_CBS_SFT 0 1318*4882a593Smuzhiyun #define AUDENC_DSN_CBS_MASK 0x3 1319*4882a593Smuzhiyun #define AUDENC_DSN_CBS_MASK_SFT (0x3 << 0) 1320*4882a593Smuzhiyun #define AUDENC_DSN_BIX_SFT 2 1321*4882a593Smuzhiyun #define AUDENC_DSN_BIX_MASK 0x3 1322*4882a593Smuzhiyun #define AUDENC_DSN_BIX_MASK_SFT (0x3 << 2) 1323*4882a593Smuzhiyun #define AUDENC_DSN_ESP_SFT 8 1324*4882a593Smuzhiyun #define AUDENC_DSN_ESP_MASK 0xff 1325*4882a593Smuzhiyun #define AUDENC_DSN_ESP_MASK_SFT (0xff << 8) 1326*4882a593Smuzhiyun 1327*4882a593Smuzhiyun /* MT6358_AUDENC_DSN_FPI */ 1328*4882a593Smuzhiyun #define AUDENC_DSN_FPI_SFT 0 1329*4882a593Smuzhiyun #define AUDENC_DSN_FPI_MASK 0xff 1330*4882a593Smuzhiyun #define AUDENC_DSN_FPI_MASK_SFT (0xff << 0) 1331*4882a593Smuzhiyun 1332*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON0 */ 1333*4882a593Smuzhiyun #define RG_AUDPREAMPLON_SFT 0 1334*4882a593Smuzhiyun #define RG_AUDPREAMPLON_MASK 0x1 1335*4882a593Smuzhiyun #define RG_AUDPREAMPLON_MASK_SFT (0x1 << 0) 1336*4882a593Smuzhiyun #define RG_AUDPREAMPLDCCEN_SFT 1 1337*4882a593Smuzhiyun #define RG_AUDPREAMPLDCCEN_MASK 0x1 1338*4882a593Smuzhiyun #define RG_AUDPREAMPLDCCEN_MASK_SFT (0x1 << 1) 1339*4882a593Smuzhiyun #define RG_AUDPREAMPLDCPRECHARGE_SFT 2 1340*4882a593Smuzhiyun #define RG_AUDPREAMPLDCPRECHARGE_MASK 0x1 1341*4882a593Smuzhiyun #define RG_AUDPREAMPLDCPRECHARGE_MASK_SFT (0x1 << 2) 1342*4882a593Smuzhiyun #define RG_AUDPREAMPLPGATEST_SFT 3 1343*4882a593Smuzhiyun #define RG_AUDPREAMPLPGATEST_MASK 0x1 1344*4882a593Smuzhiyun #define RG_AUDPREAMPLPGATEST_MASK_SFT (0x1 << 3) 1345*4882a593Smuzhiyun #define RG_AUDPREAMPLVSCALE_SFT 4 1346*4882a593Smuzhiyun #define RG_AUDPREAMPLVSCALE_MASK 0x3 1347*4882a593Smuzhiyun #define RG_AUDPREAMPLVSCALE_MASK_SFT (0x3 << 4) 1348*4882a593Smuzhiyun #define RG_AUDPREAMPLINPUTSEL_SFT 6 1349*4882a593Smuzhiyun #define RG_AUDPREAMPLINPUTSEL_MASK 0x3 1350*4882a593Smuzhiyun #define RG_AUDPREAMPLINPUTSEL_MASK_SFT (0x3 << 6) 1351*4882a593Smuzhiyun #define RG_AUDPREAMPLGAIN_SFT 8 1352*4882a593Smuzhiyun #define RG_AUDPREAMPLGAIN_MASK 0x7 1353*4882a593Smuzhiyun #define RG_AUDPREAMPLGAIN_MASK_SFT (0x7 << 8) 1354*4882a593Smuzhiyun #define RG_AUDADCLPWRUP_SFT 12 1355*4882a593Smuzhiyun #define RG_AUDADCLPWRUP_MASK 0x1 1356*4882a593Smuzhiyun #define RG_AUDADCLPWRUP_MASK_SFT (0x1 << 12) 1357*4882a593Smuzhiyun #define RG_AUDADCLINPUTSEL_SFT 13 1358*4882a593Smuzhiyun #define RG_AUDADCLINPUTSEL_MASK 0x3 1359*4882a593Smuzhiyun #define RG_AUDADCLINPUTSEL_MASK_SFT (0x3 << 13) 1360*4882a593Smuzhiyun 1361*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON1 */ 1362*4882a593Smuzhiyun #define RG_AUDPREAMPRON_SFT 0 1363*4882a593Smuzhiyun #define RG_AUDPREAMPRON_MASK 0x1 1364*4882a593Smuzhiyun #define RG_AUDPREAMPRON_MASK_SFT (0x1 << 0) 1365*4882a593Smuzhiyun #define RG_AUDPREAMPRDCCEN_SFT 1 1366*4882a593Smuzhiyun #define RG_AUDPREAMPRDCCEN_MASK 0x1 1367*4882a593Smuzhiyun #define RG_AUDPREAMPRDCCEN_MASK_SFT (0x1 << 1) 1368*4882a593Smuzhiyun #define RG_AUDPREAMPRDCPRECHARGE_SFT 2 1369*4882a593Smuzhiyun #define RG_AUDPREAMPRDCPRECHARGE_MASK 0x1 1370*4882a593Smuzhiyun #define RG_AUDPREAMPRDCPRECHARGE_MASK_SFT (0x1 << 2) 1371*4882a593Smuzhiyun #define RG_AUDPREAMPRPGATEST_SFT 3 1372*4882a593Smuzhiyun #define RG_AUDPREAMPRPGATEST_MASK 0x1 1373*4882a593Smuzhiyun #define RG_AUDPREAMPRPGATEST_MASK_SFT (0x1 << 3) 1374*4882a593Smuzhiyun #define RG_AUDPREAMPRVSCALE_SFT 4 1375*4882a593Smuzhiyun #define RG_AUDPREAMPRVSCALE_MASK 0x3 1376*4882a593Smuzhiyun #define RG_AUDPREAMPRVSCALE_MASK_SFT (0x3 << 4) 1377*4882a593Smuzhiyun #define RG_AUDPREAMPRINPUTSEL_SFT 6 1378*4882a593Smuzhiyun #define RG_AUDPREAMPRINPUTSEL_MASK 0x3 1379*4882a593Smuzhiyun #define RG_AUDPREAMPRINPUTSEL_MASK_SFT (0x3 << 6) 1380*4882a593Smuzhiyun #define RG_AUDPREAMPRGAIN_SFT 8 1381*4882a593Smuzhiyun #define RG_AUDPREAMPRGAIN_MASK 0x7 1382*4882a593Smuzhiyun #define RG_AUDPREAMPRGAIN_MASK_SFT (0x7 << 8) 1383*4882a593Smuzhiyun #define RG_AUDIO_VOW_EN_SFT 11 1384*4882a593Smuzhiyun #define RG_AUDIO_VOW_EN_MASK 0x1 1385*4882a593Smuzhiyun #define RG_AUDIO_VOW_EN_MASK_SFT (0x1 << 11) 1386*4882a593Smuzhiyun #define RG_AUDADCRPWRUP_SFT 12 1387*4882a593Smuzhiyun #define RG_AUDADCRPWRUP_MASK 0x1 1388*4882a593Smuzhiyun #define RG_AUDADCRPWRUP_MASK_SFT (0x1 << 12) 1389*4882a593Smuzhiyun #define RG_AUDADCRINPUTSEL_SFT 13 1390*4882a593Smuzhiyun #define RG_AUDADCRINPUTSEL_MASK 0x3 1391*4882a593Smuzhiyun #define RG_AUDADCRINPUTSEL_MASK_SFT (0x3 << 13) 1392*4882a593Smuzhiyun #define RG_CLKSQ_EN_VOW_SFT 15 1393*4882a593Smuzhiyun #define RG_CLKSQ_EN_VOW_MASK 0x1 1394*4882a593Smuzhiyun #define RG_CLKSQ_EN_VOW_MASK_SFT (0x1 << 15) 1395*4882a593Smuzhiyun 1396*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON2 */ 1397*4882a593Smuzhiyun #define RG_AUDULHALFBIAS_SFT 0 1398*4882a593Smuzhiyun #define RG_AUDULHALFBIAS_MASK 0x1 1399*4882a593Smuzhiyun #define RG_AUDULHALFBIAS_MASK_SFT (0x1 << 0) 1400*4882a593Smuzhiyun #define RG_AUDGLBVOWLPWEN_SFT 1 1401*4882a593Smuzhiyun #define RG_AUDGLBVOWLPWEN_MASK 0x1 1402*4882a593Smuzhiyun #define RG_AUDGLBVOWLPWEN_MASK_SFT (0x1 << 1) 1403*4882a593Smuzhiyun #define RG_AUDPREAMPLPEN_SFT 2 1404*4882a593Smuzhiyun #define RG_AUDPREAMPLPEN_MASK 0x1 1405*4882a593Smuzhiyun #define RG_AUDPREAMPLPEN_MASK_SFT (0x1 << 2) 1406*4882a593Smuzhiyun #define RG_AUDADC1STSTAGELPEN_SFT 3 1407*4882a593Smuzhiyun #define RG_AUDADC1STSTAGELPEN_MASK 0x1 1408*4882a593Smuzhiyun #define RG_AUDADC1STSTAGELPEN_MASK_SFT (0x1 << 3) 1409*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGELPEN_SFT 4 1410*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGELPEN_MASK 0x1 1411*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGELPEN_MASK_SFT (0x1 << 4) 1412*4882a593Smuzhiyun #define RG_AUDADCFLASHLPEN_SFT 5 1413*4882a593Smuzhiyun #define RG_AUDADCFLASHLPEN_MASK 0x1 1414*4882a593Smuzhiyun #define RG_AUDADCFLASHLPEN_MASK_SFT (0x1 << 5) 1415*4882a593Smuzhiyun #define RG_AUDPREAMPIDDTEST_SFT 6 1416*4882a593Smuzhiyun #define RG_AUDPREAMPIDDTEST_MASK 0x3 1417*4882a593Smuzhiyun #define RG_AUDPREAMPIDDTEST_MASK_SFT (0x3 << 6) 1418*4882a593Smuzhiyun #define RG_AUDADC1STSTAGEIDDTEST_SFT 8 1419*4882a593Smuzhiyun #define RG_AUDADC1STSTAGEIDDTEST_MASK 0x3 1420*4882a593Smuzhiyun #define RG_AUDADC1STSTAGEIDDTEST_MASK_SFT (0x3 << 8) 1421*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGEIDDTEST_SFT 10 1422*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGEIDDTEST_MASK 0x3 1423*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGEIDDTEST_MASK_SFT (0x3 << 10) 1424*4882a593Smuzhiyun #define RG_AUDADCREFBUFIDDTEST_SFT 12 1425*4882a593Smuzhiyun #define RG_AUDADCREFBUFIDDTEST_MASK 0x3 1426*4882a593Smuzhiyun #define RG_AUDADCREFBUFIDDTEST_MASK_SFT (0x3 << 12) 1427*4882a593Smuzhiyun #define RG_AUDADCFLASHIDDTEST_SFT 14 1428*4882a593Smuzhiyun #define RG_AUDADCFLASHIDDTEST_MASK 0x3 1429*4882a593Smuzhiyun #define RG_AUDADCFLASHIDDTEST_MASK_SFT (0x3 << 14) 1430*4882a593Smuzhiyun 1431*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON3 */ 1432*4882a593Smuzhiyun #define RG_AUDADCDAC0P25FS_SFT 0 1433*4882a593Smuzhiyun #define RG_AUDADCDAC0P25FS_MASK 0x1 1434*4882a593Smuzhiyun #define RG_AUDADCDAC0P25FS_MASK_SFT (0x1 << 0) 1435*4882a593Smuzhiyun #define RG_AUDADCCLKSEL_SFT 1 1436*4882a593Smuzhiyun #define RG_AUDADCCLKSEL_MASK 0x1 1437*4882a593Smuzhiyun #define RG_AUDADCCLKSEL_MASK_SFT (0x1 << 1) 1438*4882a593Smuzhiyun #define RG_AUDADCCLKSOURCE_SFT 2 1439*4882a593Smuzhiyun #define RG_AUDADCCLKSOURCE_MASK 0x3 1440*4882a593Smuzhiyun #define RG_AUDADCCLKSOURCE_MASK_SFT (0x3 << 2) 1441*4882a593Smuzhiyun #define RG_AUDPREAMPAAFEN_SFT 8 1442*4882a593Smuzhiyun #define RG_AUDPREAMPAAFEN_MASK 0x1 1443*4882a593Smuzhiyun #define RG_AUDPREAMPAAFEN_MASK_SFT (0x1 << 8) 1444*4882a593Smuzhiyun #define RG_DCCVCMBUFLPMODSEL_SFT 9 1445*4882a593Smuzhiyun #define RG_DCCVCMBUFLPMODSEL_MASK 0x1 1446*4882a593Smuzhiyun #define RG_DCCVCMBUFLPMODSEL_MASK_SFT (0x1 << 9) 1447*4882a593Smuzhiyun #define RG_DCCVCMBUFLPSWEN_SFT 10 1448*4882a593Smuzhiyun #define RG_DCCVCMBUFLPSWEN_MASK 0x1 1449*4882a593Smuzhiyun #define RG_DCCVCMBUFLPSWEN_MASK_SFT (0x1 << 10) 1450*4882a593Smuzhiyun #define RG_CMSTBENH_SFT 11 1451*4882a593Smuzhiyun #define RG_CMSTBENH_MASK 0x1 1452*4882a593Smuzhiyun #define RG_CMSTBENH_MASK_SFT (0x1 << 11) 1453*4882a593Smuzhiyun #define RG_PGABODYSW_SFT 12 1454*4882a593Smuzhiyun #define RG_PGABODYSW_MASK 0x1 1455*4882a593Smuzhiyun #define RG_PGABODYSW_MASK_SFT (0x1 << 12) 1456*4882a593Smuzhiyun 1457*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON4 */ 1458*4882a593Smuzhiyun #define RG_AUDADC1STSTAGESDENB_SFT 0 1459*4882a593Smuzhiyun #define RG_AUDADC1STSTAGESDENB_MASK 0x1 1460*4882a593Smuzhiyun #define RG_AUDADC1STSTAGESDENB_MASK_SFT (0x1 << 0) 1461*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGERESET_SFT 1 1462*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGERESET_MASK 0x1 1463*4882a593Smuzhiyun #define RG_AUDADC2NDSTAGERESET_MASK_SFT (0x1 << 1) 1464*4882a593Smuzhiyun #define RG_AUDADC3RDSTAGERESET_SFT 2 1465*4882a593Smuzhiyun #define RG_AUDADC3RDSTAGERESET_MASK 0x1 1466*4882a593Smuzhiyun #define RG_AUDADC3RDSTAGERESET_MASK_SFT (0x1 << 2) 1467*4882a593Smuzhiyun #define RG_AUDADCFSRESET_SFT 3 1468*4882a593Smuzhiyun #define RG_AUDADCFSRESET_MASK 0x1 1469*4882a593Smuzhiyun #define RG_AUDADCFSRESET_MASK_SFT (0x1 << 3) 1470*4882a593Smuzhiyun #define RG_AUDADCWIDECM_SFT 4 1471*4882a593Smuzhiyun #define RG_AUDADCWIDECM_MASK 0x1 1472*4882a593Smuzhiyun #define RG_AUDADCWIDECM_MASK_SFT (0x1 << 4) 1473*4882a593Smuzhiyun #define RG_AUDADCNOPATEST_SFT 5 1474*4882a593Smuzhiyun #define RG_AUDADCNOPATEST_MASK 0x1 1475*4882a593Smuzhiyun #define RG_AUDADCNOPATEST_MASK_SFT (0x1 << 5) 1476*4882a593Smuzhiyun #define RG_AUDADCBYPASS_SFT 6 1477*4882a593Smuzhiyun #define RG_AUDADCBYPASS_MASK 0x1 1478*4882a593Smuzhiyun #define RG_AUDADCBYPASS_MASK_SFT (0x1 << 6) 1479*4882a593Smuzhiyun #define RG_AUDADCFFBYPASS_SFT 7 1480*4882a593Smuzhiyun #define RG_AUDADCFFBYPASS_MASK 0x1 1481*4882a593Smuzhiyun #define RG_AUDADCFFBYPASS_MASK_SFT (0x1 << 7) 1482*4882a593Smuzhiyun #define RG_AUDADCDACFBCURRENT_SFT 8 1483*4882a593Smuzhiyun #define RG_AUDADCDACFBCURRENT_MASK 0x1 1484*4882a593Smuzhiyun #define RG_AUDADCDACFBCURRENT_MASK_SFT (0x1 << 8) 1485*4882a593Smuzhiyun #define RG_AUDADCDACIDDTEST_SFT 9 1486*4882a593Smuzhiyun #define RG_AUDADCDACIDDTEST_MASK 0x3 1487*4882a593Smuzhiyun #define RG_AUDADCDACIDDTEST_MASK_SFT (0x3 << 9) 1488*4882a593Smuzhiyun #define RG_AUDADCDACNRZ_SFT 11 1489*4882a593Smuzhiyun #define RG_AUDADCDACNRZ_MASK 0x1 1490*4882a593Smuzhiyun #define RG_AUDADCDACNRZ_MASK_SFT (0x1 << 11) 1491*4882a593Smuzhiyun #define RG_AUDADCNODEM_SFT 12 1492*4882a593Smuzhiyun #define RG_AUDADCNODEM_MASK 0x1 1493*4882a593Smuzhiyun #define RG_AUDADCNODEM_MASK_SFT (0x1 << 12) 1494*4882a593Smuzhiyun #define RG_AUDADCDACTEST_SFT 13 1495*4882a593Smuzhiyun #define RG_AUDADCDACTEST_MASK 0x1 1496*4882a593Smuzhiyun #define RG_AUDADCDACTEST_MASK_SFT (0x1 << 13) 1497*4882a593Smuzhiyun 1498*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON5 */ 1499*4882a593Smuzhiyun #define RG_AUDRCTUNEL_SFT 0 1500*4882a593Smuzhiyun #define RG_AUDRCTUNEL_MASK 0x1f 1501*4882a593Smuzhiyun #define RG_AUDRCTUNEL_MASK_SFT (0x1f << 0) 1502*4882a593Smuzhiyun #define RG_AUDRCTUNELSEL_SFT 5 1503*4882a593Smuzhiyun #define RG_AUDRCTUNELSEL_MASK 0x1 1504*4882a593Smuzhiyun #define RG_AUDRCTUNELSEL_MASK_SFT (0x1 << 5) 1505*4882a593Smuzhiyun #define RG_AUDRCTUNER_SFT 8 1506*4882a593Smuzhiyun #define RG_AUDRCTUNER_MASK 0x1f 1507*4882a593Smuzhiyun #define RG_AUDRCTUNER_MASK_SFT (0x1f << 8) 1508*4882a593Smuzhiyun #define RG_AUDRCTUNERSEL_SFT 13 1509*4882a593Smuzhiyun #define RG_AUDRCTUNERSEL_MASK 0x1 1510*4882a593Smuzhiyun #define RG_AUDRCTUNERSEL_MASK_SFT (0x1 << 13) 1511*4882a593Smuzhiyun 1512*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON6 */ 1513*4882a593Smuzhiyun #define RG_CLKSQ_EN_SFT 0 1514*4882a593Smuzhiyun #define RG_CLKSQ_EN_MASK 0x1 1515*4882a593Smuzhiyun #define RG_CLKSQ_EN_MASK_SFT (0x1 << 0) 1516*4882a593Smuzhiyun #define RG_CLKSQ_IN_SEL_TEST_SFT 1 1517*4882a593Smuzhiyun #define RG_CLKSQ_IN_SEL_TEST_MASK 0x1 1518*4882a593Smuzhiyun #define RG_CLKSQ_IN_SEL_TEST_MASK_SFT (0x1 << 1) 1519*4882a593Smuzhiyun #define RG_CM_REFGENSEL_SFT 2 1520*4882a593Smuzhiyun #define RG_CM_REFGENSEL_MASK 0x1 1521*4882a593Smuzhiyun #define RG_CM_REFGENSEL_MASK_SFT (0x1 << 2) 1522*4882a593Smuzhiyun #define RG_AUDSPARE_SFT 4 1523*4882a593Smuzhiyun #define RG_AUDSPARE_MASK 0xf 1524*4882a593Smuzhiyun #define RG_AUDSPARE_MASK_SFT (0xf << 4) 1525*4882a593Smuzhiyun #define RG_AUDENCSPARE_SFT 8 1526*4882a593Smuzhiyun #define RG_AUDENCSPARE_MASK 0x3f 1527*4882a593Smuzhiyun #define RG_AUDENCSPARE_MASK_SFT (0x3f << 8) 1528*4882a593Smuzhiyun 1529*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON7 */ 1530*4882a593Smuzhiyun #define RG_AUDENCSPARE2_SFT 0 1531*4882a593Smuzhiyun #define RG_AUDENCSPARE2_MASK 0xff 1532*4882a593Smuzhiyun #define RG_AUDENCSPARE2_MASK_SFT (0xff << 0) 1533*4882a593Smuzhiyun 1534*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON8 */ 1535*4882a593Smuzhiyun #define RG_AUDDIGMICEN_SFT 0 1536*4882a593Smuzhiyun #define RG_AUDDIGMICEN_MASK 0x1 1537*4882a593Smuzhiyun #define RG_AUDDIGMICEN_MASK_SFT (0x1 << 0) 1538*4882a593Smuzhiyun #define RG_AUDDIGMICBIAS_SFT 1 1539*4882a593Smuzhiyun #define RG_AUDDIGMICBIAS_MASK 0x3 1540*4882a593Smuzhiyun #define RG_AUDDIGMICBIAS_MASK_SFT (0x3 << 1) 1541*4882a593Smuzhiyun #define RG_DMICHPCLKEN_SFT 3 1542*4882a593Smuzhiyun #define RG_DMICHPCLKEN_MASK 0x1 1543*4882a593Smuzhiyun #define RG_DMICHPCLKEN_MASK_SFT (0x1 << 3) 1544*4882a593Smuzhiyun #define RG_AUDDIGMICPDUTY_SFT 4 1545*4882a593Smuzhiyun #define RG_AUDDIGMICPDUTY_MASK 0x3 1546*4882a593Smuzhiyun #define RG_AUDDIGMICPDUTY_MASK_SFT (0x3 << 4) 1547*4882a593Smuzhiyun #define RG_AUDDIGMICNDUTY_SFT 6 1548*4882a593Smuzhiyun #define RG_AUDDIGMICNDUTY_MASK 0x3 1549*4882a593Smuzhiyun #define RG_AUDDIGMICNDUTY_MASK_SFT (0x3 << 6) 1550*4882a593Smuzhiyun #define RG_DMICMONEN_SFT 8 1551*4882a593Smuzhiyun #define RG_DMICMONEN_MASK 0x1 1552*4882a593Smuzhiyun #define RG_DMICMONEN_MASK_SFT (0x1 << 8) 1553*4882a593Smuzhiyun #define RG_DMICMONSEL_SFT 9 1554*4882a593Smuzhiyun #define RG_DMICMONSEL_MASK 0x7 1555*4882a593Smuzhiyun #define RG_DMICMONSEL_MASK_SFT (0x7 << 9) 1556*4882a593Smuzhiyun #define RG_AUDSPAREVMIC_SFT 12 1557*4882a593Smuzhiyun #define RG_AUDSPAREVMIC_MASK 0xf 1558*4882a593Smuzhiyun #define RG_AUDSPAREVMIC_MASK_SFT (0xf << 12) 1559*4882a593Smuzhiyun 1560*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON9 */ 1561*4882a593Smuzhiyun #define RG_AUDPWDBMICBIAS0_SFT 0 1562*4882a593Smuzhiyun #define RG_AUDPWDBMICBIAS0_MASK 0x1 1563*4882a593Smuzhiyun #define RG_AUDPWDBMICBIAS0_MASK_SFT (0x1 << 0) 1564*4882a593Smuzhiyun #define RG_AUDMICBIAS0BYPASSEN_SFT 1 1565*4882a593Smuzhiyun #define RG_AUDMICBIAS0BYPASSEN_MASK 0x1 1566*4882a593Smuzhiyun #define RG_AUDMICBIAS0BYPASSEN_MASK_SFT (0x1 << 1) 1567*4882a593Smuzhiyun #define RG_AUDMICBIAS0LOWPEN_SFT 2 1568*4882a593Smuzhiyun #define RG_AUDMICBIAS0LOWPEN_MASK 0x1 1569*4882a593Smuzhiyun #define RG_AUDMICBIAS0LOWPEN_MASK_SFT (0x1 << 2) 1570*4882a593Smuzhiyun #define RG_AUDMICBIAS0VREF_SFT 4 1571*4882a593Smuzhiyun #define RG_AUDMICBIAS0VREF_MASK 0x7 1572*4882a593Smuzhiyun #define RG_AUDMICBIAS0VREF_MASK_SFT (0x7 << 4) 1573*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0P1EN_SFT 8 1574*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0P1EN_MASK 0x1 1575*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0P1EN_MASK_SFT (0x1 << 8) 1576*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0P2EN_SFT 9 1577*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0P2EN_MASK 0x1 1578*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0P2EN_MASK_SFT (0x1 << 9) 1579*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0NEN_SFT 10 1580*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0NEN_MASK 0x1 1581*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW0NEN_MASK_SFT (0x1 << 10) 1582*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2P1EN_SFT 12 1583*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2P1EN_MASK 0x1 1584*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2P1EN_MASK_SFT (0x1 << 12) 1585*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2P2EN_SFT 13 1586*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2P2EN_MASK 0x1 1587*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2P2EN_MASK_SFT (0x1 << 13) 1588*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2NEN_SFT 14 1589*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2NEN_MASK 0x1 1590*4882a593Smuzhiyun #define RG_AUDMICBIAS0DCSW2NEN_MASK_SFT (0x1 << 14) 1591*4882a593Smuzhiyun 1592*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON10 */ 1593*4882a593Smuzhiyun #define RG_AUDPWDBMICBIAS1_SFT 0 1594*4882a593Smuzhiyun #define RG_AUDPWDBMICBIAS1_MASK 0x1 1595*4882a593Smuzhiyun #define RG_AUDPWDBMICBIAS1_MASK_SFT (0x1 << 0) 1596*4882a593Smuzhiyun #define RG_AUDMICBIAS1BYPASSEN_SFT 1 1597*4882a593Smuzhiyun #define RG_AUDMICBIAS1BYPASSEN_MASK 0x1 1598*4882a593Smuzhiyun #define RG_AUDMICBIAS1BYPASSEN_MASK_SFT (0x1 << 1) 1599*4882a593Smuzhiyun #define RG_AUDMICBIAS1LOWPEN_SFT 2 1600*4882a593Smuzhiyun #define RG_AUDMICBIAS1LOWPEN_MASK 0x1 1601*4882a593Smuzhiyun #define RG_AUDMICBIAS1LOWPEN_MASK_SFT (0x1 << 2) 1602*4882a593Smuzhiyun #define RG_AUDMICBIAS1VREF_SFT 4 1603*4882a593Smuzhiyun #define RG_AUDMICBIAS1VREF_MASK 0x7 1604*4882a593Smuzhiyun #define RG_AUDMICBIAS1VREF_MASK_SFT (0x7 << 4) 1605*4882a593Smuzhiyun #define RG_AUDMICBIAS1DCSW1PEN_SFT 8 1606*4882a593Smuzhiyun #define RG_AUDMICBIAS1DCSW1PEN_MASK 0x1 1607*4882a593Smuzhiyun #define RG_AUDMICBIAS1DCSW1PEN_MASK_SFT (0x1 << 8) 1608*4882a593Smuzhiyun #define RG_AUDMICBIAS1DCSW1NEN_SFT 9 1609*4882a593Smuzhiyun #define RG_AUDMICBIAS1DCSW1NEN_MASK 0x1 1610*4882a593Smuzhiyun #define RG_AUDMICBIAS1DCSW1NEN_MASK_SFT (0x1 << 9) 1611*4882a593Smuzhiyun #define RG_BANDGAPGEN_SFT 12 1612*4882a593Smuzhiyun #define RG_BANDGAPGEN_MASK 0x1 1613*4882a593Smuzhiyun #define RG_BANDGAPGEN_MASK_SFT (0x1 << 12) 1614*4882a593Smuzhiyun #define RG_MTEST_EN_SFT 13 1615*4882a593Smuzhiyun #define RG_MTEST_EN_MASK 0x1 1616*4882a593Smuzhiyun #define RG_MTEST_EN_MASK_SFT (0x1 << 13) 1617*4882a593Smuzhiyun #define RG_MTEST_SEL_SFT 14 1618*4882a593Smuzhiyun #define RG_MTEST_SEL_MASK 0x1 1619*4882a593Smuzhiyun #define RG_MTEST_SEL_MASK_SFT (0x1 << 14) 1620*4882a593Smuzhiyun #define RG_MTEST_CURRENT_SFT 15 1621*4882a593Smuzhiyun #define RG_MTEST_CURRENT_MASK 0x1 1622*4882a593Smuzhiyun #define RG_MTEST_CURRENT_MASK_SFT (0x1 << 15) 1623*4882a593Smuzhiyun 1624*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON11 */ 1625*4882a593Smuzhiyun #define RG_AUDACCDETMICBIAS0PULLLOW_SFT 0 1626*4882a593Smuzhiyun #define RG_AUDACCDETMICBIAS0PULLLOW_MASK 0x1 1627*4882a593Smuzhiyun #define RG_AUDACCDETMICBIAS0PULLLOW_MASK_SFT (0x1 << 0) 1628*4882a593Smuzhiyun #define RG_AUDACCDETMICBIAS1PULLLOW_SFT 1 1629*4882a593Smuzhiyun #define RG_AUDACCDETMICBIAS1PULLLOW_MASK 0x1 1630*4882a593Smuzhiyun #define RG_AUDACCDETMICBIAS1PULLLOW_MASK_SFT (0x1 << 1) 1631*4882a593Smuzhiyun #define RG_AUDACCDETVIN1PULLLOW_SFT 2 1632*4882a593Smuzhiyun #define RG_AUDACCDETVIN1PULLLOW_MASK 0x1 1633*4882a593Smuzhiyun #define RG_AUDACCDETVIN1PULLLOW_MASK_SFT (0x1 << 2) 1634*4882a593Smuzhiyun #define RG_AUDACCDETVTHACAL_SFT 4 1635*4882a593Smuzhiyun #define RG_AUDACCDETVTHACAL_MASK 0x1 1636*4882a593Smuzhiyun #define RG_AUDACCDETVTHACAL_MASK_SFT (0x1 << 4) 1637*4882a593Smuzhiyun #define RG_AUDACCDETVTHBCAL_SFT 5 1638*4882a593Smuzhiyun #define RG_AUDACCDETVTHBCAL_MASK 0x1 1639*4882a593Smuzhiyun #define RG_AUDACCDETVTHBCAL_MASK_SFT (0x1 << 5) 1640*4882a593Smuzhiyun #define RG_AUDACCDETTVDET_SFT 6 1641*4882a593Smuzhiyun #define RG_AUDACCDETTVDET_MASK 0x1 1642*4882a593Smuzhiyun #define RG_AUDACCDETTVDET_MASK_SFT (0x1 << 6) 1643*4882a593Smuzhiyun #define RG_ACCDETSEL_SFT 7 1644*4882a593Smuzhiyun #define RG_ACCDETSEL_MASK 0x1 1645*4882a593Smuzhiyun #define RG_ACCDETSEL_MASK_SFT (0x1 << 7) 1646*4882a593Smuzhiyun #define RG_SWBUFMODSEL_SFT 8 1647*4882a593Smuzhiyun #define RG_SWBUFMODSEL_MASK 0x1 1648*4882a593Smuzhiyun #define RG_SWBUFMODSEL_MASK_SFT (0x1 << 8) 1649*4882a593Smuzhiyun #define RG_SWBUFSWEN_SFT 9 1650*4882a593Smuzhiyun #define RG_SWBUFSWEN_MASK 0x1 1651*4882a593Smuzhiyun #define RG_SWBUFSWEN_MASK_SFT (0x1 << 9) 1652*4882a593Smuzhiyun #define RG_EINTCOMPVTH_SFT 10 1653*4882a593Smuzhiyun #define RG_EINTCOMPVTH_MASK 0x1 1654*4882a593Smuzhiyun #define RG_EINTCOMPVTH_MASK_SFT (0x1 << 10) 1655*4882a593Smuzhiyun #define RG_EINTCONFIGACCDET_SFT 11 1656*4882a593Smuzhiyun #define RG_EINTCONFIGACCDET_MASK 0x1 1657*4882a593Smuzhiyun #define RG_EINTCONFIGACCDET_MASK_SFT (0x1 << 11) 1658*4882a593Smuzhiyun #define RG_EINTHIRENB_SFT 12 1659*4882a593Smuzhiyun #define RG_EINTHIRENB_MASK 0x1 1660*4882a593Smuzhiyun #define RG_EINTHIRENB_MASK_SFT (0x1 << 12) 1661*4882a593Smuzhiyun #define RG_ACCDET2AUXRESBYPASS_SFT 13 1662*4882a593Smuzhiyun #define RG_ACCDET2AUXRESBYPASS_MASK 0x1 1663*4882a593Smuzhiyun #define RG_ACCDET2AUXRESBYPASS_MASK_SFT (0x1 << 13) 1664*4882a593Smuzhiyun #define RG_ACCDET2AUXBUFFERBYPASS_SFT 14 1665*4882a593Smuzhiyun #define RG_ACCDET2AUXBUFFERBYPASS_MASK 0x1 1666*4882a593Smuzhiyun #define RG_ACCDET2AUXBUFFERBYPASS_MASK_SFT (0x1 << 14) 1667*4882a593Smuzhiyun #define RG_ACCDET2AUXSWEN_SFT 15 1668*4882a593Smuzhiyun #define RG_ACCDET2AUXSWEN_MASK 0x1 1669*4882a593Smuzhiyun #define RG_ACCDET2AUXSWEN_MASK_SFT (0x1 << 15) 1670*4882a593Smuzhiyun 1671*4882a593Smuzhiyun /* MT6358_AUDENC_ANA_CON12 */ 1672*4882a593Smuzhiyun #define RGS_AUDRCTUNELREAD_SFT 0 1673*4882a593Smuzhiyun #define RGS_AUDRCTUNELREAD_MASK 0x1f 1674*4882a593Smuzhiyun #define RGS_AUDRCTUNELREAD_MASK_SFT (0x1f << 0) 1675*4882a593Smuzhiyun #define RGS_AUDRCTUNERREAD_SFT 8 1676*4882a593Smuzhiyun #define RGS_AUDRCTUNERREAD_MASK 0x1f 1677*4882a593Smuzhiyun #define RGS_AUDRCTUNERREAD_MASK_SFT (0x1f << 8) 1678*4882a593Smuzhiyun 1679*4882a593Smuzhiyun /* MT6358_AUDDEC_DSN_ID */ 1680*4882a593Smuzhiyun #define AUDDEC_ANA_ID_SFT 0 1681*4882a593Smuzhiyun #define AUDDEC_ANA_ID_MASK 0xff 1682*4882a593Smuzhiyun #define AUDDEC_ANA_ID_MASK_SFT (0xff << 0) 1683*4882a593Smuzhiyun #define AUDDEC_DIG_ID_SFT 8 1684*4882a593Smuzhiyun #define AUDDEC_DIG_ID_MASK 0xff 1685*4882a593Smuzhiyun #define AUDDEC_DIG_ID_MASK_SFT (0xff << 8) 1686*4882a593Smuzhiyun 1687*4882a593Smuzhiyun /* MT6358_AUDDEC_DSN_REV0 */ 1688*4882a593Smuzhiyun #define AUDDEC_ANA_MINOR_REV_SFT 0 1689*4882a593Smuzhiyun #define AUDDEC_ANA_MINOR_REV_MASK 0xf 1690*4882a593Smuzhiyun #define AUDDEC_ANA_MINOR_REV_MASK_SFT (0xf << 0) 1691*4882a593Smuzhiyun #define AUDDEC_ANA_MAJOR_REV_SFT 4 1692*4882a593Smuzhiyun #define AUDDEC_ANA_MAJOR_REV_MASK 0xf 1693*4882a593Smuzhiyun #define AUDDEC_ANA_MAJOR_REV_MASK_SFT (0xf << 4) 1694*4882a593Smuzhiyun #define AUDDEC_DIG_MINOR_REV_SFT 8 1695*4882a593Smuzhiyun #define AUDDEC_DIG_MINOR_REV_MASK 0xf 1696*4882a593Smuzhiyun #define AUDDEC_DIG_MINOR_REV_MASK_SFT (0xf << 8) 1697*4882a593Smuzhiyun #define AUDDEC_DIG_MAJOR_REV_SFT 12 1698*4882a593Smuzhiyun #define AUDDEC_DIG_MAJOR_REV_MASK 0xf 1699*4882a593Smuzhiyun #define AUDDEC_DIG_MAJOR_REV_MASK_SFT (0xf << 12) 1700*4882a593Smuzhiyun 1701*4882a593Smuzhiyun /* MT6358_AUDDEC_DSN_DBI */ 1702*4882a593Smuzhiyun #define AUDDEC_DSN_CBS_SFT 0 1703*4882a593Smuzhiyun #define AUDDEC_DSN_CBS_MASK 0x3 1704*4882a593Smuzhiyun #define AUDDEC_DSN_CBS_MASK_SFT (0x3 << 0) 1705*4882a593Smuzhiyun #define AUDDEC_DSN_BIX_SFT 2 1706*4882a593Smuzhiyun #define AUDDEC_DSN_BIX_MASK 0x3 1707*4882a593Smuzhiyun #define AUDDEC_DSN_BIX_MASK_SFT (0x3 << 2) 1708*4882a593Smuzhiyun #define AUDDEC_DSN_ESP_SFT 8 1709*4882a593Smuzhiyun #define AUDDEC_DSN_ESP_MASK 0xff 1710*4882a593Smuzhiyun #define AUDDEC_DSN_ESP_MASK_SFT (0xff << 8) 1711*4882a593Smuzhiyun 1712*4882a593Smuzhiyun /* MT6358_AUDDEC_DSN_FPI */ 1713*4882a593Smuzhiyun #define AUDDEC_DSN_FPI_SFT 0 1714*4882a593Smuzhiyun #define AUDDEC_DSN_FPI_MASK 0xff 1715*4882a593Smuzhiyun #define AUDDEC_DSN_FPI_MASK_SFT (0xff << 0) 1716*4882a593Smuzhiyun 1717*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON0 */ 1718*4882a593Smuzhiyun #define RG_AUDDACLPWRUP_VAUDP15_SFT 0 1719*4882a593Smuzhiyun #define RG_AUDDACLPWRUP_VAUDP15_MASK 0x1 1720*4882a593Smuzhiyun #define RG_AUDDACLPWRUP_VAUDP15_MASK_SFT (0x1 << 0) 1721*4882a593Smuzhiyun #define RG_AUDDACRPWRUP_VAUDP15_SFT 1 1722*4882a593Smuzhiyun #define RG_AUDDACRPWRUP_VAUDP15_MASK 0x1 1723*4882a593Smuzhiyun #define RG_AUDDACRPWRUP_VAUDP15_MASK_SFT (0x1 << 1) 1724*4882a593Smuzhiyun #define RG_AUD_DAC_PWR_UP_VA28_SFT 2 1725*4882a593Smuzhiyun #define RG_AUD_DAC_PWR_UP_VA28_MASK 0x1 1726*4882a593Smuzhiyun #define RG_AUD_DAC_PWR_UP_VA28_MASK_SFT (0x1 << 2) 1727*4882a593Smuzhiyun #define RG_AUD_DAC_PWL_UP_VA28_SFT 3 1728*4882a593Smuzhiyun #define RG_AUD_DAC_PWL_UP_VA28_MASK 0x1 1729*4882a593Smuzhiyun #define RG_AUD_DAC_PWL_UP_VA28_MASK_SFT (0x1 << 3) 1730*4882a593Smuzhiyun #define RG_AUDHPLPWRUP_VAUDP15_SFT 4 1731*4882a593Smuzhiyun #define RG_AUDHPLPWRUP_VAUDP15_MASK 0x1 1732*4882a593Smuzhiyun #define RG_AUDHPLPWRUP_VAUDP15_MASK_SFT (0x1 << 4) 1733*4882a593Smuzhiyun #define RG_AUDHPRPWRUP_VAUDP15_SFT 5 1734*4882a593Smuzhiyun #define RG_AUDHPRPWRUP_VAUDP15_MASK 0x1 1735*4882a593Smuzhiyun #define RG_AUDHPRPWRUP_VAUDP15_MASK_SFT (0x1 << 5) 1736*4882a593Smuzhiyun #define RG_AUDHPLPWRUP_IBIAS_VAUDP15_SFT 6 1737*4882a593Smuzhiyun #define RG_AUDHPLPWRUP_IBIAS_VAUDP15_MASK 0x1 1738*4882a593Smuzhiyun #define RG_AUDHPLPWRUP_IBIAS_VAUDP15_MASK_SFT (0x1 << 6) 1739*4882a593Smuzhiyun #define RG_AUDHPRPWRUP_IBIAS_VAUDP15_SFT 7 1740*4882a593Smuzhiyun #define RG_AUDHPRPWRUP_IBIAS_VAUDP15_MASK 0x1 1741*4882a593Smuzhiyun #define RG_AUDHPRPWRUP_IBIAS_VAUDP15_MASK_SFT (0x1 << 7) 1742*4882a593Smuzhiyun #define RG_AUDHPLMUXINPUTSEL_VAUDP15_SFT 8 1743*4882a593Smuzhiyun #define RG_AUDHPLMUXINPUTSEL_VAUDP15_MASK 0x3 1744*4882a593Smuzhiyun #define RG_AUDHPLMUXINPUTSEL_VAUDP15_MASK_SFT (0x3 << 8) 1745*4882a593Smuzhiyun #define RG_AUDHPRMUXINPUTSEL_VAUDP15_SFT 10 1746*4882a593Smuzhiyun #define RG_AUDHPRMUXINPUTSEL_VAUDP15_MASK 0x3 1747*4882a593Smuzhiyun #define RG_AUDHPRMUXINPUTSEL_VAUDP15_MASK_SFT (0x3 << 10) 1748*4882a593Smuzhiyun #define RG_AUDHPLSCDISABLE_VAUDP15_SFT 12 1749*4882a593Smuzhiyun #define RG_AUDHPLSCDISABLE_VAUDP15_MASK 0x1 1750*4882a593Smuzhiyun #define RG_AUDHPLSCDISABLE_VAUDP15_MASK_SFT (0x1 << 12) 1751*4882a593Smuzhiyun #define RG_AUDHPRSCDISABLE_VAUDP15_SFT 13 1752*4882a593Smuzhiyun #define RG_AUDHPRSCDISABLE_VAUDP15_MASK 0x1 1753*4882a593Smuzhiyun #define RG_AUDHPRSCDISABLE_VAUDP15_MASK_SFT (0x1 << 13) 1754*4882a593Smuzhiyun #define RG_AUDHPLBSCCURRENT_VAUDP15_SFT 14 1755*4882a593Smuzhiyun #define RG_AUDHPLBSCCURRENT_VAUDP15_MASK 0x1 1756*4882a593Smuzhiyun #define RG_AUDHPLBSCCURRENT_VAUDP15_MASK_SFT (0x1 << 14) 1757*4882a593Smuzhiyun #define RG_AUDHPRBSCCURRENT_VAUDP15_SFT 15 1758*4882a593Smuzhiyun #define RG_AUDHPRBSCCURRENT_VAUDP15_MASK 0x1 1759*4882a593Smuzhiyun #define RG_AUDHPRBSCCURRENT_VAUDP15_MASK_SFT (0x1 << 15) 1760*4882a593Smuzhiyun 1761*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON1 */ 1762*4882a593Smuzhiyun #define RG_AUDHPLOUTPWRUP_VAUDP15_SFT 0 1763*4882a593Smuzhiyun #define RG_AUDHPLOUTPWRUP_VAUDP15_MASK 0x1 1764*4882a593Smuzhiyun #define RG_AUDHPLOUTPWRUP_VAUDP15_MASK_SFT (0x1 << 0) 1765*4882a593Smuzhiyun #define RG_AUDHPROUTPWRUP_VAUDP15_SFT 1 1766*4882a593Smuzhiyun #define RG_AUDHPROUTPWRUP_VAUDP15_MASK 0x1 1767*4882a593Smuzhiyun #define RG_AUDHPROUTPWRUP_VAUDP15_MASK_SFT (0x1 << 1) 1768*4882a593Smuzhiyun #define RG_AUDHPLOUTAUXPWRUP_VAUDP15_SFT 2 1769*4882a593Smuzhiyun #define RG_AUDHPLOUTAUXPWRUP_VAUDP15_MASK 0x1 1770*4882a593Smuzhiyun #define RG_AUDHPLOUTAUXPWRUP_VAUDP15_MASK_SFT (0x1 << 2) 1771*4882a593Smuzhiyun #define RG_AUDHPROUTAUXPWRUP_VAUDP15_SFT 3 1772*4882a593Smuzhiyun #define RG_AUDHPROUTAUXPWRUP_VAUDP15_MASK 0x1 1773*4882a593Smuzhiyun #define RG_AUDHPROUTAUXPWRUP_VAUDP15_MASK_SFT (0x1 << 3) 1774*4882a593Smuzhiyun #define RG_HPLAUXFBRSW_EN_VAUDP15_SFT 4 1775*4882a593Smuzhiyun #define RG_HPLAUXFBRSW_EN_VAUDP15_MASK 0x1 1776*4882a593Smuzhiyun #define RG_HPLAUXFBRSW_EN_VAUDP15_MASK_SFT (0x1 << 4) 1777*4882a593Smuzhiyun #define RG_HPRAUXFBRSW_EN_VAUDP15_SFT 5 1778*4882a593Smuzhiyun #define RG_HPRAUXFBRSW_EN_VAUDP15_MASK 0x1 1779*4882a593Smuzhiyun #define RG_HPRAUXFBRSW_EN_VAUDP15_MASK_SFT (0x1 << 5) 1780*4882a593Smuzhiyun #define RG_HPLSHORT2HPLAUX_EN_VAUDP15_SFT 6 1781*4882a593Smuzhiyun #define RG_HPLSHORT2HPLAUX_EN_VAUDP15_MASK 0x1 1782*4882a593Smuzhiyun #define RG_HPLSHORT2HPLAUX_EN_VAUDP15_MASK_SFT (0x1 << 6) 1783*4882a593Smuzhiyun #define RG_HPRSHORT2HPRAUX_EN_VAUDP15_SFT 7 1784*4882a593Smuzhiyun #define RG_HPRSHORT2HPRAUX_EN_VAUDP15_MASK 0x1 1785*4882a593Smuzhiyun #define RG_HPRSHORT2HPRAUX_EN_VAUDP15_MASK_SFT (0x1 << 7) 1786*4882a593Smuzhiyun #define RG_HPLOUTSTGCTRL_VAUDP15_SFT 8 1787*4882a593Smuzhiyun #define RG_HPLOUTSTGCTRL_VAUDP15_MASK 0x7 1788*4882a593Smuzhiyun #define RG_HPLOUTSTGCTRL_VAUDP15_MASK_SFT (0x7 << 8) 1789*4882a593Smuzhiyun #define RG_HPROUTSTGCTRL_VAUDP15_SFT 11 1790*4882a593Smuzhiyun #define RG_HPROUTSTGCTRL_VAUDP15_MASK 0x7 1791*4882a593Smuzhiyun #define RG_HPROUTSTGCTRL_VAUDP15_MASK_SFT (0x7 << 11) 1792*4882a593Smuzhiyun 1793*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON2 */ 1794*4882a593Smuzhiyun #define RG_HPLOUTPUTSTBENH_VAUDP15_SFT 0 1795*4882a593Smuzhiyun #define RG_HPLOUTPUTSTBENH_VAUDP15_MASK 0x7 1796*4882a593Smuzhiyun #define RG_HPLOUTPUTSTBENH_VAUDP15_MASK_SFT (0x7 << 0) 1797*4882a593Smuzhiyun #define RG_HPROUTPUTSTBENH_VAUDP15_SFT 4 1798*4882a593Smuzhiyun #define RG_HPROUTPUTSTBENH_VAUDP15_MASK 0x7 1799*4882a593Smuzhiyun #define RG_HPROUTPUTSTBENH_VAUDP15_MASK_SFT (0x7 << 4) 1800*4882a593Smuzhiyun #define RG_AUDHPSTARTUP_VAUDP15_SFT 13 1801*4882a593Smuzhiyun #define RG_AUDHPSTARTUP_VAUDP15_MASK 0x1 1802*4882a593Smuzhiyun #define RG_AUDHPSTARTUP_VAUDP15_MASK_SFT (0x1 << 13) 1803*4882a593Smuzhiyun #define RG_AUDREFN_DERES_EN_VAUDP15_SFT 14 1804*4882a593Smuzhiyun #define RG_AUDREFN_DERES_EN_VAUDP15_MASK 0x1 1805*4882a593Smuzhiyun #define RG_AUDREFN_DERES_EN_VAUDP15_MASK_SFT (0x1 << 14) 1806*4882a593Smuzhiyun #define RG_HPPSHORT2VCM_VAUDP15_SFT 15 1807*4882a593Smuzhiyun #define RG_HPPSHORT2VCM_VAUDP15_MASK 0x1 1808*4882a593Smuzhiyun #define RG_HPPSHORT2VCM_VAUDP15_MASK_SFT (0x1 << 15) 1809*4882a593Smuzhiyun 1810*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON3 */ 1811*4882a593Smuzhiyun #define RG_HPINPUTSTBENH_VAUDP15_SFT 13 1812*4882a593Smuzhiyun #define RG_HPINPUTSTBENH_VAUDP15_MASK 0x1 1813*4882a593Smuzhiyun #define RG_HPINPUTSTBENH_VAUDP15_MASK_SFT (0x1 << 13) 1814*4882a593Smuzhiyun #define RG_HPINPUTRESET0_VAUDP15_SFT 14 1815*4882a593Smuzhiyun #define RG_HPINPUTRESET0_VAUDP15_MASK 0x1 1816*4882a593Smuzhiyun #define RG_HPINPUTRESET0_VAUDP15_MASK_SFT (0x1 << 14) 1817*4882a593Smuzhiyun #define RG_HPOUTPUTRESET0_VAUDP15_SFT 15 1818*4882a593Smuzhiyun #define RG_HPOUTPUTRESET0_VAUDP15_MASK 0x1 1819*4882a593Smuzhiyun #define RG_HPOUTPUTRESET0_VAUDP15_MASK_SFT (0x1 << 15) 1820*4882a593Smuzhiyun 1821*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON4 */ 1822*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VAUDP28_SFT 0 1823*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VAUDP28_MASK 0xff 1824*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VAUDP28_MASK_SFT (0xff << 0) 1825*4882a593Smuzhiyun 1826*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON5 */ 1827*4882a593Smuzhiyun #define RG_AUDHPDECMGAINADJ_VAUDP15_SFT 0 1828*4882a593Smuzhiyun #define RG_AUDHPDECMGAINADJ_VAUDP15_MASK 0x7 1829*4882a593Smuzhiyun #define RG_AUDHPDECMGAINADJ_VAUDP15_MASK_SFT (0x7 << 0) 1830*4882a593Smuzhiyun #define RG_AUDHPDEDMGAINADJ_VAUDP15_SFT 4 1831*4882a593Smuzhiyun #define RG_AUDHPDEDMGAINADJ_VAUDP15_MASK 0x7 1832*4882a593Smuzhiyun #define RG_AUDHPDEDMGAINADJ_VAUDP15_MASK_SFT (0x7 << 4) 1833*4882a593Smuzhiyun 1834*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON6 */ 1835*4882a593Smuzhiyun #define RG_AUDHSPWRUP_VAUDP15_SFT 0 1836*4882a593Smuzhiyun #define RG_AUDHSPWRUP_VAUDP15_MASK 0x1 1837*4882a593Smuzhiyun #define RG_AUDHSPWRUP_VAUDP15_MASK_SFT (0x1 << 0) 1838*4882a593Smuzhiyun #define RG_AUDHSPWRUP_IBIAS_VAUDP15_SFT 1 1839*4882a593Smuzhiyun #define RG_AUDHSPWRUP_IBIAS_VAUDP15_MASK 0x1 1840*4882a593Smuzhiyun #define RG_AUDHSPWRUP_IBIAS_VAUDP15_MASK_SFT (0x1 << 1) 1841*4882a593Smuzhiyun #define RG_AUDHSMUXINPUTSEL_VAUDP15_SFT 2 1842*4882a593Smuzhiyun #define RG_AUDHSMUXINPUTSEL_VAUDP15_MASK 0x3 1843*4882a593Smuzhiyun #define RG_AUDHSMUXINPUTSEL_VAUDP15_MASK_SFT (0x3 << 2) 1844*4882a593Smuzhiyun #define RG_AUDHSSCDISABLE_VAUDP15_SFT 4 1845*4882a593Smuzhiyun #define RG_AUDHSSCDISABLE_VAUDP15_MASK 0x1 1846*4882a593Smuzhiyun #define RG_AUDHSSCDISABLE_VAUDP15_MASK_SFT (0x1 << 4) 1847*4882a593Smuzhiyun #define RG_AUDHSBSCCURRENT_VAUDP15_SFT 5 1848*4882a593Smuzhiyun #define RG_AUDHSBSCCURRENT_VAUDP15_MASK 0x1 1849*4882a593Smuzhiyun #define RG_AUDHSBSCCURRENT_VAUDP15_MASK_SFT (0x1 << 5) 1850*4882a593Smuzhiyun #define RG_AUDHSSTARTUP_VAUDP15_SFT 6 1851*4882a593Smuzhiyun #define RG_AUDHSSTARTUP_VAUDP15_MASK 0x1 1852*4882a593Smuzhiyun #define RG_AUDHSSTARTUP_VAUDP15_MASK_SFT (0x1 << 6) 1853*4882a593Smuzhiyun #define RG_HSOUTPUTSTBENH_VAUDP15_SFT 7 1854*4882a593Smuzhiyun #define RG_HSOUTPUTSTBENH_VAUDP15_MASK 0x1 1855*4882a593Smuzhiyun #define RG_HSOUTPUTSTBENH_VAUDP15_MASK_SFT (0x1 << 7) 1856*4882a593Smuzhiyun #define RG_HSINPUTSTBENH_VAUDP15_SFT 8 1857*4882a593Smuzhiyun #define RG_HSINPUTSTBENH_VAUDP15_MASK 0x1 1858*4882a593Smuzhiyun #define RG_HSINPUTSTBENH_VAUDP15_MASK_SFT (0x1 << 8) 1859*4882a593Smuzhiyun #define RG_HSINPUTRESET0_VAUDP15_SFT 9 1860*4882a593Smuzhiyun #define RG_HSINPUTRESET0_VAUDP15_MASK 0x1 1861*4882a593Smuzhiyun #define RG_HSINPUTRESET0_VAUDP15_MASK_SFT (0x1 << 9) 1862*4882a593Smuzhiyun #define RG_HSOUTPUTRESET0_VAUDP15_SFT 10 1863*4882a593Smuzhiyun #define RG_HSOUTPUTRESET0_VAUDP15_MASK 0x1 1864*4882a593Smuzhiyun #define RG_HSOUTPUTRESET0_VAUDP15_MASK_SFT (0x1 << 10) 1865*4882a593Smuzhiyun #define RG_HSOUT_SHORTVCM_VAUDP15_SFT 11 1866*4882a593Smuzhiyun #define RG_HSOUT_SHORTVCM_VAUDP15_MASK 0x1 1867*4882a593Smuzhiyun #define RG_HSOUT_SHORTVCM_VAUDP15_MASK_SFT (0x1 << 11) 1868*4882a593Smuzhiyun 1869*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON7 */ 1870*4882a593Smuzhiyun #define RG_AUDLOLPWRUP_VAUDP15_SFT 0 1871*4882a593Smuzhiyun #define RG_AUDLOLPWRUP_VAUDP15_MASK 0x1 1872*4882a593Smuzhiyun #define RG_AUDLOLPWRUP_VAUDP15_MASK_SFT (0x1 << 0) 1873*4882a593Smuzhiyun #define RG_AUDLOLPWRUP_IBIAS_VAUDP15_SFT 1 1874*4882a593Smuzhiyun #define RG_AUDLOLPWRUP_IBIAS_VAUDP15_MASK 0x1 1875*4882a593Smuzhiyun #define RG_AUDLOLPWRUP_IBIAS_VAUDP15_MASK_SFT (0x1 << 1) 1876*4882a593Smuzhiyun #define RG_AUDLOLMUXINPUTSEL_VAUDP15_SFT 2 1877*4882a593Smuzhiyun #define RG_AUDLOLMUXINPUTSEL_VAUDP15_MASK 0x3 1878*4882a593Smuzhiyun #define RG_AUDLOLMUXINPUTSEL_VAUDP15_MASK_SFT (0x3 << 2) 1879*4882a593Smuzhiyun #define RG_AUDLOLSCDISABLE_VAUDP15_SFT 4 1880*4882a593Smuzhiyun #define RG_AUDLOLSCDISABLE_VAUDP15_MASK 0x1 1881*4882a593Smuzhiyun #define RG_AUDLOLSCDISABLE_VAUDP15_MASK_SFT (0x1 << 4) 1882*4882a593Smuzhiyun #define RG_AUDLOLBSCCURRENT_VAUDP15_SFT 5 1883*4882a593Smuzhiyun #define RG_AUDLOLBSCCURRENT_VAUDP15_MASK 0x1 1884*4882a593Smuzhiyun #define RG_AUDLOLBSCCURRENT_VAUDP15_MASK_SFT (0x1 << 5) 1885*4882a593Smuzhiyun #define RG_AUDLOSTARTUP_VAUDP15_SFT 6 1886*4882a593Smuzhiyun #define RG_AUDLOSTARTUP_VAUDP15_MASK 0x1 1887*4882a593Smuzhiyun #define RG_AUDLOSTARTUP_VAUDP15_MASK_SFT (0x1 << 6) 1888*4882a593Smuzhiyun #define RG_LOINPUTSTBENH_VAUDP15_SFT 7 1889*4882a593Smuzhiyun #define RG_LOINPUTSTBENH_VAUDP15_MASK 0x1 1890*4882a593Smuzhiyun #define RG_LOINPUTSTBENH_VAUDP15_MASK_SFT (0x1 << 7) 1891*4882a593Smuzhiyun #define RG_LOOUTPUTSTBENH_VAUDP15_SFT 8 1892*4882a593Smuzhiyun #define RG_LOOUTPUTSTBENH_VAUDP15_MASK 0x1 1893*4882a593Smuzhiyun #define RG_LOOUTPUTSTBENH_VAUDP15_MASK_SFT (0x1 << 8) 1894*4882a593Smuzhiyun #define RG_LOINPUTRESET0_VAUDP15_SFT 9 1895*4882a593Smuzhiyun #define RG_LOINPUTRESET0_VAUDP15_MASK 0x1 1896*4882a593Smuzhiyun #define RG_LOINPUTRESET0_VAUDP15_MASK_SFT (0x1 << 9) 1897*4882a593Smuzhiyun #define RG_LOOUTPUTRESET0_VAUDP15_SFT 10 1898*4882a593Smuzhiyun #define RG_LOOUTPUTRESET0_VAUDP15_MASK 0x1 1899*4882a593Smuzhiyun #define RG_LOOUTPUTRESET0_VAUDP15_MASK_SFT (0x1 << 10) 1900*4882a593Smuzhiyun #define RG_LOOUT_SHORTVCM_VAUDP15_SFT 11 1901*4882a593Smuzhiyun #define RG_LOOUT_SHORTVCM_VAUDP15_MASK 0x1 1902*4882a593Smuzhiyun #define RG_LOOUT_SHORTVCM_VAUDP15_MASK_SFT (0x1 << 11) 1903*4882a593Smuzhiyun 1904*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON8 */ 1905*4882a593Smuzhiyun #define RG_AUDTRIMBUF_INPUTMUXSEL_VAUDP15_SFT 0 1906*4882a593Smuzhiyun #define RG_AUDTRIMBUF_INPUTMUXSEL_VAUDP15_MASK 0xf 1907*4882a593Smuzhiyun #define RG_AUDTRIMBUF_INPUTMUXSEL_VAUDP15_MASK_SFT (0xf << 0) 1908*4882a593Smuzhiyun #define RG_AUDTRIMBUF_GAINSEL_VAUDP15_SFT 4 1909*4882a593Smuzhiyun #define RG_AUDTRIMBUF_GAINSEL_VAUDP15_MASK 0x3 1910*4882a593Smuzhiyun #define RG_AUDTRIMBUF_GAINSEL_VAUDP15_MASK_SFT (0x3 << 4) 1911*4882a593Smuzhiyun #define RG_AUDTRIMBUF_EN_VAUDP15_SFT 6 1912*4882a593Smuzhiyun #define RG_AUDTRIMBUF_EN_VAUDP15_MASK 0x1 1913*4882a593Smuzhiyun #define RG_AUDTRIMBUF_EN_VAUDP15_MASK_SFT (0x1 << 6) 1914*4882a593Smuzhiyun #define RG_AUDHPSPKDET_INPUTMUXSEL_VAUDP15_SFT 8 1915*4882a593Smuzhiyun #define RG_AUDHPSPKDET_INPUTMUXSEL_VAUDP15_MASK 0x3 1916*4882a593Smuzhiyun #define RG_AUDHPSPKDET_INPUTMUXSEL_VAUDP15_MASK_SFT (0x3 << 8) 1917*4882a593Smuzhiyun #define RG_AUDHPSPKDET_OUTPUTMUXSEL_VAUDP15_SFT 10 1918*4882a593Smuzhiyun #define RG_AUDHPSPKDET_OUTPUTMUXSEL_VAUDP15_MASK 0x3 1919*4882a593Smuzhiyun #define RG_AUDHPSPKDET_OUTPUTMUXSEL_VAUDP15_MASK_SFT (0x3 << 10) 1920*4882a593Smuzhiyun #define RG_AUDHPSPKDET_EN_VAUDP15_SFT 12 1921*4882a593Smuzhiyun #define RG_AUDHPSPKDET_EN_VAUDP15_MASK 0x1 1922*4882a593Smuzhiyun #define RG_AUDHPSPKDET_EN_VAUDP15_MASK_SFT (0x1 << 12) 1923*4882a593Smuzhiyun 1924*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON9 */ 1925*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VA28_SFT 0 1926*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VA28_MASK 0xff 1927*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VA28_MASK_SFT (0xff << 0) 1928*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VAUDP15_SFT 8 1929*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VAUDP15_MASK 0xff 1930*4882a593Smuzhiyun #define RG_ABIDEC_RSVD0_VAUDP15_MASK_SFT (0xff << 8) 1931*4882a593Smuzhiyun 1932*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON10 */ 1933*4882a593Smuzhiyun #define RG_ABIDEC_RSVD1_VAUDP15_SFT 0 1934*4882a593Smuzhiyun #define RG_ABIDEC_RSVD1_VAUDP15_MASK 0xff 1935*4882a593Smuzhiyun #define RG_ABIDEC_RSVD1_VAUDP15_MASK_SFT (0xff << 0) 1936*4882a593Smuzhiyun #define RG_ABIDEC_RSVD2_VAUDP15_SFT 8 1937*4882a593Smuzhiyun #define RG_ABIDEC_RSVD2_VAUDP15_MASK 0xff 1938*4882a593Smuzhiyun #define RG_ABIDEC_RSVD2_VAUDP15_MASK_SFT (0xff << 8) 1939*4882a593Smuzhiyun 1940*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON11 */ 1941*4882a593Smuzhiyun #define RG_AUDZCDMUXSEL_VAUDP15_SFT 0 1942*4882a593Smuzhiyun #define RG_AUDZCDMUXSEL_VAUDP15_MASK 0x7 1943*4882a593Smuzhiyun #define RG_AUDZCDMUXSEL_VAUDP15_MASK_SFT (0x7 << 0) 1944*4882a593Smuzhiyun #define RG_AUDZCDCLKSEL_VAUDP15_SFT 3 1945*4882a593Smuzhiyun #define RG_AUDZCDCLKSEL_VAUDP15_MASK 0x1 1946*4882a593Smuzhiyun #define RG_AUDZCDCLKSEL_VAUDP15_MASK_SFT (0x1 << 3) 1947*4882a593Smuzhiyun #define RG_AUDBIASADJ_0_VAUDP15_SFT 7 1948*4882a593Smuzhiyun #define RG_AUDBIASADJ_0_VAUDP15_MASK 0x1ff 1949*4882a593Smuzhiyun #define RG_AUDBIASADJ_0_VAUDP15_MASK_SFT (0x1ff << 7) 1950*4882a593Smuzhiyun 1951*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON12 */ 1952*4882a593Smuzhiyun #define RG_AUDBIASADJ_1_VAUDP15_SFT 0 1953*4882a593Smuzhiyun #define RG_AUDBIASADJ_1_VAUDP15_MASK 0xff 1954*4882a593Smuzhiyun #define RG_AUDBIASADJ_1_VAUDP15_MASK_SFT (0xff << 0) 1955*4882a593Smuzhiyun #define RG_AUDIBIASPWRDN_VAUDP15_SFT 8 1956*4882a593Smuzhiyun #define RG_AUDIBIASPWRDN_VAUDP15_MASK 0x1 1957*4882a593Smuzhiyun #define RG_AUDIBIASPWRDN_VAUDP15_MASK_SFT (0x1 << 8) 1958*4882a593Smuzhiyun 1959*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON13 */ 1960*4882a593Smuzhiyun #define RG_RSTB_DECODER_VA28_SFT 0 1961*4882a593Smuzhiyun #define RG_RSTB_DECODER_VA28_MASK 0x1 1962*4882a593Smuzhiyun #define RG_RSTB_DECODER_VA28_MASK_SFT (0x1 << 0) 1963*4882a593Smuzhiyun #define RG_SEL_DECODER_96K_VA28_SFT 1 1964*4882a593Smuzhiyun #define RG_SEL_DECODER_96K_VA28_MASK 0x1 1965*4882a593Smuzhiyun #define RG_SEL_DECODER_96K_VA28_MASK_SFT (0x1 << 1) 1966*4882a593Smuzhiyun #define RG_SEL_DELAY_VCORE_SFT 2 1967*4882a593Smuzhiyun #define RG_SEL_DELAY_VCORE_MASK 0x1 1968*4882a593Smuzhiyun #define RG_SEL_DELAY_VCORE_MASK_SFT (0x1 << 2) 1969*4882a593Smuzhiyun #define RG_AUDGLB_PWRDN_VA28_SFT 4 1970*4882a593Smuzhiyun #define RG_AUDGLB_PWRDN_VA28_MASK 0x1 1971*4882a593Smuzhiyun #define RG_AUDGLB_PWRDN_VA28_MASK_SFT (0x1 << 4) 1972*4882a593Smuzhiyun #define RG_RSTB_ENCODER_VA28_SFT 5 1973*4882a593Smuzhiyun #define RG_RSTB_ENCODER_VA28_MASK 0x1 1974*4882a593Smuzhiyun #define RG_RSTB_ENCODER_VA28_MASK_SFT (0x1 << 5) 1975*4882a593Smuzhiyun #define RG_SEL_ENCODER_96K_VA28_SFT 6 1976*4882a593Smuzhiyun #define RG_SEL_ENCODER_96K_VA28_MASK 0x1 1977*4882a593Smuzhiyun #define RG_SEL_ENCODER_96K_VA28_MASK_SFT (0x1 << 6) 1978*4882a593Smuzhiyun 1979*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON14 */ 1980*4882a593Smuzhiyun #define RG_HCLDO_EN_VA18_SFT 0 1981*4882a593Smuzhiyun #define RG_HCLDO_EN_VA18_MASK 0x1 1982*4882a593Smuzhiyun #define RG_HCLDO_EN_VA18_MASK_SFT (0x1 << 0) 1983*4882a593Smuzhiyun #define RG_HCLDO_PDDIS_EN_VA18_SFT 1 1984*4882a593Smuzhiyun #define RG_HCLDO_PDDIS_EN_VA18_MASK 0x1 1985*4882a593Smuzhiyun #define RG_HCLDO_PDDIS_EN_VA18_MASK_SFT (0x1 << 1) 1986*4882a593Smuzhiyun #define RG_HCLDO_REMOTE_SENSE_VA18_SFT 2 1987*4882a593Smuzhiyun #define RG_HCLDO_REMOTE_SENSE_VA18_MASK 0x1 1988*4882a593Smuzhiyun #define RG_HCLDO_REMOTE_SENSE_VA18_MASK_SFT (0x1 << 2) 1989*4882a593Smuzhiyun #define RG_LCLDO_EN_VA18_SFT 4 1990*4882a593Smuzhiyun #define RG_LCLDO_EN_VA18_MASK 0x1 1991*4882a593Smuzhiyun #define RG_LCLDO_EN_VA18_MASK_SFT (0x1 << 4) 1992*4882a593Smuzhiyun #define RG_LCLDO_PDDIS_EN_VA18_SFT 5 1993*4882a593Smuzhiyun #define RG_LCLDO_PDDIS_EN_VA18_MASK 0x1 1994*4882a593Smuzhiyun #define RG_LCLDO_PDDIS_EN_VA18_MASK_SFT (0x1 << 5) 1995*4882a593Smuzhiyun #define RG_LCLDO_REMOTE_SENSE_VA18_SFT 6 1996*4882a593Smuzhiyun #define RG_LCLDO_REMOTE_SENSE_VA18_MASK 0x1 1997*4882a593Smuzhiyun #define RG_LCLDO_REMOTE_SENSE_VA18_MASK_SFT (0x1 << 6) 1998*4882a593Smuzhiyun #define RG_LCLDO_ENC_EN_VA28_SFT 8 1999*4882a593Smuzhiyun #define RG_LCLDO_ENC_EN_VA28_MASK 0x1 2000*4882a593Smuzhiyun #define RG_LCLDO_ENC_EN_VA28_MASK_SFT (0x1 << 8) 2001*4882a593Smuzhiyun #define RG_LCLDO_ENC_PDDIS_EN_VA28_SFT 9 2002*4882a593Smuzhiyun #define RG_LCLDO_ENC_PDDIS_EN_VA28_MASK 0x1 2003*4882a593Smuzhiyun #define RG_LCLDO_ENC_PDDIS_EN_VA28_MASK_SFT (0x1 << 9) 2004*4882a593Smuzhiyun #define RG_LCLDO_ENC_REMOTE_SENSE_VA28_SFT 10 2005*4882a593Smuzhiyun #define RG_LCLDO_ENC_REMOTE_SENSE_VA28_MASK 0x1 2006*4882a593Smuzhiyun #define RG_LCLDO_ENC_REMOTE_SENSE_VA28_MASK_SFT (0x1 << 10) 2007*4882a593Smuzhiyun #define RG_VA33REFGEN_EN_VA18_SFT 12 2008*4882a593Smuzhiyun #define RG_VA33REFGEN_EN_VA18_MASK 0x1 2009*4882a593Smuzhiyun #define RG_VA33REFGEN_EN_VA18_MASK_SFT (0x1 << 12) 2010*4882a593Smuzhiyun #define RG_VA28REFGEN_EN_VA28_SFT 13 2011*4882a593Smuzhiyun #define RG_VA28REFGEN_EN_VA28_MASK 0x1 2012*4882a593Smuzhiyun #define RG_VA28REFGEN_EN_VA28_MASK_SFT (0x1 << 13) 2013*4882a593Smuzhiyun #define RG_HCLDO_VOSEL_VA18_SFT 14 2014*4882a593Smuzhiyun #define RG_HCLDO_VOSEL_VA18_MASK 0x1 2015*4882a593Smuzhiyun #define RG_HCLDO_VOSEL_VA18_MASK_SFT (0x1 << 14) 2016*4882a593Smuzhiyun #define RG_LCLDO_VOSEL_VA18_SFT 15 2017*4882a593Smuzhiyun #define RG_LCLDO_VOSEL_VA18_MASK 0x1 2018*4882a593Smuzhiyun #define RG_LCLDO_VOSEL_VA18_MASK_SFT (0x1 << 15) 2019*4882a593Smuzhiyun 2020*4882a593Smuzhiyun /* MT6358_AUDDEC_ANA_CON15 */ 2021*4882a593Smuzhiyun #define RG_NVREG_EN_VAUDP15_SFT 0 2022*4882a593Smuzhiyun #define RG_NVREG_EN_VAUDP15_MASK 0x1 2023*4882a593Smuzhiyun #define RG_NVREG_EN_VAUDP15_MASK_SFT (0x1 << 0) 2024*4882a593Smuzhiyun #define RG_NVREG_PULL0V_VAUDP15_SFT 1 2025*4882a593Smuzhiyun #define RG_NVREG_PULL0V_VAUDP15_MASK 0x1 2026*4882a593Smuzhiyun #define RG_NVREG_PULL0V_VAUDP15_MASK_SFT (0x1 << 1) 2027*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VAUDP15_SFT 4 2028*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VAUDP15_MASK 0xf 2029*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VAUDP15_MASK_SFT (0xf << 4) 2030*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VA18_SFT 8 2031*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VA18_MASK 0xf 2032*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VA18_MASK_SFT (0xf << 8) 2033*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VA28_SFT 12 2034*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VA28_MASK 0xf 2035*4882a593Smuzhiyun #define RG_AUDPMU_RSD0_VA28_MASK_SFT (0xf << 12) 2036*4882a593Smuzhiyun 2037*4882a593Smuzhiyun /* MT6358_ZCD_CON0 */ 2038*4882a593Smuzhiyun #define RG_AUDZCDENABLE_SFT 0 2039*4882a593Smuzhiyun #define RG_AUDZCDENABLE_MASK 0x1 2040*4882a593Smuzhiyun #define RG_AUDZCDENABLE_MASK_SFT (0x1 << 0) 2041*4882a593Smuzhiyun #define RG_AUDZCDGAINSTEPTIME_SFT 1 2042*4882a593Smuzhiyun #define RG_AUDZCDGAINSTEPTIME_MASK 0x7 2043*4882a593Smuzhiyun #define RG_AUDZCDGAINSTEPTIME_MASK_SFT (0x7 << 1) 2044*4882a593Smuzhiyun #define RG_AUDZCDGAINSTEPSIZE_SFT 4 2045*4882a593Smuzhiyun #define RG_AUDZCDGAINSTEPSIZE_MASK 0x3 2046*4882a593Smuzhiyun #define RG_AUDZCDGAINSTEPSIZE_MASK_SFT (0x3 << 4) 2047*4882a593Smuzhiyun #define RG_AUDZCDTIMEOUTMODESEL_SFT 6 2048*4882a593Smuzhiyun #define RG_AUDZCDTIMEOUTMODESEL_MASK 0x1 2049*4882a593Smuzhiyun #define RG_AUDZCDTIMEOUTMODESEL_MASK_SFT (0x1 << 6) 2050*4882a593Smuzhiyun 2051*4882a593Smuzhiyun /* MT6358_ZCD_CON1 */ 2052*4882a593Smuzhiyun #define RG_AUDLOLGAIN_SFT 0 2053*4882a593Smuzhiyun #define RG_AUDLOLGAIN_MASK 0x1f 2054*4882a593Smuzhiyun #define RG_AUDLOLGAIN_MASK_SFT (0x1f << 0) 2055*4882a593Smuzhiyun #define RG_AUDLORGAIN_SFT 7 2056*4882a593Smuzhiyun #define RG_AUDLORGAIN_MASK 0x1f 2057*4882a593Smuzhiyun #define RG_AUDLORGAIN_MASK_SFT (0x1f << 7) 2058*4882a593Smuzhiyun 2059*4882a593Smuzhiyun /* MT6358_ZCD_CON2 */ 2060*4882a593Smuzhiyun #define RG_AUDHPLGAIN_SFT 0 2061*4882a593Smuzhiyun #define RG_AUDHPLGAIN_MASK 0x1f 2062*4882a593Smuzhiyun #define RG_AUDHPLGAIN_MASK_SFT (0x1f << 0) 2063*4882a593Smuzhiyun #define RG_AUDHPRGAIN_SFT 7 2064*4882a593Smuzhiyun #define RG_AUDHPRGAIN_MASK 0x1f 2065*4882a593Smuzhiyun #define RG_AUDHPRGAIN_MASK_SFT (0x1f << 7) 2066*4882a593Smuzhiyun 2067*4882a593Smuzhiyun /* MT6358_ZCD_CON3 */ 2068*4882a593Smuzhiyun #define RG_AUDHSGAIN_SFT 0 2069*4882a593Smuzhiyun #define RG_AUDHSGAIN_MASK 0x1f 2070*4882a593Smuzhiyun #define RG_AUDHSGAIN_MASK_SFT (0x1f << 0) 2071*4882a593Smuzhiyun 2072*4882a593Smuzhiyun /* MT6358_ZCD_CON4 */ 2073*4882a593Smuzhiyun #define RG_AUDIVLGAIN_SFT 0 2074*4882a593Smuzhiyun #define RG_AUDIVLGAIN_MASK 0x7 2075*4882a593Smuzhiyun #define RG_AUDIVLGAIN_MASK_SFT (0x7 << 0) 2076*4882a593Smuzhiyun #define RG_AUDIVRGAIN_SFT 8 2077*4882a593Smuzhiyun #define RG_AUDIVRGAIN_MASK 0x7 2078*4882a593Smuzhiyun #define RG_AUDIVRGAIN_MASK_SFT (0x7 << 8) 2079*4882a593Smuzhiyun 2080*4882a593Smuzhiyun /* MT6358_ZCD_CON5 */ 2081*4882a593Smuzhiyun #define RG_AUDINTGAIN1_SFT 0 2082*4882a593Smuzhiyun #define RG_AUDINTGAIN1_MASK 0x3f 2083*4882a593Smuzhiyun #define RG_AUDINTGAIN1_MASK_SFT (0x3f << 0) 2084*4882a593Smuzhiyun #define RG_AUDINTGAIN2_SFT 8 2085*4882a593Smuzhiyun #define RG_AUDINTGAIN2_MASK 0x3f 2086*4882a593Smuzhiyun #define RG_AUDINTGAIN2_MASK_SFT (0x3f << 8) 2087*4882a593Smuzhiyun 2088*4882a593Smuzhiyun /* audio register */ 2089*4882a593Smuzhiyun #define MT6358_DRV_CON3 0x3c 2090*4882a593Smuzhiyun #define MT6358_GPIO_DIR0 0x88 2091*4882a593Smuzhiyun 2092*4882a593Smuzhiyun #define MT6358_GPIO_MODE2 0xd8 /* mosi */ 2093*4882a593Smuzhiyun #define MT6358_GPIO_MODE2_SET 0xda 2094*4882a593Smuzhiyun #define MT6358_GPIO_MODE2_CLR 0xdc 2095*4882a593Smuzhiyun 2096*4882a593Smuzhiyun #define MT6358_GPIO_MODE3 0xde /* miso */ 2097*4882a593Smuzhiyun #define MT6358_GPIO_MODE3_SET 0xe0 2098*4882a593Smuzhiyun #define MT6358_GPIO_MODE3_CLR 0xe2 2099*4882a593Smuzhiyun 2100*4882a593Smuzhiyun #define MT6358_TOP_CKPDN_CON0 0x10c 2101*4882a593Smuzhiyun #define MT6358_TOP_CKPDN_CON0_SET 0x10e 2102*4882a593Smuzhiyun #define MT6358_TOP_CKPDN_CON0_CLR 0x110 2103*4882a593Smuzhiyun 2104*4882a593Smuzhiyun #define MT6358_TOP_CKHWEN_CON0 0x12a 2105*4882a593Smuzhiyun #define MT6358_TOP_CKHWEN_CON0_SET 0x12c 2106*4882a593Smuzhiyun #define MT6358_TOP_CKHWEN_CON0_CLR 0x12e 2107*4882a593Smuzhiyun 2108*4882a593Smuzhiyun #define MT6358_OTP_CON0 0x38a 2109*4882a593Smuzhiyun #define MT6358_OTP_CON8 0x39a 2110*4882a593Smuzhiyun #define MT6358_OTP_CON11 0x3a0 2111*4882a593Smuzhiyun #define MT6358_OTP_CON12 0x3a2 2112*4882a593Smuzhiyun #define MT6358_OTP_CON13 0x3a4 2113*4882a593Smuzhiyun 2114*4882a593Smuzhiyun #define MT6358_DCXO_CW13 0x7aa 2115*4882a593Smuzhiyun #define MT6358_DCXO_CW14 0x7ac 2116*4882a593Smuzhiyun 2117*4882a593Smuzhiyun #define MT6358_AUXADC_CON10 0x11a0 2118*4882a593Smuzhiyun 2119*4882a593Smuzhiyun /* audio register */ 2120*4882a593Smuzhiyun #define MT6358_AUD_TOP_ID 0x2200 2121*4882a593Smuzhiyun #define MT6358_AUD_TOP_REV0 0x2202 2122*4882a593Smuzhiyun #define MT6358_AUD_TOP_DBI 0x2204 2123*4882a593Smuzhiyun #define MT6358_AUD_TOP_DXI 0x2206 2124*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKPDN_TPM0 0x2208 2125*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKPDN_TPM1 0x220a 2126*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKPDN_CON0 0x220c 2127*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKPDN_CON0_SET 0x220e 2128*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKPDN_CON0_CLR 0x2210 2129*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKSEL_CON0 0x2212 2130*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKSEL_CON0_SET 0x2214 2131*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKSEL_CON0_CLR 0x2216 2132*4882a593Smuzhiyun #define MT6358_AUD_TOP_CKTST_CON0 0x2218 2133*4882a593Smuzhiyun #define MT6358_AUD_TOP_CLK_HWEN_CON0 0x221a 2134*4882a593Smuzhiyun #define MT6358_AUD_TOP_CLK_HWEN_CON0_SET 0x221c 2135*4882a593Smuzhiyun #define MT6358_AUD_TOP_CLK_HWEN_CON0_CLR 0x221e 2136*4882a593Smuzhiyun #define MT6358_AUD_TOP_RST_CON0 0x2220 2137*4882a593Smuzhiyun #define MT6358_AUD_TOP_RST_CON0_SET 0x2222 2138*4882a593Smuzhiyun #define MT6358_AUD_TOP_RST_CON0_CLR 0x2224 2139*4882a593Smuzhiyun #define MT6358_AUD_TOP_RST_BANK_CON0 0x2226 2140*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_CON0 0x2228 2141*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_CON0_SET 0x222a 2142*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_CON0_CLR 0x222c 2143*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_MASK_CON0 0x222e 2144*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_MASK_CON0_SET 0x2230 2145*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_MASK_CON0_CLR 0x2232 2146*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_STATUS0 0x2234 2147*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_RAW_STATUS0 0x2236 2148*4882a593Smuzhiyun #define MT6358_AUD_TOP_INT_MISC_CON0 0x2238 2149*4882a593Smuzhiyun #define MT6358_AUDNCP_CLKDIV_CON0 0x223a 2150*4882a593Smuzhiyun #define MT6358_AUDNCP_CLKDIV_CON1 0x223c 2151*4882a593Smuzhiyun #define MT6358_AUDNCP_CLKDIV_CON2 0x223e 2152*4882a593Smuzhiyun #define MT6358_AUDNCP_CLKDIV_CON3 0x2240 2153*4882a593Smuzhiyun #define MT6358_AUDNCP_CLKDIV_CON4 0x2242 2154*4882a593Smuzhiyun #define MT6358_AUD_TOP_MON_CON0 0x2244 2155*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_DSN_ID 0x2280 2156*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_DSN_REV0 0x2282 2157*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_DSN_DBI 0x2284 2158*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_DSN_DXI 0x2286 2159*4882a593Smuzhiyun #define MT6358_AFE_UL_DL_CON0 0x2288 2160*4882a593Smuzhiyun #define MT6358_AFE_DL_SRC2_CON0_L 0x228a 2161*4882a593Smuzhiyun #define MT6358_AFE_UL_SRC_CON0_H 0x228c 2162*4882a593Smuzhiyun #define MT6358_AFE_UL_SRC_CON0_L 0x228e 2163*4882a593Smuzhiyun #define MT6358_AFE_TOP_CON0 0x2290 2164*4882a593Smuzhiyun #define MT6358_AUDIO_TOP_CON0 0x2292 2165*4882a593Smuzhiyun #define MT6358_AFE_MON_DEBUG0 0x2294 2166*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON0 0x2296 2167*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON1 0x2298 2168*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON2 0x229a 2169*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON3 0x229c 2170*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON4 0x229e 2171*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON5 0x22a0 2172*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_CON6 0x22a2 2173*4882a593Smuzhiyun #define MT6358_AFUNC_AUD_MON0 0x22a4 2174*4882a593Smuzhiyun #define MT6358_AUDRC_TUNE_MON0 0x22a6 2175*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_FIFO_CFG0 0x22a8 2176*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_FIFO_LOG_MON1 0x22aa 2177*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_MON0 0x22ac 2178*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_MON1 0x22ae 2179*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_MON2 0x22b0 2180*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_MON3 0x22b2 2181*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_CFG0 0x22b4 2182*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_RX_CFG0 0x22b6 2183*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_RX_CFG1 0x22b8 2184*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_RX_CFG2 0x22ba 2185*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_RX_CFG3 0x22bc 2186*4882a593Smuzhiyun #define MT6358_AFE_ADDA_MTKAIF_TX_CFG1 0x22be 2187*4882a593Smuzhiyun #define MT6358_AFE_SGEN_CFG0 0x22c0 2188*4882a593Smuzhiyun #define MT6358_AFE_SGEN_CFG1 0x22c2 2189*4882a593Smuzhiyun #define MT6358_AFE_ADC_ASYNC_FIFO_CFG 0x22c4 2190*4882a593Smuzhiyun #define MT6358_AFE_DCCLK_CFG0 0x22c6 2191*4882a593Smuzhiyun #define MT6358_AFE_DCCLK_CFG1 0x22c8 2192*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_CFG 0x22ca 2193*4882a593Smuzhiyun #define MT6358_AFE_AUD_PAD_TOP 0x22cc 2194*4882a593Smuzhiyun #define MT6358_AFE_AUD_PAD_TOP_MON 0x22ce 2195*4882a593Smuzhiyun #define MT6358_AFE_AUD_PAD_TOP_MON1 0x22d0 2196*4882a593Smuzhiyun #define MT6358_AFE_DL_NLE_CFG 0x22d2 2197*4882a593Smuzhiyun #define MT6358_AFE_DL_NLE_MON 0x22d4 2198*4882a593Smuzhiyun #define MT6358_AFE_CG_EN_MON 0x22d6 2199*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_2ND_DSN_ID 0x2300 2200*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_2ND_DSN_REV0 0x2302 2201*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_2ND_DSN_DBI 0x2304 2202*4882a593Smuzhiyun #define MT6358_AUDIO_DIG_2ND_DSN_DXI 0x2306 2203*4882a593Smuzhiyun #define MT6358_AFE_PMIC_NEWIF_CFG3 0x2308 2204*4882a593Smuzhiyun #define MT6358_AFE_VOW_TOP 0x230a 2205*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG0 0x230c 2206*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG1 0x230e 2207*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG2 0x2310 2208*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG3 0x2312 2209*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG4 0x2314 2210*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG5 0x2316 2211*4882a593Smuzhiyun #define MT6358_AFE_VOW_CFG6 0x2318 2212*4882a593Smuzhiyun #define MT6358_AFE_VOW_MON0 0x231a 2213*4882a593Smuzhiyun #define MT6358_AFE_VOW_MON1 0x231c 2214*4882a593Smuzhiyun #define MT6358_AFE_VOW_MON2 0x231e 2215*4882a593Smuzhiyun #define MT6358_AFE_VOW_MON3 0x2320 2216*4882a593Smuzhiyun #define MT6358_AFE_VOW_MON4 0x2322 2217*4882a593Smuzhiyun #define MT6358_AFE_VOW_MON5 0x2324 2218*4882a593Smuzhiyun #define MT6358_AFE_VOW_SN_INI_CFG 0x2326 2219*4882a593Smuzhiyun #define MT6358_AFE_VOW_TGEN_CFG0 0x2328 2220*4882a593Smuzhiyun #define MT6358_AFE_VOW_POSDIV_CFG0 0x232a 2221*4882a593Smuzhiyun #define MT6358_AFE_VOW_HPF_CFG0 0x232c 2222*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG0 0x232e 2223*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG1 0x2330 2224*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG2 0x2332 2225*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG3 0x2334 2226*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG4 0x2336 2227*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG5 0x2338 2228*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG6 0x233a 2229*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG7 0x233c 2230*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG8 0x233e 2231*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG9 0x2340 2232*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG10 0x2342 2233*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG11 0x2344 2234*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG12 0x2346 2235*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG13 0x2348 2236*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG14 0x234a 2237*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG15 0x234c 2238*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG16 0x234e 2239*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG17 0x2350 2240*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG18 0x2352 2241*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG19 0x2354 2242*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG20 0x2356 2243*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG21 0x2358 2244*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG22 0x235a 2245*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_CFG23 0x235c 2246*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_MON0 0x235e 2247*4882a593Smuzhiyun #define MT6358_AFE_VOW_PERIODIC_MON1 0x2360 2248*4882a593Smuzhiyun #define MT6358_AUDENC_DSN_ID 0x2380 2249*4882a593Smuzhiyun #define MT6358_AUDENC_DSN_REV0 0x2382 2250*4882a593Smuzhiyun #define MT6358_AUDENC_DSN_DBI 0x2384 2251*4882a593Smuzhiyun #define MT6358_AUDENC_DSN_FPI 0x2386 2252*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON0 0x2388 2253*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON1 0x238a 2254*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON2 0x238c 2255*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON3 0x238e 2256*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON4 0x2390 2257*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON5 0x2392 2258*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON6 0x2394 2259*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON7 0x2396 2260*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON8 0x2398 2261*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON9 0x239a 2262*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON10 0x239c 2263*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON11 0x239e 2264*4882a593Smuzhiyun #define MT6358_AUDENC_ANA_CON12 0x23a0 2265*4882a593Smuzhiyun #define MT6358_AUDDEC_DSN_ID 0x2400 2266*4882a593Smuzhiyun #define MT6358_AUDDEC_DSN_REV0 0x2402 2267*4882a593Smuzhiyun #define MT6358_AUDDEC_DSN_DBI 0x2404 2268*4882a593Smuzhiyun #define MT6358_AUDDEC_DSN_FPI 0x2406 2269*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON0 0x2408 2270*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON1 0x240a 2271*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON2 0x240c 2272*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON3 0x240e 2273*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON4 0x2410 2274*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON5 0x2412 2275*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON6 0x2414 2276*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON7 0x2416 2277*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON8 0x2418 2278*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON9 0x241a 2279*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON10 0x241c 2280*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON11 0x241e 2281*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON12 0x2420 2282*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON13 0x2422 2283*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON14 0x2424 2284*4882a593Smuzhiyun #define MT6358_AUDDEC_ANA_CON15 0x2426 2285*4882a593Smuzhiyun #define MT6358_AUDDEC_ELR_NUM 0x2428 2286*4882a593Smuzhiyun #define MT6358_AUDDEC_ELR_0 0x242a 2287*4882a593Smuzhiyun #define MT6358_AUDZCD_DSN_ID 0x2480 2288*4882a593Smuzhiyun #define MT6358_AUDZCD_DSN_REV0 0x2482 2289*4882a593Smuzhiyun #define MT6358_AUDZCD_DSN_DBI 0x2484 2290*4882a593Smuzhiyun #define MT6358_AUDZCD_DSN_FPI 0x2486 2291*4882a593Smuzhiyun #define MT6358_ZCD_CON0 0x2488 2292*4882a593Smuzhiyun #define MT6358_ZCD_CON1 0x248a 2293*4882a593Smuzhiyun #define MT6358_ZCD_CON2 0x248c 2294*4882a593Smuzhiyun #define MT6358_ZCD_CON3 0x248e 2295*4882a593Smuzhiyun #define MT6358_ZCD_CON4 0x2490 2296*4882a593Smuzhiyun #define MT6358_ZCD_CON5 0x2492 2297*4882a593Smuzhiyun #define MT6358_ACCDET_CON13 0x2522 2298*4882a593Smuzhiyun 2299*4882a593Smuzhiyun #define MT6358_MAX_REGISTER MT6358_ZCD_CON5 2300*4882a593Smuzhiyun 2301*4882a593Smuzhiyun enum { 2302*4882a593Smuzhiyun MT6358_MTKAIF_PROTOCOL_1 = 0, 2303*4882a593Smuzhiyun MT6358_MTKAIF_PROTOCOL_2, 2304*4882a593Smuzhiyun MT6358_MTKAIF_PROTOCOL_2_CLK_P2, 2305*4882a593Smuzhiyun }; 2306*4882a593Smuzhiyun 2307*4882a593Smuzhiyun /* set only during init */ 2308*4882a593Smuzhiyun int mt6358_set_mtkaif_protocol(struct snd_soc_component *cmpnt, 2309*4882a593Smuzhiyun int mtkaif_protocol); 2310*4882a593Smuzhiyun int mt6358_mtkaif_calibration_enable(struct snd_soc_component *cmpnt); 2311*4882a593Smuzhiyun int mt6358_mtkaif_calibration_disable(struct snd_soc_component *cmpnt); 2312*4882a593Smuzhiyun int mt6358_set_mtkaif_calibration_phase(struct snd_soc_component *cmpnt, 2313*4882a593Smuzhiyun int phase_1, int phase_2); 2314*4882a593Smuzhiyun #endif /* __MT6358_H__ */ 2315