Commit 326b1817 authored by Shunli Wang's avatar Shunli Wang Committed by Mark Brown

ASoC: Mediatek: MT8183: enable IIR filter

IIR fileter can remove DC offset. It must be enabled when
dmic or amic connected to pmic is used.
Signed-off-by: default avatarShunli Wang <shunli.wang@mediatek.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b0a821da
...@@ -176,9 +176,6 @@ static int mtk_adda_ul_event(struct snd_soc_dapm_widget *w, ...@@ -176,9 +176,6 @@ static int mtk_adda_ul_event(struct snd_soc_dapm_widget *w,
case SND_SOC_DAPM_POST_PMD: case SND_SOC_DAPM_POST_PMD:
/* should delayed 1/fs(smallest is 8k) = 125us before afe off */ /* should delayed 1/fs(smallest is 8k) = 125us before afe off */
usleep_range(125, 135); usleep_range(125, 135);
/* reset dmic */
afe_priv->mtkaif_dmic = 0;
break; break;
default: default:
break; break;
...@@ -426,6 +423,17 @@ static int mtk_dai_adda_hw_params(struct snd_pcm_substream *substream, ...@@ -426,6 +423,17 @@ static int mtk_dai_adda_hw_params(struct snd_pcm_substream *substream,
ul_src_con0 |= (voice_mode << 17) & (0x7 << 17); ul_src_con0 |= (voice_mode << 17) & (0x7 << 17);
/* enable iir */
ul_src_con0 |= (1 << UL_IIR_ON_TMP_CTL_SFT) &
UL_IIR_ON_TMP_CTL_MASK_SFT;
/* 35Hz @ 48k */
regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_02_01, 0x00000000);
regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_04_03, 0x00003FB8);
regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_06_05, 0x3FB80000);
regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_08_07, 0x3FB80000);
regmap_write(afe->regmap, AFE_ADDA_IIR_COEF_10_09, 0x0000C048);
regmap_write(afe->regmap, AFE_ADDA_UL_SRC_CON0, ul_src_con0); regmap_write(afe->regmap, AFE_ADDA_UL_SRC_CON0, ul_src_con0);
/* mtkaif_rxif_data_mode = 0, amic */ /* mtkaif_rxif_data_mode = 0, amic */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment