Hello,
I work on a board based from DM365EVM baseboard, but with the WM8731 codec instead of the TLV320AIC3x. I tried with several linux kernels (one is the 3.6.6 release). Now the playback works but not the capture, and I'm not able to debug this issue. I have many "0" frames in the captured data, although data and rate on I2S bus is OK. 22 null frames, then 2 non null frames. I tried to capture a sinusoidal wave.
Version of kernel : 3.6.6-dirty Version of alsa lib : 1.0.25
Here are the attached files: - dmesg.txt : dmesg log after kernel init - .config - all the files of the kernel I modified/added for my board - capture_alsalib_traces.txt : some traces I put in the alsa lib during capture - dmesg_capture.txt : some traces I put in the kernel during capture - capture_test.wav.hexdump : the result of the capture (arecord -f S16_LE)
I modified the wm8731.c file because I wasn't able to activate the required functions of the codec with alsamixer, and I don't undestand how dapm works...
Maybe I missed something in the board or platform dependant files? About the DMA? I don't undestand why the playback works but not the capture. I also worked with the kernel provided with the DM365EVM board (from Montavista, linux_2.6.18_pro500, DaVinciLSP_02_10_00_08), the results are better, I "only" have one null frame for 2 frames, even with a stereo input signal (on the left and right input line).
Thanks for your help.