diff options
author | Marek Vasut <marek.vasut@gmail.com> | 2009-05-14 15:52:46 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-05-14 15:52:46 -0400 |
commit | 63c26baa2aa624b023892d66ed696525fc787560 (patch) | |
tree | 1430f0c2f124b46cadb3edd898202e7c5a9e756e /sound/soc/codecs | |
parent | c13cb78ace34ef9e4cfa2a2fae9a7772d90d6ace (diff) |
ASoC: Support AC97 link off by default on WM9712
The WM9712 can be configured by resistor strapping GPIO4 to behave like
the WM9713 and default to leaving the AC97 link disabled after cold
reset until a warm reset occurs. In this configuration we need to issue
a warm reset after cold to bring the link up so do so. The warm reset
will be harmless on systems that don't need it.
[Changelog rewritten to document the reasoning. -- broonie]
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/wm9712.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c index 550c903f23bf..1fd4e88f50cf 100644 --- a/sound/soc/codecs/wm9712.c +++ b/sound/soc/codecs/wm9712.c | |||
@@ -585,6 +585,8 @@ static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) | |||
585 | } | 585 | } |
586 | 586 | ||
587 | soc_ac97_ops.reset(codec->ac97); | 587 | soc_ac97_ops.reset(codec->ac97); |
588 | if (soc_ac97_ops.warm_reset) | ||
589 | soc_ac97_ops.warm_reset(codec->ac97); | ||
588 | if (ac97_read(codec, 0) != wm9712_reg[0]) | 590 | if (ac97_read(codec, 0) != wm9712_reg[0]) |
589 | goto err; | 591 | goto err; |
590 | return 0; | 592 | return 0; |