hello,everyone
On my custom board, audio codec device is max5556, it is a audio DAC chip without control interface, it is connected to imx6q chip with I2S interface only.
I use file sound/soc/codecs/wm8727.c as template because wm8727 is very similar to max5556. my source code is on attach file.
My linux kernel version is 3.0.35.
With log, I am sure probe function in max5556.c is called successfully, but ALSA can not found soundcard, anyone can help me?
Original Attachment has been moved to: max5556.c.txt.zip
Original Attachment has been moved to: board-mx6q_sabresd.c.txt.zip
已解决! 转到解答。
imx_hifi_hw_params( ) is important.
Dai format set to SND_SOC_DAIFMT_CBS_CFS for SSI master mode.
I have tried to use wm8962 source code as template, I have comment out all the I2C communication code, now the sound card can be found.
[ 21.144501] ALSA device list:
[ 21.147470] #0: wm8962-audio
But new problem happened, the following error message has been printed out:
[ 163.896499] !KEEP THE SAME CHANNEL NUMBER: 2!
[ 163.896504] Failed to match hw params: -22
[ 163.896508] asoc: machine hw_params failed
[ 215.480326] POST_PMU: HPOUTL PGA event failed: -110
[ 215.990313] POST_PMU: HPOUTR PGA event failed: -110
[ 324.030318] wm8962 0-001a: DC servo timed out
[ 369.930318] POST_PMU: HPOUTL PGA event failed: -110
[ 370.440316] POST_PMU: HPOUTR PGA event failed: -110
[ 478.480320] wm8962 0-001a: DC servo timed out
[ 479.501460]
[ 479.501462] !KEEP THE SAME CHANNEL NUMBER: 2!
[ 479.507308] Failed to match hw params: -22
[ 479.519904] asoc: machine hw_params failed
[ 479.524254]
[ 479.524256] !KEEP THE SAME CHANNEL NUMBER: 2!
[ 479.530100] Failed to match hw params: -22
[ 479.534717] asoc: machine hw_params failed
[ 479.538946]
[ 479.538948] !KEEP THE SAME CHANNEL NUMBER: 2!
[ 479.544809] Failed to match hw params: -22
[ 479.548906] asoc: machine hw_params failed
[ 479.553120]
[ 479.553122] !KEEP THE SAME CHANNEL NUMBER: 2!
[ 479.558967] Failed to match hw params: -22
[ 479.563074] asoc: machine hw_params failed
[ 479.567344]
[ 479.567346] !KEEP THE SAME CHANNEL NUMBER: 2!
[ 479.573203] Failed to match hw params: -22
[ 479.577300] asoc: machine hw_params failed
I am try to understand the sound source code, hope to solve the problem.
Do you have some example similar to my application, if yes, may be I can develop it more quickly?
The following is my schematic:
signal connection is listed as following:
I2S_SDATA_DAC CSI0_D5
I2S_SCLK_DAC CSI0_D4
I2S_LRCLK_DAC CSI0_D6
I2S_MCLK_DAC GPIO_0