[alsa-devel] Support request for codec WM8731 porting
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.
On 30.11.2012 17:41, Cyril GERMAINE wrote:
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.
Do you see the audio gaps in I2S as well? This is the first thing to investigate on, because if they aren't, your problem is unrelated to the Codec.
What are the differences between your board and the DM365EVM regarding the SoC and the clocks ratios? Does the DM365EVM work with 3.6.6? How do your board support files and ASoC machine driver differ?
Too many open questions here that need to be addressed.
Daniel
Thank you Daniel for your reply.
I found out what was the problem.
I was trying to use the WM8731 in I2S mode (porting from another board), but davinci CPU doesn't support true I2S. Switching to DSP mode resolved my problems.
Cyril
On 30/11/2012 18:17, Daniel Mack wrote:
On 30.11.2012 17:41, Cyril GERMAINE wrote:
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.
Do you see the audio gaps in I2S as well? This is the first thing to investigate on, because if they aren't, your problem is unrelated to the Codec.
What are the differences between your board and the DM365EVM regarding the SoC and the clocks ratios? Does the DM365EVM work with 3.6.6? How do your board support files and ASoC machine driver differ?
Too many open questions here that need to be addressed.
Daniel
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (2)
-
Cyril GERMAINE
-
Daniel Mack