Hello,
We have an imx8mp based board from solid run and we are trying to have a simple audio solution with TAS5720L amplifier.
We are connecting TAS5720 to I2C2 and the I2S (SAI3) here are the dts we have
pinctrl_sai3: sai3grp {
fsl,pins = <
MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6
MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6
MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6
MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6
MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6
MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6
>;
};&sai3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
<&clk IMX8MP_CLK_DUMMY>;
clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
fsl,sai-mclk-direction-output;
status = "okay";
};sound-ti {
compatible = "simple-audio-card";
simple-audio-card,name = "TI_Audio";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Headphone", "Headphone Jack",
"Speaker", "External Speaker";
simple-audio-card,routing =
"MIC_IN", "Microphone Jack",
"Headphone Jack", "HP_OUT",
"External Speaker", "LINE_OUT";simple-audio-card,aux-devs = <&tas5720>;
dailink0_master: simple-audio-card,cpu {
sound-dai = <&sai3>;
dai-tdm-slot-num = <4>;
dai-tdm-slot-width = <32>;
};
simple-audio-card,codec {
sound-dai = <&codec1>;
clocks = <&clk IMX8MP_CLK_SAI3>;
};
};codec1: codec1 {
compatible = "linux,snd-soc-dummy";
//compatible = "linux,bt-sco";
#sound-dai-cells = <0>;
status = "okay";
};
Everything builds fine, but no sound cards detected. There is an error
[ 2.086065] OF: /sound-ti/simple-audio-card,cpu: could not get #sound-dai-cells for /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c30000
[ 2.098596] asoc-simple-card sound-ti: parse error -22
[ 2.104192] asoc-simple-card: probe of sound-ti failed with error -22
[ 2.122108] imx-cdnhdmi sound-hdmi: failed to find SAI platform device
[ 2.128662] imx-cdnhdmi: probe of sound-hdmi failed with error -22
[ 3.053248] No soundcards found.
Could you please guide me on this? Is my approach right. Do you have some sample cases of using TAS5720 on any imx devices?
regards
Hi Arun
> Do you have some sample cases of using TAS5720 on any imx devices?
sorry such examples are not available. One can try to debug it, check for example with
oscilloscope i2c signals and TAS5720 i2c address. Use dts example below and
Figure 28. ALSA SoC Software Architecture i.MX Linux Reference Manual
AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors
https://www.nxp.com/docs/en/application-note/AN4553.pdf
Best regards
igor