Hello.
I have searched around the forums and saw many posts with my problem but not a single one of the solutions works for me.
I am trying to connect a digital microphone to the SAI5 expansion pins on my i.mx 8m mini evk . Here is the device tree I have:
codec_dummy: codec_dummy {
compatible = "asoc,snd-soc-dummy";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_wlf>;
frame-master;
bitclock-master;
status = "okay";
};
sound-sai5 {
compatible = "simple-audio-card";
simple-audio-card,name="sound | sai5";
simple-audio-card,format="i2s";
simple-audio-card,frame-master=<&sai5>;
simple-audio-card,bitclock-master=<&sai5>;
status="okay";
cpu_dai:simple-audio-card,cpu{
sound-dai=<&sai5>;
system-clock-frequency=<&clk IMX8MM_CLK_SAI5_ROOT>;
};
codec_dai: simple-audio-card,codec{
sound-dai=<&codec_dummy>;
system-clock-frequency=<&clk IMX8MM_CLK_SAI5_ROOT>;
};
};
&sai5 {
compatible="fsl,imx8mm-sai";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai5>;
assigned-clocks=<&clk IMX8MM_CLK_SAI5>;
assigned-clocks-parents=<&clk IMX8MM_AUDIO_PLL1_OUT>;
assigned-clock-rates = <4096000>;
fsl,sai-mclk-direction-output;
fsl,txmasterflag = <0>;
fsl,mode="i2s-master";
status="okay";
};
I can see the interface when I run the arecord -l command, when I run pactrl list the following error gets printed out in an infinite loop:
fsl-sai 30050000.sai: ASoC: error at snd_soc_dai_hw_params on 30050000.sai: -22
[ 1875.936608] 30050000.sai-snd-soc-dummy-dai: ASoC: soc_pcm_hw_params() failed (-22)
[ 1875.944756] fsl-sai 30050000.sai: failed to derive required Rx rate: 1411200
Any help is greatly appreciated as have been struggling with this error for the past month!