imx6 with AC97 audio codec - wrong sound reproduction

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imx6 with AC97 audio codec - wrong sound reproduction

ソリューションへジャンプ
2,243件の閲覧回数
diegobovi85
Contributor II

Hello,

We have developed a custom board using the imx6q CPU together with the CS4299 AC97 audio codec.

We are facing an issue after a variable time of audio reproduction that is always within 24 hours. 

At the power on, we start a cyclic play of a wav file sampled at 48Khz which contains a 1KHz pure tone. The length of the file is 1 second and we play it every 5 seconds.

The playback is correct the first hours, but if we check the tone later we get a distorted sound. Sometimes the frequency become 2KHz, sometimes 4KHz. The distortion is variable. We also tried to trap the event with an hardware trigger to capture the AC97 communication and we see that when the sound is correct the slots 3 and 4 are valid and the samples compose a 1KHz sine tone, while when the sound is wrong the slots 3, 4, 7 and 8 are valid and the samples compose a different sine tone despite the input file is always the same.

We have experienced this behaviour with both yocto krogoth (kernel linux-fslc-imx-4.1) and yocto sumo (linux-imx-4.9) together with pulseaudio and alsa-lib.

To play the sound we used QSound::play, paplay and aplay with the same result.

What is the cause of this behaviour? How can I debug and fix it?

Kind regards

Diego

ラベル(5)
0 件の賞賛
返信
1 解決策
2,101件の閲覧回数
diegobovi85
Contributor II

The issue is fixed in the official linux release 4.16. the involved file is fsl_ssi.c

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
2,102件の閲覧回数
diegobovi85
Contributor II

The issue is fixed in the official linux release 4.16. the involved file is fsl_ssi.c

0 件の賞賛
返信
2,101件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Diego

one can try with nxp linux from source.codeaurora.org/external/imx/linux-imx repository

linux-imx - i.MX Linux kernel 

(nxp does not support linux-fslc-imx-4.1 and yocto sumo linux-imx-4.9)

linux documentation

i.MX Software | NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信
2,101件の閲覧回数
diegobovi85
Contributor II

Hello Igor,

the linux-imx-4.9 that I used for my tests is the one that you can find in the source.codeaurora.org as you said. 

I tryed both branches imx_4.9.123_imx8mm_ga and imx_4.9.88_2.0.0_ga.

I need to understand if this problem is kernel related or if it is related to something else, for example alsa or pulse.

Kind regards

Diego

0 件の賞賛
返信
2,101件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Diego

to narrow down issue (if it is caused by linux) one can try with

baremetal i.MX6Q SDK test found on https://community.nxp.com/thread/432859 

Best regards
igor

0 件の賞賛
返信