summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiaxin Yu <jiaxin.yu@mediatek.com>2019-08-05 06:56:37 +0200
committerMark Brown <broonie@kernel.org>2019-08-15 16:04:04 +0200
commitccb1fa21ef58a2ac15519bb878470762e967e8b3 (patch)
tree70c391ee3ae6a73ef3c52652cc91d22c441a1308
parentASoC: mediatek: mt8183-mt6358-ts3a227-max98357: remove unused variables (diff)
downloadlinux-ccb1fa21ef58a2ac15519bb878470762e967e8b3.tar.xz
linux-ccb1fa21ef58a2ac15519bb878470762e967e8b3.zip
ASoC: mediatek: mt6358: add delay after dmic clock on
Most dmics produce a high level when they receive clock. The difference between power-on and memory record time is about 10ms, but the dmic needs 50ms to output normal data. This commit add 100ms delay after SoC output clock so that we can cut off the pop noise at the beginning. Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com> Link: https://lore.kernel.org/r/1564980997-11359-1-git-send-email-jiaxin.yu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/mt6358.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/mt6358.c b/sound/soc/codecs/mt6358.c
index c17250aab2d0..bb737fd678cc 100644
--- a/sound/soc/codecs/mt6358.c
+++ b/sound/soc/codecs/mt6358.c
@@ -1730,6 +1730,10 @@ static int mt6358_dmic_enable(struct mt6358_priv *priv)
/* UL turn on */
regmap_write(priv->regmap, MT6358_AFE_UL_SRC_CON0_L, 0x0003);
+
+ /* Prevent pop noise form dmic hw */
+ msleep(100);
+
return 0;
}