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.

TLV320DAC3100: TLV320DAC3100

Part Number: TLV320DAC3100

Hi Everyone,

I am using TLV320DAC3100 in our company's prototype board. When I play the audio.wav file, I don't here any sound in my headphones, which I have connected through a 3.5mm jack. 

qt850a:/sdcard # tinyplay audio.wav
[ 83.072432] tlv320aic31xx-codec 2-0018: ## aic31xx_hw_params: width 16 rate 44100

[ 83.471193] tlv320aic31xx-codec 2-0018: pll 7.5264/1 dosr 128 n 8 m 2 aosr 128 n 8 m 2 bclk_n 8
Playing sample: 2 ch, 44100 hz, 16 bit

qt850a:/sdcard # tinymix
Mixer name: 'Audio Output'
Number of controls: 17
ctl type num name value

0 BOOL 1 Speaker Driver Playback Switch Off
1 INT 1 Speaker Driver Playback Volume 0
2 INT 1 Speaker Analog Playback Volume 0
3 INT 2 DAC Playback Volume 127 127
4 BOOL 2 HP Driver Playback Switch Off Off
5 INT 2 HP Driver Playback Volume 0 0
6 INT 2 HP Analog Playback Volume 0 0
7 ENUM 1 DAC Left Input Left Data
8 ENUM 1 DAC Right Input Right Data
9 BOOL 1 HP Left Switch Off
10 BOOL 1 HP Right Switch Off
11 BOOL 1 Output Left From Left DAC Off
12 BOOL 1 Output Left From AIN1 Off
13 BOOL 1 Output Left From AIN2 Off
14 BOOL 1 Output Right From Right DAC Off
15 BOOL 1 Output Right From AIN2 Off
16 BOOL 1 Speaker Switch Off

Could you please help in finding out what's wrong?

Thank you

  • How are you interfacing with the board? I don't recognize the commands you're showing.

    Thank you,
    Jeff McPherson

  • So I am interfacing the IMX7D chip running android OS based on Linux 4.14.98 to TLV320DAC3100.


    Here is my device tree

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    sound {
    compatible = "simple-audio-card";
    simple-audio-card,name = "Audio Output";
    simple-audio-card,format = "i2s";
    simple-audio-card,bitclock-master = <&sound_codec>;
    simple-audio-card,frame-master = <&sound_codec>;
    simple-audio-card,widgets =
    "Headphone", "Headphone Jack",
    "Speaker", "speakerOut";
    simple-audio-card,routing =
    "Headphone Jack", "HPLOUT",
    "Headphone Jack", "HPROUT",
    "speakerOut", "SPK";
    simple-audio-card,cpu {
    sound-dai = <&sai1>;
    };
    sound_codec: simple-audio-card,codec {
    sound-dai = <&codec1>;
    clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    I see the code has been detected right in kernel logs:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    3.916525] snd-soc-dummy snd-soc-dummy: codec register snd-soc-dummy
    [ 3.923006] snd-soc-dummy snd-soc-dummy: ASoC: Registered codec 'snd-soc-dummy'
    [ 3.927194] mmc1: new ultra high speed SDR104 SDIO card at address 0001
    [ 3.930415] snd-soc-dummy snd-soc-dummy: ASoC: platform register snd-soc-dummy
    [ 3.945113] tlv320aic31xx-codec 2-0018: probe sai ## aic31xx_i2c_probe: tlv320dac3100 codec_type = 4
    [ 3.955143] tlv320aic31xx-codec 2-0018: probe sai successful ## aic31xx_i2c_probe: tlv320dac3100 codec_type = 4
    [ 3.965284] tlv320aic31xx-codec 2-0018: codec register 2-0018
    [ 3.971063] tlv320aic31xx-codec 2-0018: ASoC: Registered codec 'tlv320aic31xx-codec.2-0018'
    [ 3.980562] asoc-simple-card sound: simple audio card
    [ 3.989289] fsl-sai 308a0000.sai: Probe SAI
    [ 3.994007] fsl-sai 308a0000.sai: Probe SAI successful almost
    [ 3.999769] fsl-sai 308a0000.sai: ASoC: platform register 308a0000.sai
    4.382055] asoc-simple-card sound: simple audio card
    [ 4.387461] asoc-simple-card sound: simple device available
    [ 4.393364] tlv320aic31xx-codec 2-0018: SAI probe codec## aic31xx_codec_probe
    [ 4.400584] tlv320aic31xx-codec 2-0018: SAI probe## succesful aic31xx_codec_probe
    [ 4.408241] tlv320aic31xx-codec 2-0018: ## aic31xx_set_dai_fmt: fmt = 0x1001
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Fullscreen
    1
    2
    ALSA device list:
    [ 4.560538] #0: Audio Output
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    Thanks,
    Asma

  • Asma,

    Thanks for the clarification. I'll loop in our software expert to assist you.

    Best regards,

    Jeff McPherson

  • Hi Asma

    during playback, dump the tinymix, commands as following:

    # tinyplay audio.wav& // running playback background

    # tinymix

    One more thing, kindly measure the i2s clk wtih scope during playback