From 25175a9c42ffa91614f2a455d5394aaadd0835d9 Mon Sep 17 00:00:00 2001 From: Vatsal Bucha Date: Wed, 24 Jul 2019 12:48:18 +0530 Subject: [PATCH] ASoC: Add delay before impedance detection for wcd937x and wcd938x 1ms delay is needed for impedance detection after disabling hph surge. Add delay for wcd937x and wcd938x. Change-Id: I515fa0ca66562c91cb4aacb87cb7394122aa1c10 Signed-off-by: Vatsal Bucha --- asoc/codecs/wcd937x/wcd937x-mbhc.c | 2 ++ asoc/codecs/wcd938x/wcd938x-mbhc.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/asoc/codecs/wcd937x/wcd937x-mbhc.c b/asoc/codecs/wcd937x/wcd937x-mbhc.c index cec70e7ff302..72ca24936fef 100644 --- a/asoc/codecs/wcd937x/wcd937x-mbhc.c +++ b/asoc/codecs/wcd937x/wcd937x-mbhc.c @@ -552,6 +552,8 @@ static void wcd937x_wcd_mbhc_calc_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, */ regmap_update_bits(wcd937x->regmap, WCD937X_HPH_SURGE_HPHLR_SURGE_EN, 0xC0, 0x00); + /* 1ms delay needed after disable surge protection */ + usleep_range(1000, 1010); /* First get impedance on Left */ d1 = d1_a[1]; diff --git a/asoc/codecs/wcd938x/wcd938x-mbhc.c b/asoc/codecs/wcd938x/wcd938x-mbhc.c index 9c49755935f9..f93e9b90ac15 100644 --- a/asoc/codecs/wcd938x/wcd938x-mbhc.c +++ b/asoc/codecs/wcd938x/wcd938x-mbhc.c @@ -552,6 +552,8 @@ static void wcd938x_wcd_mbhc_calc_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, */ regmap_update_bits(wcd938x->regmap, WCD938X_HPH_SURGE_HPHLR_SURGE_EN, 0xC0, 0x00); + /* 1ms delay needed after disable surge protection */ + usleep_range(1000, 1010); /* First get impedance on Left */ d1 = d1_a[1];