ASoC: rk3308_codec: Add controls for MICBIAS1 and MICBIAS2 Switch

Change-Id: I64dcc55a993e00eee91a6fdf9ec6cd18ef40d3e1
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
This commit is contained in:
Xing Zheng
2019-01-30 10:23:57 +08:00
committed by Tao Huang
parent c22df0a44e
commit bfcfeef064
2 changed files with 9 additions and 2 deletions

View File

@@ -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),

View File

@@ -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)