WM8974 codec setup

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

WM8974 codec setup

1,420 Views
leonardogiordan
Contributor I

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

Tags (2)
0 Kudos
1 Reply

1,006 Views
smvankampen
Contributor II

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

0 Kudos