Merge branch 'topic/qcom' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
authorMark Brown <broonie@kernel.org>
Thu, 10 Aug 2017 15:48:25 +0000 (16:48 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 10 Aug 2017 15:48:25 +0000 (16:48 +0100)
1  2 
sound/soc/codecs/msm8916-wcd-digital.c

index 661cd6dd5473e7f4af3f630420065740c7966e2d,d2993e72d1e237c6f079fe69303df694bbab8fe6..858a9fc1c0574422a5d46d59803dd3482597dee2
@@@ -218,6 -218,8 +218,8 @@@ static const char *const rx_mix1_text[
  static const char *const dec_mux_text[] = {
        "ZERO", "ADC1", "ADC2", "ADC3", "DMIC1", "DMIC2"
  };
+ static const char *const cic_mux_text[] = { "AMIC", "DMIC" };
  static const char *const rx_mix2_text[] = { "ZERO", "IIR1", "IIR2" };
  static const char *const adc2_mux_text[] = { "ZERO", "INP2", "INP3" };
  
@@@ -256,11 -258,21 +258,21 @@@ static const struct soc_enum dec1_mux_e
  static const struct soc_enum dec2_mux_enum = SOC_ENUM_SINGLE(
                                LPASS_CDC_CONN_TX_B1_CTL, 3, 6, dec_mux_text);
  
+ /* CIC */
+ static const struct soc_enum cic1_mux_enum = SOC_ENUM_SINGLE(
+                               LPASS_CDC_TX1_MUX_CTL, 0, 2, cic_mux_text);
+ static const struct soc_enum cic2_mux_enum = SOC_ENUM_SINGLE(
+                               LPASS_CDC_TX2_MUX_CTL, 0, 2, cic_mux_text);
  /* RDAC2 MUX */
  static const struct snd_kcontrol_new dec1_mux = SOC_DAPM_ENUM(
                                "DEC1 MUX Mux", dec1_mux_enum);
  static const struct snd_kcontrol_new dec2_mux = SOC_DAPM_ENUM(
                                "DEC2 MUX Mux", dec2_mux_enum);
+ static const struct snd_kcontrol_new cic1_mux = SOC_DAPM_ENUM(
+                               "CIC1 MUX Mux", cic1_mux_enum);
+ static const struct snd_kcontrol_new cic2_mux = SOC_DAPM_ENUM(
+                               "CIC2 MUX Mux", cic2_mux_enum);
  static const struct snd_kcontrol_new rx_mix1_inp1_mux = SOC_DAPM_ENUM(
                                "RX1 MIX1 INP1 Mux", rx_mix1_inp_enum[0]);
  static const struct snd_kcontrol_new rx_mix1_inp2_mux = SOC_DAPM_ENUM(
@@@ -500,6 -512,8 +512,8 @@@ static const struct snd_soc_dapm_widge
        SND_SOC_DAPM_MUX("RX3 MIX1 INP3", SND_SOC_NOPM, 0, 0,
                         &rx3_mix1_inp3_mux),
  
+       SND_SOC_DAPM_MUX("CIC1 MUX", SND_SOC_NOPM, 0, 0, &cic1_mux),
+       SND_SOC_DAPM_MUX("CIC2 MUX", SND_SOC_NOPM, 0, 0, &cic2_mux),
        /* TX */
        SND_SOC_DAPM_MIXER("ADC1", SND_SOC_NOPM, 0, 0, NULL, 0),
        SND_SOC_DAPM_MIXER("ADC2", SND_SOC_NOPM, 0, 0, NULL, 0),
        /* Connectivity Clock */
        SND_SOC_DAPM_SUPPLY_S("CDC_CONN", -2, LPASS_CDC_CLK_OTHR_CTL, 2, 0,
                              NULL, 0),
+       SND_SOC_DAPM_MIC("Digital Mic1", NULL),
+       SND_SOC_DAPM_MIC("Digital Mic2", NULL),
  
  };
  
@@@ -655,6 -671,11 +671,11 @@@ static const struct snd_soc_dapm_route 
        {"AIF1 Capture", NULL, "I2S TX2"},
        {"AIF1 Capture", NULL, "I2S TX3"},
  
+       {"CIC1 MUX", "DMIC", "DEC1 MUX"},
+       {"CIC1 MUX", "AMIC", "DEC1 MUX"},
+       {"CIC2 MUX", "DMIC", "DEC2 MUX"},
+       {"CIC2 MUX", "AMIC", "DEC2 MUX"},
        /* Decimator Inputs */
        {"DEC1 MUX", "DMIC1", "DMIC1"},
        {"DEC1 MUX", "DMIC2", "DMIC2"},
        {"DMIC1", NULL, "DMIC_CLK"},
        {"DMIC2", NULL, "DMIC_CLK"},
  
-       {"I2S TX1", NULL, "DEC1 MUX"},
-       {"I2S TX2", NULL, "DEC2 MUX"},
+       {"I2S TX1", NULL, "CIC1 MUX"},
+       {"I2S TX2", NULL, "CIC2 MUX"},
  
        {"I2S TX1", NULL, "TX_I2S_CLK"},
        {"I2S TX2", NULL, "TX_I2S_CLK"},
@@@ -797,7 -818,7 +818,7 @@@ static void msm8916_wcd_digital_shutdow
                            LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_MASK, 0);
  }
  
 -static struct snd_soc_dai_ops msm8916_wcd_digital_dai_ops = {
 +static const struct snd_soc_dai_ops msm8916_wcd_digital_dai_ops = {
        .startup = msm8916_wcd_digital_startup,
        .shutdown = msm8916_wcd_digital_shutdown,
        .hw_params = msm8916_wcd_digital_hw_params,