ASoC: Ensure WM8962 PLL registers are reset

The WM8962 has a separate software reset for the PLL registers. Ensure that
these are reset also on startup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
This commit is contained in:
Mark Brown 2011-11-01 13:36:10 +00:00
parent 64964e8264
commit 4f4488abc9

View File

@ -1961,7 +1961,13 @@ static int wm8962_readable_register(struct snd_soc_codec *codec, unsigned int re
static int wm8962_reset(struct snd_soc_codec *codec) static int wm8962_reset(struct snd_soc_codec *codec)
{ {
return snd_soc_write(codec, WM8962_SOFTWARE_RESET, 0x6243); int ret;
ret = snd_soc_write(codec, WM8962_SOFTWARE_RESET, 0x6243);
if (ret != 0)
return ret;
return snd_soc_write(codec, WM8962_PLL_SOFTWARE_RESET, 0);
} }
static const DECLARE_TLV_DB_SCALE(inpga_tlv, -2325, 75, 0); static const DECLARE_TLV_DB_SCALE(inpga_tlv, -2325, 75, 0);