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.
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.
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 
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!
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