Hi,
I have a custom board using Vybrid processor.
We are trying to add audio support using WM8974 codec, using i2c + i2c
IC codec seems to be working (i2cdetect shows is at 0x1A)
However, Im not sure about changes on devicetree and/or linux/sound/soc/fsl/fsl-asoc-card.c)
This is my device tree sound related:
sound { 
compatible = "fsl,imx-audio-wm8974"; 
audio-cpu = <&sai3>; 
audio-codec = <&wm8974_codec>; 
status = "okay"; 
};
...
wm8974_codec: wm8974@1a { 
#sound-dai-cells = <0>; 
compatible = "wlf,wm8974"; 
reg = <0x1a>; 
clocks = <&osc 0>; 
};
I also added at fsl-asoc-card.c:
...
} else if (of_device_is_compatible(np, "fsl,imx-audio-wm8974")) { 
codec_dai_name = "wlf,wm8974"; 
priv->card.set_bias_level = fsl_asoc_card_set_bias_level; 
priv->dai_fmt |= SND_SOC_DAIFMT_CBM_CFM;
}
...
On dmesg I got:
...
[ 0.283707] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered
[ 0.321637] fsl-asoc-card sound: ASoC: CODEC DAI wlf,wm8974 not registered
...
WM8974 is enabled at kernel (not as a module).
Any tips or suggestions?
BR,
Leonardo
 
					
				
		
Hi Leonardo,
You should adapt de kernel config to include the codec. But you probably already found out.
Do you have a working solution with the wm8974 codec in the meantime? I have all drivers registered, but get pcm_write errors. Probably due to some clk configuration I think.
Stephan
