ASoC help needed - Only Left channel receives data

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

ASoC help needed - Only Left channel receives data

892 Views
carotte
Contributor III

Hi,

I want to use a WM8804 codec with the i.MX6ULL processor. 

There is no existing ASoC machine driver for this chip - however there is one for Raspberry Pi.

https://github.com/raspberrypi/linux/blob/rpi-5.4.y/sound/soc/bcm/rpi-wm8804-soundcard.c

I know that these drivers are machine specific, but from my limited understanding, it looks fairly generic to me.

I tried using it as-is with only the necessary device tree modifications. 

This actually resulted in some success - the driver is working as expected, but only on one channel.

The left channel produces valid audio data. The right channel however, does not.

The codec is BCLK and LRCK master. These clocks are generated successfully. The SoC sends data, but as mentioned, only for one channel - as can be seen in the screenshot attached below.

Screenshot 2022-01-25 at 23.48.27.png

The boot messages imply no problems.

[ 2.407066] debugfs: Directory '2030000.sai' with parent 'snd_allo_digione' already present!
[ 2.416606] snd-rpi-wm8804 sound-wm8804: wm8804-spdif <-> 2030000.sai mapping ok
[ 2.426440] ALSA device list:
[ 2.429439] #0: snd_allo_digione

However, I suspect that there is some problem with the dai-link, since none is show with "aplay -l"

**** List of PLAYBACK Hardware Devices ****
card 0: sndallodigione [snd_allo_digione], device 0: Allo DigiOne HiFi wm8804-spdif-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

The brackets behind wm8804-spdif-0 probably shouldn't be empty.

I can't imagine there being a vast problem, because one channel already works. So do the other features of this driver such as the selection of external oscillators via GPIO.

Any help or pointers would be greatly appreciated!

Thanks!

Labels (5)
0 Kudos
2 Replies

873 Views
jamesbone
NXP TechSupport
NXP TechSupport

Hello @carotte ,

 

You are correct basically this driver of the Audio Codec seems generic nevertheless, it is needed to validate the Device Tree, if there is something missing , like in the SAI or in the AUDMUX,  do you think you can share the DTS file and the version of BSP that you are using or Linux Kernel that you are using of the i.MX6ULL

 

865 Views
carotte
Contributor III

Thanks a lot for your reply !

I have attached the DTS file. 

I am currently using the 5.4.70_2.3.0 BSP.

 

 

0 Kudos