Hi
I use fsl-asoc-card now.
This is working when compiling as a module, and when doing a modprobe manually, but when I compile it as built-in, with these : CONFIG_SND_SOC_IMX_SGTL5000 is not set CONFIG_SND_SOC_FSL_ASOC_CARD=y CONFIG_SND_SOC_SGTL5000=y
I get the following error : [ 13.561618] fsl-asoc-card sound: ASoC: CODEC DAI sgtl5000 not registered [ 13.568503] fsl-asoc-card sound: snd_soc_register_card failed (-517) [ 13.574992] platform sound: Driver fsl-asoc-card requests probe deferral
It loops on it during boot, and never registers...
If I have : CONFIG_SND_SOC_IMX_SGTL5000 is not set CONFIG_SND_SOC_FSL_ASOC_CARD=m CONFIG_SND_SOC_SGTL5000=m
And after login : $> lsmod Module Size Used by snd_soc_sgtl5000 14074 0 $> modprobe snd-soc-fsl-asoc-card [ 65.300995] fsl-asoc-card sound: ASoC: CODEC DAI sgtl5000 not registered [ 65.307963] fsl-asoc-card sound: snd_soc_register_card failed (-517) [ 65.314423] platform sound: Driver fsl-asoc-card requests probe deferral $> rmmod snd-soc-sgtl5000 $> modprobe snd-soc-sgtl5000 [ 138.936753] sgtl5000 1-000a: sgtl5000 revision 0x11 [ 138.987974] 1-000a: 1200 mV normal [ 139.000923] sgtl5000 1-000a: Using internal LDO instead of VDDD [ 139.032169] fsl-asoc-card sound: sgtl5000 <-> 2028000.ssi mapping ok [ 139.038624] fsl-asoc-card sound: ASoC: no source widget found for ASRC-Playback [ 139.045984] fsl-asoc-card sound: ASoC: Failed to add route ASRC-Playback -> direct -> CPU-Playback [ 139.055187] fsl-asoc-card sound: ASoC: no sink widget found for ASRC-Capture [ 139.062253] fsl-asoc-card sound: ASoC: Failed to add route CPU-Capture -> direct -> ASRC-Capture
The routes are not ok, but I think I read something about it another thread, but it works. It seems that if snd-soc-sgtl5000 is already registered then it does not work. It is probably due to my DT ?
Here is an extract of the DT : / { sound { compatible = "fsl,imx6q-vbx3-sgtl5000", "fsl,imx-audio-sgtl5000"; model = "imx6q-vbx3-sgtl5000"; ssi-controller = <&ssi1>; audio-codec = <&codec>; audio-routing = "MIC_IN", "Mic Jack", "Mic Jack", "Mic Bias", "A1N1L", "Line In Jack", "A1N1R", "Line In Jack"; mux-int-port = <1>; mux-ext-port = <5>; }; };
&i2c2 { clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; status = "okay";
codec: sgtl5000@0a { compatible = "fsl,sgtl5000"; reg = <0x0a>; clocks = <&clks 201>; VDDA-supply = <&vgen6_reg>; VDDIO-supply = <&vgen6_reg>; sysclk = <24000000>; }; };
Thanks, JM