Loading asoc/codecs/wcd937x/wcd937x-mbhc.c +11 −1 Original line number Diff line number Diff line /* Copyright (c) 2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -545,6 +545,13 @@ static void wcd937x_wcd_mbhc_calc_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, regmap_update_bits(wcd937x->regmap, WCD937X_ANA_MBHC_MECH, 0x01, 0x00); /* * Disable surge protection before impedance detection. * This is done to give correct value for high impedance. */ regmap_update_bits(wcd937x->regmap, WCD937X_HPH_SURGE_HPHLR_SURGE_EN, 0xC0, 0x00); /* First get impedance on Left */ d1 = d1_a[1]; zdet_param_ptr = &zdet_param[1]; Loading Loading @@ -654,6 +661,9 @@ static void wcd937x_wcd_mbhc_calc_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, mbhc->hph_type = WCD_MBHC_HPH_MONO; } /* Enable surge protection again after impedance detection */ regmap_update_bits(wcd937x->regmap, WCD937X_HPH_SURGE_HPHLR_SURGE_EN, 0xC0, 0xC0); zdet_complete: snd_soc_write(codec, WCD937X_ANA_MBHC_BTN5, reg0); snd_soc_write(codec, WCD937X_ANA_MBHC_BTN6, reg1); Loading Loading
asoc/codecs/wcd937x/wcd937x-mbhc.c +11 −1 Original line number Diff line number Diff line /* Copyright (c) 2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -545,6 +545,13 @@ static void wcd937x_wcd_mbhc_calc_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, regmap_update_bits(wcd937x->regmap, WCD937X_ANA_MBHC_MECH, 0x01, 0x00); /* * Disable surge protection before impedance detection. * This is done to give correct value for high impedance. */ regmap_update_bits(wcd937x->regmap, WCD937X_HPH_SURGE_HPHLR_SURGE_EN, 0xC0, 0x00); /* First get impedance on Left */ d1 = d1_a[1]; zdet_param_ptr = &zdet_param[1]; Loading Loading @@ -654,6 +661,9 @@ static void wcd937x_wcd_mbhc_calc_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, mbhc->hph_type = WCD_MBHC_HPH_MONO; } /* Enable surge protection again after impedance detection */ regmap_update_bits(wcd937x->regmap, WCD937X_HPH_SURGE_HPHLR_SURGE_EN, 0xC0, 0xC0); zdet_complete: snd_soc_write(codec, WCD937X_ANA_MBHC_BTN5, reg0); snd_soc_write(codec, WCD937X_ANA_MBHC_BTN6, reg1); Loading