AnsweredAssumed Answered

iMX8MM SAI I2S with dummy codec

Question asked by Jonathan Vervaeke on Oct 23, 2019
Latest reply on Oct 23, 2019 by igorpadykov

Hi,

I trying to make the imx8mm board output audio via I2S. The chip that decodes the audio is CS4344, which has no config so no I2C is present.

 

I made the following changes to the dts file:

 


    sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "CS4344";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets =
            "Line""Line Out";
        simple-audio-card,routing =
            "Line Out""LLOUT",
            "Line Out""RLOUT";
        simple-audio-card,cpu {
            sound-dai = <&sai5>;
        };
        simple-audio-card,codec {
         sound-dai = <&codec1>;
        };
    };

    codec1codec1 {
         compatible = "linux,snd-soc-dummy";
         #sound-dai-cells = <0>;
         status = "okay";
     };
        pinctrl_sai5sai5grp {
            fsl,pins = <
                MX8MM_IOMUXC_SAI2_MCLK_SAI5_MCLK        0xd6
                MX8MM_IOMUXC_SAI1_TXFS_SAI5_TX_SYNC     0xd6
                MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK     0xd6
                MX8MM_IOMUXC_SAI1_TXD1_SAI5_TX_DATA1    0xd6
                MX8MM_IOMUXC_SAI1_TXD3_SAI5_TX_DATA3    0xd6
            >;
        };
&sai5 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_sai5>;
    assigned-clocks = <&clk IMX8MM_CLK_SAI5_SRC>,
            <&clk IMX8MM_CLK_SAI5_DIV>;
    assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
    assigned-clock-rates = <0>, <1536000>;
    #sound-dai-cells = <0>;
    status = "okay";
};

 

The CONFIG_SND_SIMPLE_CARD option is enabled when compiling the kernel.

 

I see no sound card in my boot logs or with the following commands `dmesg | grep sai` or `cat /proc/asound/cards`. 

 

Any ideas? Thanks.

Outcomes