Hi.I've got a problem with playing audio in i.mx28 EVK.Would anyone help me?Thanks.
Details showed follow:
|Steps to Reproduce:|
Loop to playback a small sound file(such as a WAV with 3 seconds).For example,execute shell script bellow:
echo "aplay again..."
aplay test.wav #play a small audio file which hold 3 seconds.
|Expected Result:||The audio should work without trouble forever.|
|Observed Result:||After repeat-playing for some times(maybe several hours or more),the "aplay" would be blocked.Then,neither re-executing "aplay" nor reloading audio-related drivers(alsa driver,sgtl5000,DAI,DMA,and so on.. ) can solve this problem until reboot the system.|
|Subject:||i.mx28 audio works unexpected. Audio data can not be sent to I2S's FIFOs from DMA module.|
|Description:||We have approved that: the problem takes because of data in DMA module can not be sent to I2S's FIFOs(Note that,we wrote audio data directly to HW_SAIF_DATA after problem appeared,the audio data was sent to sgtl5000 immediately ).When problem appeared,we record the registers value as follow: |
HW_APBX_CTRL1 = 0x00500000
HW_APBX_CTRL2 = 0x0
HW_APBX_CH4_CURCMDAR = 0x40c0a3c0
HW_APBX_CH4_NXTCMDAR = 0x40c0a360
HW_APBX_CH4_CMD = 0x2000000e
HW_APBX_CH4_BAR = 0x40c20020
HW_APBX_CH4_SEMA = 0x00010000
HW_APBX_CH4_DBG1 = 0x0160000d
HW_APBX_CH4_DBG2 = 0x20001fe0
HW_SAIF_CTRL ＝ 0x08000801
HW_SAIF_STAT = 0x80000050
HW_SAIF_DATA = 0x0
HW_SAIF_VER = 0x01010000
Oh,God. My poor English!!!