diff options
author | Peter Ujfalusi <peter.ujfalusi@nokia.com> | 2010-05-06 05:04:25 -0400 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-05-06 09:58:29 -0400 |
commit | 2f005471e2e2f2c7fa5898153387d421f7d24ad6 (patch) | |
tree | e59f7fe007741488d7364cb7a1db4422fadd84b4 /sound/soc/codecs | |
parent | 6f3991152f20933b77eff30413e893bf1a15e578 (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>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/tlv320dac33.c | 11 |
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) */ |