[PATCH AUTOSEL 5.2 078/185] ASoC: mediatek: mt6358: add delay after dmic clock on

From: Sasha Levin
Date: Sun Sep 22 2019 - 15:26:33 EST


From: Jiaxin Yu <jiaxin.yu@xxxxxxxxxxxx>

[ Upstream commit ccb1fa21ef58a2ac15519bb878470762e967e8b3 ]

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@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/1564980997-11359-1-git-send-email-jiaxin.yu@xxxxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
sound/soc/codecs/mt6358.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/sound/soc/codecs/mt6358.c b/sound/soc/codecs/mt6358.c
index 50b3fc5457ea7..cab208aa22a77 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;
}

--
2.20.1