|
@@ -1622,7 +1622,7 @@ static int set_dmic_clk(struct snd_soc_dapm_widget *w,
|
|
|
return idx;
|
|
|
}
|
|
|
|
|
|
-static int set_adc_clk(struct snd_soc_dapm_widget *w,
|
|
|
+static int set_adc1_clk(struct snd_soc_dapm_widget *w,
|
|
|
struct snd_kcontrol *kcontrol, int event)
|
|
|
{
|
|
|
struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
|
|
@@ -1630,13 +1630,39 @@ static int set_adc_clk(struct snd_soc_dapm_widget *w,
|
|
|
switch (event) {
|
|
|
case SND_SOC_DAPM_POST_PMU:
|
|
|
snd_soc_component_update_bits(component, RT5659_CHOP_ADC,
|
|
|
- RT5659_CKXEN_ADCC_MASK | RT5659_CKGEN_ADCC_MASK,
|
|
|
- RT5659_CKXEN_ADCC_MASK | RT5659_CKGEN_ADCC_MASK);
|
|
|
+ RT5659_CKXEN_ADC1_MASK | RT5659_CKGEN_ADC1_MASK,
|
|
|
+ RT5659_CKXEN_ADC1_MASK | RT5659_CKGEN_ADC1_MASK);
|
|
|
break;
|
|
|
|
|
|
case SND_SOC_DAPM_PRE_PMD:
|
|
|
snd_soc_component_update_bits(component, RT5659_CHOP_ADC,
|
|
|
- RT5659_CKXEN_ADCC_MASK | RT5659_CKGEN_ADCC_MASK, 0);
|
|
|
+ RT5659_CKXEN_ADC1_MASK | RT5659_CKGEN_ADC1_MASK, 0);
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+static int set_adc2_clk(struct snd_soc_dapm_widget *w,
|
|
|
+ struct snd_kcontrol *kcontrol, int event)
|
|
|
+{
|
|
|
+ struct snd_soc_component *component =
|
|
|
+ snd_soc_dapm_to_component(w->dapm);
|
|
|
+
|
|
|
+ switch (event) {
|
|
|
+ case SND_SOC_DAPM_POST_PMU:
|
|
|
+ snd_soc_component_update_bits(component, RT5659_CHOP_ADC,
|
|
|
+ RT5659_CKXEN_ADC2_MASK | RT5659_CKGEN_ADC2_MASK,
|
|
|
+ RT5659_CKXEN_ADC2_MASK | RT5659_CKGEN_ADC2_MASK);
|
|
|
+ break;
|
|
|
+
|
|
|
+ case SND_SOC_DAPM_PRE_PMD:
|
|
|
+ snd_soc_component_update_bits(component, RT5659_CHOP_ADC,
|
|
|
+ RT5659_CKXEN_ADC2_MASK | RT5659_CKGEN_ADC2_MASK, 0);
|
|
|
break;
|
|
|
|
|
|
default:
|
|
@@ -2559,9 +2585,9 @@ static const struct snd_soc_dapm_widget rt5659_dapm_widgets[] = {
|
|
|
RT5659_PWR_ADC_L2_BIT, 0, NULL, 0),
|
|
|
SND_SOC_DAPM_SUPPLY("ADC2 R Power", RT5659_PWR_DIG_1,
|
|
|
RT5659_PWR_ADC_R2_BIT, 0, NULL, 0),
|
|
|
- SND_SOC_DAPM_SUPPLY("ADC1 clock", SND_SOC_NOPM, 0, 0, set_adc_clk,
|
|
|
+ SND_SOC_DAPM_SUPPLY("ADC1 clock", SND_SOC_NOPM, 0, 0, set_adc1_clk,
|
|
|
SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
|
|
|
- SND_SOC_DAPM_SUPPLY("ADC2 clock", SND_SOC_NOPM, 0, 0, set_adc_clk,
|
|
|
+ SND_SOC_DAPM_SUPPLY("ADC2 clock", SND_SOC_NOPM, 0, 0, set_adc2_clk,
|
|
|
SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
|
|
|
|
|
|
/* ADC Mux */
|