ASoC: Optimise configuration of WM8903 DC servo
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 22 Apr 2009 19:32:40 +0000 (20:32 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 22 Apr 2009 20:37:30 +0000 (21:37 +0100)
Modify the default startup sequence in the chip to set the DC servo
dither level for optimal performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8903.c

index 27c8b94..de0a585 100644 (file)
@@ -978,6 +978,11 @@ static int wm8903_set_bias_level(struct snd_soc_codec *codec,
                        wm8903_write(codec, WM8903_CLOCK_RATES_2,
                                     WM8903_CLK_SYS_ENA);
 
+                       /* Change DC servo dither level in startup sequence */
+                       wm8903_write(codec, WM8903_WRITE_SEQUENCER_0, 0x11);
+                       wm8903_write(codec, WM8903_WRITE_SEQUENCER_1, 0x1257);
+                       wm8903_write(codec, WM8903_WRITE_SEQUENCER_2, 0x2);
+
                        wm8903_run_sequence(codec, 0);
                        wm8903_sync_reg_cache(codec, codec->reg_cache);