hi,
In my usage scenario, the I2S of IMX8MP is connected to the I2S of another MCU, the I2S of IMX8MP is used as the slave, and the I2S of MCU is used as the Master, PCM format 48K/S24 LE / 2 channels, The connection is as follows:
Question 1 In this case, does MCLK have to be connected to the MCLK of the MCU?
Question 2: My DTS configuration is as follows. I used ‘aplay -D hw: btscoaudio,0 test.wav’ for playback test and the data recorded on MCU was wrong. I can confirm that the I2S configuration on the MCU side is correct. Could you please tell me what was wrong with my configuration? Could you give me some suggestions? Thank you!
&sai2 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;
assigned-clocks = <&clk IMX8MP_CLK_SAI2>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
fsl,sai-asynchronous;
fsl,txm-rxs;
status = "okay";
};
Thanks.
I cannot found "codec-master" configuration used in yocto-real-time-edge V2.5.
I add
fsl,txmasterflag = <1>;
fsl,rxmasterflag = <1>;
on device tree, it works now.
Hello,
MCLK does not necessarily have to be connected but, devices should have a synchronized clock source as is showed on next image.
Maybe you should add the next property on your device tree.
codec-master;
Also, this thread could be helpful.
Best regards.