Tool/software:
We are working with a Linux design which has a TLV320AIC3110 as audio codec. The system works perfect while capturing and recording separately. However the sound looks like a blown speaker while capturing and playing at the same time. The system is based on Linux Kernel 6.6.x with ALSA. We couldn't figure out why it is happening. Could anyone help? Thanks.
This is the schematic:
This is the amixer contents:
numid=4,iface=MIXER,name='Mic PGA Capture Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=119,step=0
: values=110
| dBscale-min=0.00dB,step=0.50dB,mute=0
numid=1,iface=MIXER,name='ADC Fine Capture Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=4,step=0
: values=2
| dBscale-min=0.00dB,step=0.10dB,mute=0
numid=2,iface=MIXER,name='ADC Capture Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=3,iface=MIXER,name='ADC Capture Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=64,step=0
: values=56
| dBscale-min=-20.00dB,step=0.50dB,mute=0
numid=15,iface=MIXER,name='DAC Left Input'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 'Off'
; Item #1 'Left Data'
; Item #2 'Right Data'
; Item #3 'Mono'
: values=1
numid=8,iface=MIXER,name='DAC Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=175,step=0
: values=119,119
| dBscale-min=-63.50dB,step=0.50dB,mute=0
numid=16,iface=MIXER,name='DAC Right Input'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 'Off'
; Item #1 'Right Data'
; Item #2 'Left Data'
; Item #3 'Mono'
: values=1
numid=11,iface=MIXER,name='HP Analog Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
: values=0,0
| dBscale-min=-63.50dB,step=0.50dB,mute=0
numid=9,iface=MIXER,name='HP Driver Playback Switch'
; type=BOOLEAN,access=rw------,values=2
: values=off,off
numid=10,iface=MIXER,name='HP Driver Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=9,step=0
: values=0,0
| dBscale-min=0.00dB,step=1.00dB,mute=0
numid=17,iface=MIXER,name='HP Left Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=12,iface=MIXER,name='HP Output Driver Power-On time'
; type=ENUMERATED,access=rw------,values=1,items=12
; Item #0 '0us'
; Item #1 '15.3us'
; Item #2 '153us'
; Item #3 '1.53ms'
; Item #4 '15.3ms'
; Item #5 '76.2ms'
; Item #6 '153ms'
; Item #7 '304ms'
; Item #8 '610ms'
; Item #9 '1.22s'
; Item #10 '3.04s'
; Item #11 '6.1s'
: values=0
numid=13,iface=MIXER,name='HP Output Driver Ramp-up step'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 '0ms'
; Item #1 '0.98ms'
; Item #2 '1.95ms'
; Item #3 '3.9ms'
: values=3
numid=18,iface=MIXER,name='HP Right Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=22,iface=MIXER,name='MIC1LM M-Terminal'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 'Off'
; Item #1 'FFR 10 Ohm'
; Item #2 'FFR 20 Ohm'
; Item #3 'FFR 40 Ohm'
: values=0
numid=21,iface=MIXER,name='MIC1LM P-Terminal'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 'Off'
; Item #1 'FFR 10 Ohm'
; Item #2 'FFR 20 Ohm'
; Item #3 'FFR 40 Ohm'
: values=0
numid=19,iface=MIXER,name='MIC1LP P-Terminal'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 'Off'
; Item #1 'FFR 10 Ohm'
; Item #2 'FFR 20 Ohm'
; Item #3 'FFR 40 Ohm'
: values=1
numid=20,iface=MIXER,name='MIC1RP P-Terminal'
; type=ENUMERATED,access=rw------,values=1,items=4
; Item #0 'Off'
; Item #1 'FFR 10 Ohm'
; Item #2 'FFR 20 Ohm'
; Item #3 'FFR 40 Ohm'
: values=1
numid=23,iface=MIXER,name='Output Left From Left DAC'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=24,iface=MIXER,name='Output Left From MIC1LP'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=25,iface=MIXER,name='Output Left From MIC1RP'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=27,iface=MIXER,name='Output Right From MIC1RP'
; type=BOOLEAN,access=rw------,values=1
: values=off
numid=26,iface=MIXER,name='Output Right From Right DAC'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=7,iface=MIXER,name='Speaker Analog Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
: values=127,127
| dBscale-min=-63.50dB,step=0.50dB,mute=0
numid=5,iface=MIXER,name='Speaker Driver Playback Switch'
; type=BOOLEAN,access=rw------,values=2
: values=on,on
numid=6,iface=MIXER,name='Speaker Driver Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
: values=1,1
| dBscale-min=6.00dB,step=6.00dB,mute=0
numid=28,iface=MIXER,name='Speaker Left Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=29,iface=MIXER,name='Speaker Right Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
numid=14,iface=MIXER,name='Volume Soft Stepping'
; type=ENUMERATED,access=rw------,values=1,items=3
; Item #0 'fast'
; Item #1 'slow'
; Item #2 'disabled'
: values=0