Hi,
Just to confirm my understanding — the issue is that when you play a mono file initially, you hear disturbance/distortion, but if you play a stereo file first and then play the mono file again, it works fine. Is that correct?
Could you please dump the Tegra I2S registers in both the working and non-working cases while playback is actively running cat /sys/kernel/debug/regmap/<addr>.i2s/registers > ~/reg_dump. This will help us compare the register states and identify what’s different between the two scenarios.
Also, are you setting the I2S\<i\> Codec Frame Mode control to dsp-a? Could you confirm what frame mode is being used?
Thanks.
How to confirm which frame mode is being used
Read the current value of the I2S2 Codec Frame Mode mixer control by running amixer -c APE cget name=“I2S2 Codec Frame Mode”, if it is not set to dsp-a, please set it and check the behavior.
Okay, thank you. I’ll give it a try
hzx@hzx-desktop:~/test$ amixer -c APE cget name=“I2S2 Codec Frame Mode”
amixer: Cannot find the given element from control sysdefault:1
I think it’s due to invalid quotes, please type the command in ubuntu shell rather than copying it.
hzx@hzx-desktop:~/test$ amixer -c APE cget name=“I2S2 codec frame mode”
numid=1258,iface=MIXER,name=‘I2S2 codec frame mode’
; type=ENUMERATED,access=rw------,values=1,items=6
; Item #0 ‘None’
; Item #1 ‘i2s’
; Item #2 ‘right-j’
; Item #3 ‘left-j’
; Item #4 ‘dsp-a’
; Item #5 ‘dsp-b’
: values=0
hzx@hzx-desktop:~/test$ amixer -c APE cset name=“I2S2 codec frame mode” 4
numid=1258,iface=MIXER,name=‘I2S2 codec frame mode’
; type=ENUMERATED,access=rw------,values=1,items=6
; Item #0 ‘None’
; Item #1 ‘i2s’
; Item #2 ‘right-j’
; Item #3 ‘left-j’
; Item #4 ‘dsp-a’
; Item #5 ‘dsp-b’
: values=4
Set dsp-a, it’s still the same
please provide the dump as asked here in working and non-working case.
Please provide dump when playback is active in working and non-working case, idle case dump is not required.
Hi,
The Tegra I2S configuration looks fine. The issue is likely on the codec side — could you check if there are any ES8316-specific mixer controls related to mono configuration which need to be set?
Also, regarding the disturbance you’re hearing — is the noise only at the beginning of the mono playback, or does it persist throughout the entire duration?
The issue is that there is noise when playing in dual-channel mode. However, when playing a mono file first and then switching to dual-channel mode, the playback is normal
During the playback process of dual-channel audio, there is always noise
The temporary activation of noise is circumvented by playing mono files. Additionally, the recording function is not working properly: the recording can generate a file, but there is no sound. Please take a look and help, thank you
amixer -c APE cset name=“ADMAIF1 Mux” I2S2
arecord -D hw:APE,0 --period-size=1024 --buffer-size=4096 -r 48000 -c 2 -f s16_le r.wav
Okay, thank you. I’ll give it a try first
The i2s loopback test is normal. I will contact the audio codec manufacturer for analysis
Thank you for your support. The recording is normal now. There was snow noise in the broadcast before. Is there any analysis method