Loading asoc/codecs/wcd937x/wcd937x.c +16 −0 Original line number Diff line number Diff line Loading @@ -1020,6 +1020,22 @@ static int wcd937x_codec_enable_ear_pa(struct snd_soc_dapm_widget *w, snd_soc_component_update_bits(component, WCD937X_DIGITAL_PDM_WD_CTL0, 0x17, 0x00); usleep_range(10000, 10010); /* disable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x00); /* toggle EAR PA to let PA control registers take effect */ snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x80); snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x00); /* enable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x02); break; }; return ret; Loading Loading
asoc/codecs/wcd937x/wcd937x.c +16 −0 Original line number Diff line number Diff line Loading @@ -1020,6 +1020,22 @@ static int wcd937x_codec_enable_ear_pa(struct snd_soc_dapm_widget *w, snd_soc_component_update_bits(component, WCD937X_DIGITAL_PDM_WD_CTL0, 0x17, 0x00); usleep_range(10000, 10010); /* disable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x00); /* toggle EAR PA to let PA control registers take effect */ snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x80); snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x00); /* enable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x02); break; }; return ret; Loading