aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>2010-05-06 05:04:25 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-05-06 09:58:29 -0400
commit2f005471e2e2f2c7fa5898153387d421f7d24ad6 (patch)
treee59f7fe007741488d7364cb7a1db4422fadd84b4
parent6f3991152f20933b77eff30413e893bf1a15e578 (diff)
ASoC: tlv320dac33: Use codec defaults for LOM/LOP and DAC power
Do not change the codec defaults for the following registers: 0x40, 0x41: Line output gains, do not use amplification 0x42: LOM/LOP Voltage hold, and selection 0x44: LOM inversion control It has been found, that the values configured to these registers can cause amplification, which can make the output of DAC33 distorted. The codec reset values are considered safe in all environmnts. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r--sound/soc/codecs/tlv320dac33.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index 68b7ccbf2e7c..ad5e2636c944 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -303,21 +303,10 @@ static void dac33_init_chip(struct snd_soc_codec *codec)
303 /* C : (defaults) */ 303 /* C : (defaults) */
304 dac33_write(codec, DAC33_DAC_CTRL_C, 0x00); 304 dac33_write(codec, DAC33_DAC_CTRL_C, 0x00);
305 305
306 /* 64-65 : L&R DAC power control
307 Line In -> OUT 1V/V Gain, DAC -> OUT 4V/V Gain*/
308 dac33_write(codec, DAC33_LDAC_PWR_CTRL, DAC33_LROUT_GAIN(2));
309 dac33_write(codec, DAC33_RDAC_PWR_CTRL, DAC33_LROUT_GAIN(2));
310
311 /* 73 : volume soft stepping control, 306 /* 73 : volume soft stepping control,
312 clock source = internal osc (?) */ 307 clock source = internal osc (?) */
313 dac33_write(codec, DAC33_ANA_VOL_SOFT_STEP_CTRL, DAC33_VOLCLKEN); 308 dac33_write(codec, DAC33_ANA_VOL_SOFT_STEP_CTRL, DAC33_VOLCLKEN);
314 309
315 /* 66 : LOP/LOM Modes */
316 dac33_write(codec, DAC33_OUT_AMP_CM_CTRL, 0xff);
317
318 /* 68 : LOM inverted from LOP */
319 dac33_write(codec, DAC33_OUT_AMP_CTRL, (3<<2));
320
321 dac33_write(codec, DAC33_PWR_CTRL, DAC33_PDNALLB); 310 dac33_write(codec, DAC33_PWR_CTRL, DAC33_PDNALLB);
322 311
323 /* Restore only selected registers (gains mostly) */ 312 /* Restore only selected registers (gains mostly) */