ASoC: mediatek: mt6358: add delay after dmic clock on
authorJiaxin Yu <jiaxin.yu@mediatek.com>
Mon, 5 Aug 2019 04:56:37 +0000 (12:56 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 15 Aug 2019 14:04:04 +0000 (15:04 +0100)
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>
sound/soc/codecs/mt6358.c

index c17250aab2d0bbc13008f899befec620b0dc422b..bb737fd678cc6dd66c56eda436d51a330ee4eee9 100644 (file)
@@ -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;
 }