From b3c1879704b429cc9cf192b02eebd2071c78fec8 Mon Sep 17 00:00:00 2001 From: Divya Ojha Date: Mon, 13 Feb 2017 18:49:47 +0530 Subject: ASoC: sdm660-cdc: Fix codec power up and down sequence Correct widget type for proper power up sequence. Pops are heard on headset with incorrect sequence. CRs-Fixed: 2001499 Change-Id: I98703738434f99e5c8778ccd4432c66b380d78a5 Signed-off-by: Divya Ojha --- sound/soc/codecs/sdm660_cdc/msm-analog-cdc.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/sdm660_cdc/msm-analog-cdc.c b/sound/soc/codecs/sdm660_cdc/msm-analog-cdc.c index 8f7db4d13378..5323c0465682 100644 --- a/sound/soc/codecs/sdm660_cdc/msm-analog-cdc.c +++ b/sound/soc/codecs/sdm660_cdc/msm-analog-cdc.c @@ -1453,7 +1453,6 @@ static int msm_anlg_cdc_codec_enable_clock_block(struct snd_soc_codec *codec, } else { snd_soc_update_bits(codec, MSM89XX_PMIC_DIGITAL_CDC_TOP_CLK_CTL, 0x0C, 0x00); - msm_anlg_cdc_dig_notifier_call(codec, DIG_CDC_EVENT_CLK_OFF); } return 0; } @@ -3500,18 +3499,24 @@ static const struct snd_soc_dapm_widget msm_anlg_cdc_dapm_widgets[] = { SND_SOC_DAPM_INPUT("AMIC1"), SND_SOC_DAPM_INPUT("AMIC2"), SND_SOC_DAPM_INPUT("AMIC3"), - SND_SOC_DAPM_INPUT("PDM_IN_RX1"), - SND_SOC_DAPM_INPUT("PDM_IN_RX2"), - SND_SOC_DAPM_INPUT("PDM_IN_RX3"), + SND_SOC_DAPM_AIF_IN("PDM_IN_RX1", "PDM Playback", + 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("PDM_IN_RX2", "PDM Playback", + 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("PDM_IN_RX3", "PDM Playback", + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_OUTPUT("EAR"), SND_SOC_DAPM_OUTPUT("WSA_SPK OUT"), SND_SOC_DAPM_OUTPUT("HEADPHONE"), SND_SOC_DAPM_OUTPUT("SPK_OUT"), SND_SOC_DAPM_OUTPUT("LINEOUT"), - SND_SOC_DAPM_OUTPUT("ADC1_OUT"), - SND_SOC_DAPM_OUTPUT("ADC2_OUT"), - SND_SOC_DAPM_OUTPUT("ADC3_OUT"), + SND_SOC_DAPM_AIF_OUT("ADC1_OUT", "PDM Capture", + 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("ADC2_OUT", "PDM Capture", + 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("ADC3_OUT", "PDM Capture", + 0, SND_SOC_NOPM, 0, 0), }; static const struct sdm660_cdc_reg_mask_val msm_anlg_cdc_reg_defaults[] = { -- cgit v1.2.3 From 4786e3e1ada2376b8ecde83825a9308d653509bc Mon Sep 17 00:00:00 2001 From: Divya Ojha Date: Thu, 16 Feb 2017 13:01:16 +0530 Subject: ARM: dts: msm: Add routing controls for sdm660 internal codec Add routing controls to connect analog and digital codecs for both RX and TX paths. Change-Id: I9d9c9b07c11ad0c36c4e5726b3466f02f2f9ef6c Signed-off-by: Divya Ojha --- arch/arm/boot/dts/qcom/msm-audio.dtsi | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/qcom/msm-audio.dtsi b/arch/arm/boot/dts/qcom/msm-audio.dtsi index a8a174300c7e..c8e9f9011e2f 100644 --- a/arch/arm/boot/dts/qcom/msm-audio.dtsi +++ b/arch/arm/boot/dts/qcom/msm-audio.dtsi @@ -823,7 +823,13 @@ "DMIC4", "MIC BIAS External", "MIC BIAS External", "Digital Mic4", "SpkrLeft IN", "SPK1 OUT", - "SpkrRight IN", "SPK2 OUT"; + "SpkrRight IN", "SPK2 OUT", + "PDM_IN_RX1", "PDM_OUT_RX1", + "PDM_IN_RX2", "PDM_OUT_RX2", + "PDM_IN_RX3", "PDM_OUT_RX3", + "ADC1_IN", "ADC1_OUT", + "ADC2_IN", "ADC2_OUT", + "ADC3_IN", "ADC3_OUT"; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, -- cgit v1.2.3