@@ -218,6 +218,8 @@ static const char *const rx_mix1_text[] = {
218
218
static const char * const dec_mux_text [] = {
219
219
"ZERO" , "ADC1" , "ADC2" , "ADC3" , "DMIC1" , "DMIC2"
220
220
};
221
+
222
+ static const char * const cic_mux_text [] = { "AMIC" , "DMIC" };
221
223
static const char * const rx_mix2_text [] = { "ZERO" , "IIR1" , "IIR2" };
222
224
static const char * const adc2_mux_text [] = { "ZERO" , "INP2" , "INP3" };
223
225
@@ -256,11 +258,21 @@ static const struct soc_enum dec1_mux_enum = SOC_ENUM_SINGLE(
256
258
static const struct soc_enum dec2_mux_enum = SOC_ENUM_SINGLE (
257
259
LPASS_CDC_CONN_TX_B1_CTL , 3 , 6 , dec_mux_text );
258
260
261
+ /* CIC */
262
+ static const struct soc_enum cic1_mux_enum = SOC_ENUM_SINGLE (
263
+ LPASS_CDC_TX1_MUX_CTL , 0 , 2 , cic_mux_text );
264
+ static const struct soc_enum cic2_mux_enum = SOC_ENUM_SINGLE (
265
+ LPASS_CDC_TX2_MUX_CTL , 0 , 2 , cic_mux_text );
266
+
259
267
/* RDAC2 MUX */
260
268
static const struct snd_kcontrol_new dec1_mux = SOC_DAPM_ENUM (
261
269
"DEC1 MUX Mux" , dec1_mux_enum );
262
270
static const struct snd_kcontrol_new dec2_mux = SOC_DAPM_ENUM (
263
271
"DEC2 MUX Mux" , dec2_mux_enum );
272
+ static const struct snd_kcontrol_new cic1_mux = SOC_DAPM_ENUM (
273
+ "CIC1 MUX Mux" , cic1_mux_enum );
274
+ static const struct snd_kcontrol_new cic2_mux = SOC_DAPM_ENUM (
275
+ "CIC2 MUX Mux" , cic2_mux_enum );
264
276
static const struct snd_kcontrol_new rx_mix1_inp1_mux = SOC_DAPM_ENUM (
265
277
"RX1 MIX1 INP1 Mux" , rx_mix1_inp_enum [0 ]);
266
278
static const struct snd_kcontrol_new rx_mix1_inp2_mux = SOC_DAPM_ENUM (
@@ -500,6 +512,8 @@ static const struct snd_soc_dapm_widget msm8916_wcd_digital_dapm_widgets[] = {
500
512
SND_SOC_DAPM_MUX ("RX3 MIX1 INP3" , SND_SOC_NOPM , 0 , 0 ,
501
513
& rx3_mix1_inp3_mux ),
502
514
515
+ SND_SOC_DAPM_MUX ("CIC1 MUX" , SND_SOC_NOPM , 0 , 0 , & cic1_mux ),
516
+ SND_SOC_DAPM_MUX ("CIC2 MUX" , SND_SOC_NOPM , 0 , 0 , & cic2_mux ),
503
517
/* TX */
504
518
SND_SOC_DAPM_MIXER ("ADC1" , SND_SOC_NOPM , 0 , 0 , NULL , 0 ),
505
519
SND_SOC_DAPM_MIXER ("ADC2" , SND_SOC_NOPM , 0 , 0 , NULL , 0 ),
@@ -536,6 +550,8 @@ static const struct snd_soc_dapm_widget msm8916_wcd_digital_dapm_widgets[] = {
536
550
/* Connectivity Clock */
537
551
SND_SOC_DAPM_SUPPLY_S ("CDC_CONN" , -2 , LPASS_CDC_CLK_OTHR_CTL , 2 , 0 ,
538
552
NULL , 0 ),
553
+ SND_SOC_DAPM_MIC ("Digital Mic1" , NULL ),
554
+ SND_SOC_DAPM_MIC ("Digital Mic2" , NULL ),
539
555
540
556
};
541
557
@@ -655,6 +671,11 @@ static const struct snd_soc_dapm_route msm8916_wcd_digital_audio_map[] = {
655
671
{"AIF1 Capture" , NULL , "I2S TX2" },
656
672
{"AIF1 Capture" , NULL , "I2S TX3" },
657
673
674
+ {"CIC1 MUX" , "DMIC" , "DEC1 MUX" },
675
+ {"CIC1 MUX" , "AMIC" , "DEC1 MUX" },
676
+ {"CIC2 MUX" , "DMIC" , "DEC2 MUX" },
677
+ {"CIC2 MUX" , "AMIC" , "DEC2 MUX" },
678
+
658
679
/* Decimator Inputs */
659
680
{"DEC1 MUX" , "DMIC1" , "DMIC1" },
660
681
{"DEC1 MUX" , "DMIC2" , "DMIC2" },
@@ -673,8 +694,8 @@ static const struct snd_soc_dapm_route msm8916_wcd_digital_audio_map[] = {
673
694
{"DMIC1" , NULL , "DMIC_CLK" },
674
695
{"DMIC2" , NULL , "DMIC_CLK" },
675
696
676
- {"I2S TX1" , NULL , "DEC1 MUX" },
677
- {"I2S TX2" , NULL , "DEC2 MUX" },
697
+ {"I2S TX1" , NULL , "CIC1 MUX" },
698
+ {"I2S TX2" , NULL , "CIC2 MUX" },
678
699
679
700
{"I2S TX1" , NULL , "TX_I2S_CLK" },
680
701
{"I2S TX2" , NULL , "TX_I2S_CLK" },
0 commit comments