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.
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
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>; }; }; codec1: codec@18 { compatible = "ti,tlv320dac3100"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_codec1>; reg = <0x18>; //verify this #sound-dai-cells = <0>; HPVDD-supply = <&audio_3v3>; SPRVDD-supply = <&audio_3v3>; SPLVDD-supply = <&audio_3v3>; AVDD-supply = <&audio_3v3>; IOVDD-supply = <&audio_3v3>; DVDD-supply = <&audio_3v3>; gpio-reset = <&gpio3 22 GPIO_ACTIVE_HIGH>; status = "okay"; }; &sai1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai1>; assigned-clocks = <&clks IMX7D_SAI1_ROOT_SRC>, <&clks IMX7D_SAI1_ROOT_CLK>; assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>; assigned-clock-rates = <0>, <24576000>; // find correct value status = "okay"; };
I see the code has been detected right in kernel logs:
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
ALSA device list: [ 4.560538] #0: Audio Output
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