audio max5556 problem: No soundcards found

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

audio max5556 problem: No soundcards found

Jump to solution
1,330 Views
thouswave
Contributor III

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

Labels (5)
0 Kudos
1 Solution
892 Views
saurabh206
Senior Contributor III

imx_hifi_hw_params( ) is important.

Dai format set to  SND_SOC_DAIFMT_CBS_CFS for SSI master mode.

View solution in original post

0 Kudos
5 Replies
892 Views
saurabh206
Senior Contributor III

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

0 Kudos
892 Views
thouswave
Contributor III

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?

0 Kudos
893 Views
saurabh206
Senior Contributor III

imx_hifi_hw_params( ) is important.

Dai format set to  SND_SOC_DAIFMT_CBS_CFS for SSI master mode.

0 Kudos
892 Views
thouswave
Contributor III

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:

无标题.png

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

0 Kudos
892 Views
saurabh206
Senior Contributor III

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

0 Kudos