This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TAS2505: Enhancing the speaker volume through amplifier registers causes distorted output on speaker.

Part Number: TAS2505

Hello,

We have used the TAS2505 amplifier in our custom board. The board has imx8mn processor.
There is a requirement from the customer to enhance the speaker output. But when we are increasing the gain value we hear distortion on the speaker output.
We are using the driver files from the below link,
git.ti.com/.../

We are modifying below registers,
1) Page1 register46 Speaker Volume Control Register

Changed the gain value to 0 from -2.5. 
2) Page1 register48 Speaker Amplifier Volume Control 2

 --- a/sound/soc/codecs/tas2505.c
+++ b/sound/soc/codecs/tas2505.c

@@ -305,7 +314,7 @@ static int tas2505_dac_mute(struct snd_soc_dai *codec_dai, int mute)
                snd_soc_update_bits(codec, TAS2505_DACSETUP2,
                        TAS2505_DACSETUP2_MUTE_MASK, 0x0);
                usleep_range(500, 1000);
-               snd_soc_write(codec, TAS2505_SPKVOL2, 0x20);
+               snd_soc_write(codec, TAS2505_SPKVOL2, 0x30);



Thanks,
Sujay

  • Hi Sujay,

    Most likely you're getting the output signal into saturation.

    If you set the gain to default 6dB there should be no clipping, however at 12dB or higher there's clipping at higher input signal levels. Notice that higher gain levels should be used only if the input signal is relatively small.
    You can see from THD+N vs Output Power plots that at a certain level, the distortion increases due to clipping.

    Best regards,
    -Ivan Salazar
    Applications Engineer