|
|
@@ -1280,6 +1280,7 @@ static int sgtl5000_probe(struct snd_soc_component *component)
|
|
|
int ret;
|
|
|
u16 reg;
|
|
|
struct sgtl5000_priv *sgtl5000 = snd_soc_component_get_drvdata(component);
|
|
|
+ unsigned int zcd_mask = SGTL5000_HP_ZCD_EN | SGTL5000_ADC_ZCD_EN;
|
|
|
|
|
|
/* power up sgtl5000 */
|
|
|
ret = sgtl5000_set_power_regs(component);
|
|
|
@@ -1305,9 +1306,8 @@ static int sgtl5000_probe(struct snd_soc_component *component)
|
|
|
reg = ((sgtl5000->lrclk_strength) << SGTL5000_PAD_I2S_LRCLK_SHIFT | 0x5f);
|
|
|
snd_soc_component_write(component, SGTL5000_CHIP_PAD_STRENGTH, reg);
|
|
|
|
|
|
- snd_soc_component_write(component, SGTL5000_CHIP_ANA_CTRL,
|
|
|
- SGTL5000_HP_ZCD_EN |
|
|
|
- SGTL5000_ADC_ZCD_EN);
|
|
|
+ snd_soc_component_update_bits(component, SGTL5000_CHIP_ANA_CTRL,
|
|
|
+ zcd_mask, zcd_mask);
|
|
|
|
|
|
snd_soc_component_update_bits(component, SGTL5000_CHIP_MIC_CTRL,
|
|
|
SGTL5000_BIAS_R_MASK,
|