Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f005471 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Liam Girdwood
Browse files

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: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent 6f399115
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -303,21 +303,10 @@ static void dac33_init_chip(struct snd_soc_codec *codec)
	/* C : (defaults) */
	dac33_write(codec, DAC33_DAC_CTRL_C, 0x00);

	/* 64-65 : L&R DAC power control
	 Line In -> OUT 1V/V Gain, DAC -> OUT 4V/V Gain*/
	dac33_write(codec, DAC33_LDAC_PWR_CTRL, DAC33_LROUT_GAIN(2));
	dac33_write(codec, DAC33_RDAC_PWR_CTRL, DAC33_LROUT_GAIN(2));

	/* 73 : volume soft stepping control,
	 clock source = internal osc (?) */
	dac33_write(codec, DAC33_ANA_VOL_SOFT_STEP_CTRL, DAC33_VOLCLKEN);

	/* 66 : LOP/LOM Modes */
	dac33_write(codec, DAC33_OUT_AMP_CM_CTRL, 0xff);

	/* 68 : LOM inverted from LOP */
	dac33_write(codec, DAC33_OUT_AMP_CTRL, (3<<2));

	dac33_write(codec, DAC33_PWR_CTRL, DAC33_PDNALLB);

	/* Restore only selected registers (gains mostly) */