diff --git a/sound/soc/codecs/rk3308_codec.c b/sound/soc/codecs/rk3308_codec.c index 95b1bcbba404..e0caf94ff451 100644 --- a/sound/soc/codecs/rk3308_codec.c +++ b/sound/soc/codecs/rk3308_codec.c @@ -681,6 +681,12 @@ static const struct snd_kcontrol_new rk3308_codec_dapm_controls[] = { SOC_ENUM_EXT("AGC Group 3 Right Approximate Sample Rate", rk3308_agc_asr_enum_array[7], rk3308_codec_agc_asr_get, rk3308_codec_agc_asr_put), + /* ADC MICBIAS1 and MICBIAS2 Switch */ + SOC_SINGLE("ADC MICBIAS1", RK3308_ADC_ANA_CON07(1), + RK3308_ADC_MIC_BIAS_BUF_SFT, 1, 0), + SOC_SINGLE("ADC MICBIAS2", RK3308_ADC_ANA_CON07(2), + RK3308_ADC_MIC_BIAS_BUF_SFT, 1, 0), + /* ADC MIC Mute/Work Switch */ SOC_ENUM_EXT("ADC MIC Group 0 Left Switch", rk3308_mic_mute_enum_array[0], rk3308_codec_mic_mute_get, rk3308_codec_mic_mute_put), diff --git a/sound/soc/codecs/rk3308_codec.h b/sound/soc/codecs/rk3308_codec.h index 8b1b9646a690..1ac874251641 100644 --- a/sound/soc/codecs/rk3308_codec.h +++ b/sound/soc/codecs/rk3308_codec.h @@ -793,8 +793,9 @@ #define RK3308_ADC_CH1_IN_MIC (0x1 << RK3308_ADC_CH1_IN_SEL_SFT) #define RK3308_ADC_CH1_IN_NONE (0x0 << RK3308_ADC_CH1_IN_SEL_SFT) -#define RK3308_ADC_MIC_BIAS_BUF_EN (0x1 << 3) -#define RK3308_ADC_MIC_BIAS_BUF_DIS (0x0 << 3) +#define RK3308_ADC_MIC_BIAS_BUF_SFT 3 +#define RK3308_ADC_MIC_BIAS_BUF_EN (0x1 << RK3308_ADC_MIC_BIAS_BUF_SFT) +#define RK3308_ADC_MIC_BIAS_BUF_DIS (0x0 << RK3308_ADC_MIC_BIAS_BUF_SFT) #define RK3308_ADC_LEVEL_RANGE_MICBIAS_SFT 0 #define RK3308_ADC_LEVEL_RANGE_MICBIAS_MSK (0x7 << RK3308_ADC_LEVEL_RANGE_MICBIAS_SFT) #define RK3308_ADC_MICBIAS_VOLT_0_85 (0x7 << RK3308_ADC_LEVEL_RANGE_MICBIAS_SFT)