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
Solved! Go to Solution.
imx_hifi_hw_params( ) is important.
Dai format set to SND_SOC_DAIFMT_CBS_CFS for SSI master mode.
Hi,
You need to write the platform driver for your chip.
kernel_imx\sound\soc\imx\
You need to configure ssi as master.
Thanks
Saurabh
Thanks for your reply. I will refer WM8962 source code and try to write paltform driver.
About configure SSI as master, can you tell me in detail?
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
Hi
Its better you should add your custom sound card. It will be helpful latter.
Keep only minimal code, you don't need to configure "HPOUT" and other stuff.
Thanks
Saurabh