Prechádzať zdrojové kódy

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 <[email protected]>
Vatsal Bucha 5 rokov pred
rodič
commit
25175a9c42

+ 2 - 0
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];

+ 2 - 0
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];