<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX Processorsのトピックasoc-simple-card: parse error after upgrading to kernel 6.18.x</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2397822#M246092</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;here is my working DT for Kernel 6.6.52:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;/ {
codec: max98357a@0{
        compatible = "maxim,max98357a";
        #sound-dai-cells = &amp;lt;0&amp;gt;;
        pinctrl-names = "default";
        pinctrl-0 = &amp;lt;&amp;amp;sdmode_en&amp;gt;;
        sdmode-gpios = &amp;lt;&amp;amp;gpio4 28 GPIO_ACTIVE_HIGH&amp;gt;;
        status = "okay";
    };

    sound {
        compatible = "simple-audio-card";

        simple-audio-card,name = "SAI3 MAX98357A";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets = "Speaker","Speakers";
        simple-audio-card,routing = "Speakers","Speaker";
        simple-audio-card,bitclock-master = &amp;lt;&amp;amp;cpu_dai&amp;gt;;
        simple-audio-card,frame-master = &amp;lt;&amp;amp;cpu_dai&amp;gt;;

        cpu_dai: simple-audio-card,cpu {
            sound-dai = &amp;lt;&amp;amp;sai3&amp;gt;;
            clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;;
            clock-names = "mclk";
            //system-clock-frequency = &amp;lt;&amp;amp;clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1&amp;gt;;
            dai-tdm-slot-num = &amp;lt;2&amp;gt;;
            dai-tdm-slot-width = &amp;lt;32&amp;gt;;
        };

        codec_dai: simple-audio-card,codec {
            sound-dai = &amp;lt;&amp;amp;codec&amp;gt;;
            //clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;;
        };
    };
};
&amp;amp;sai3{
    pinctrl-names = "default";
    pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai3&amp;gt;;
    #sound-dai-cells = &amp;lt;0&amp;gt;;

    clocks = &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1_OUT&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2_OUT&amp;gt;;
    clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";

    assigned-clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;,
                      &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1&amp;gt;,
                      &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2&amp;gt;;

    assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2_OUT&amp;gt;,
                             &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1_OUT&amp;gt;;
    // Try common MCLK rates that divide well to 48 kHz multiples
    // Option A: 24.576 MHz (very common for MAX98357A + 48 kHz)
    assigned-clock-rates = &amp;lt;24576000&amp;gt;,       // PLL2 for 48 kHz
                           &amp;lt;22579200&amp;gt;;       // PLL1 for 44.1 kHz

    // Option B (if 44.1 kHz needed later): use PLL1 + 22579200
    //assigned-clock-rates = &amp;lt;22579200&amp;gt;;
    fsl,sai-asynchronous;
    fsl,sai-mclk-direction-output;
    status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;After moving to kernel 6.18.20 SAI3 is not probing and I got no sound-card.&lt;/P&gt;&lt;P&gt;The boot log shows:&lt;BR /&gt;platform sound: deferred probe pending: asoc-simple-card: parse error&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What changes in the DT syntax from kernel 6.6.52 to 6.18.x? I didn't find anything relevant. How can I investigate the parse error?&lt;/P&gt;</description>
    <pubDate>Wed, 22 Jul 2026 13:19:48 GMT</pubDate>
    <dc:creator>MicMoba</dc:creator>
    <dc:date>2026-07-22T13:19:48Z</dc:date>
    <item>
      <title>asoc-simple-card: parse error after upgrading to kernel 6.18.x</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2397822#M246092</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;here is my working DT for Kernel 6.6.52:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;/ {
codec: max98357a@0{
        compatible = "maxim,max98357a";
        #sound-dai-cells = &amp;lt;0&amp;gt;;
        pinctrl-names = "default";
        pinctrl-0 = &amp;lt;&amp;amp;sdmode_en&amp;gt;;
        sdmode-gpios = &amp;lt;&amp;amp;gpio4 28 GPIO_ACTIVE_HIGH&amp;gt;;
        status = "okay";
    };

    sound {
        compatible = "simple-audio-card";

        simple-audio-card,name = "SAI3 MAX98357A";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets = "Speaker","Speakers";
        simple-audio-card,routing = "Speakers","Speaker";
        simple-audio-card,bitclock-master = &amp;lt;&amp;amp;cpu_dai&amp;gt;;
        simple-audio-card,frame-master = &amp;lt;&amp;amp;cpu_dai&amp;gt;;

        cpu_dai: simple-audio-card,cpu {
            sound-dai = &amp;lt;&amp;amp;sai3&amp;gt;;
            clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;;
            clock-names = "mclk";
            //system-clock-frequency = &amp;lt;&amp;amp;clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1&amp;gt;;
            dai-tdm-slot-num = &amp;lt;2&amp;gt;;
            dai-tdm-slot-width = &amp;lt;32&amp;gt;;
        };

        codec_dai: simple-audio-card,codec {
            sound-dai = &amp;lt;&amp;amp;codec&amp;gt;;
            //clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;;
        };
    };
};
&amp;amp;sai3{
    pinctrl-names = "default";
    pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai3&amp;gt;;
    #sound-dai-cells = &amp;lt;0&amp;gt;;

    clocks = &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1_OUT&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2_OUT&amp;gt;;
    clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";

    assigned-clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;,
                      &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1&amp;gt;,
                      &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2&amp;gt;;

    assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2_OUT&amp;gt;,
                             &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1_OUT&amp;gt;;
    // Try common MCLK rates that divide well to 48 kHz multiples
    // Option A: 24.576 MHz (very common for MAX98357A + 48 kHz)
    assigned-clock-rates = &amp;lt;24576000&amp;gt;,       // PLL2 for 48 kHz
                           &amp;lt;22579200&amp;gt;;       // PLL1 for 44.1 kHz

    // Option B (if 44.1 kHz needed later): use PLL1 + 22579200
    //assigned-clock-rates = &amp;lt;22579200&amp;gt;;
    fsl,sai-asynchronous;
    fsl,sai-mclk-direction-output;
    status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;After moving to kernel 6.18.20 SAI3 is not probing and I got no sound-card.&lt;/P&gt;&lt;P&gt;The boot log shows:&lt;BR /&gt;platform sound: deferred probe pending: asoc-simple-card: parse error&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What changes in the DT syntax from kernel 6.6.52 to 6.18.x? I didn't find anything relevant. How can I investigate the parse error?&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jul 2026 13:19:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2397822#M246092</guid>
      <dc:creator>MicMoba</dc:creator>
      <dc:date>2026-07-22T13:19:48Z</dc:date>
    </item>
    <item>
      <title>Re: asoc-simple-card: parse error after upgrading to kernel 6.18.x</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2397907#M246099</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Could you please share your dmesg log?&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jul 2026 20:44:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2397907#M246099</guid>
      <dc:creator>JorgeCas</dc:creator>
      <dc:date>2026-07-22T20:44:45Z</dc:date>
    </item>
    <item>
      <title>Re: asoc-simple-card: parse error after upgrading to kernel 6.18.x</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2398530#M246128</link>
      <description>&lt;P&gt;Hi Jorge,&lt;/P&gt;&lt;P&gt;dmesg log and running device tree (./dtc -I fs -O dts /proc/device-tree &amp;gt; /tmp/running.dts) attached.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jul 2026 04:03:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2398530#M246128</guid>
      <dc:creator>MicMoba</dc:creator>
      <dc:date>2026-07-24T04:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: asoc-simple-card: parse error after upgrading to kernel 6.18.x</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2399222#M246156</link>
      <description>&lt;DIV&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have moved one step forward. After enabling the kernel configuration option CONFIG_IMX_AIPSTZ=y, the sound card device is now available.&lt;/P&gt;&lt;P&gt;Because&amp;nbsp; sai3 node is a sub node of aips5 I also had to enable aips5 in my devicetree:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;LI-CODE lang="c"&gt;&amp;amp;aips5 {
status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;Now I got the following error messages:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;[ 13.081746] fsl-sai 30c30000.sai: ASoC error (-110): at snd_soc_dai_hw_params() on sai-tx-rx
[ 13.090223] sai-tx-rx-HiFi: ASoC error (-110): at __soc_pcm_hw_params() on sai-tx-rx-HiFi&lt;/LI-CODE&gt;&lt;LI-CODE lang="c"&gt;speaker-test -c 2 -r 48000 -t sine 2&amp;gt;&amp;amp;1 | head -20
[ 31.368187] fsl-sai 30c30000.sai: ASoC error (-110): at snd_soc_dai_hw_params() on sai-tx-rx
[ 31.376682] sai-tx-rx-HiFi: ASoC error (-110): at __soc_pcm_hw_params() on sai-tx-rx-HiFi
Unable to set hw params for playback: Connection timed out

speaker-test 1.2.11

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Sine wave rate is 440.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 24 to 131072
Period size range from 12 to 16383
Periods = 4
Setting of hwparams failed: Connection timed out&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jul 2026 13:01:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2399222#M246156</guid>
      <dc:creator>MicMoba</dc:creator>
      <dc:date>2026-07-27T13:01:34Z</dc:date>
    </item>
    <item>
      <title>Re: asoc-simple-card: parse error after upgrading to kernel 6.18.x</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2399399#M246171</link>
      <description>&lt;P&gt;I got it, sound is working.&lt;/P&gt;&lt;P&gt;My kernel configs:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;CONFIG_SND_IMX_SOC=m
CONFIG_SND_IMX_SOC=m
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_UTILS=m
CONFIG_IMX_AIPSTZ=y&lt;/LI-CODE&gt;&lt;P&gt;The devicetree part:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;/{
    codec: max98357a@0{
        compatible = "maxim,max98357a";
        #sound-dai-cells = &amp;lt;0&amp;gt;;
        pinctrl-names = "default";
        pinctrl-0 = &amp;lt;&amp;amp;sdmode_en&amp;gt;;
        sdmode-gpios = &amp;lt;&amp;amp;gpio4 28 GPIO_ACTIVE_HIGH&amp;gt;;
        status = "okay";
    };

    sound {
        compatible = "simple-audio-card";
        status = "okay";
        simple-audio-card,name = "SAI3 MAX98357A";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets = "Speaker", "Speaker Ext";
        simple-audio-card,routing = "Speaker Ext", "Speaker";
        simple-audio-card,bitclock-master = &amp;lt;&amp;amp;cpu_dai&amp;gt;;
        simple-audio-card,frame-master = &amp;lt;&amp;amp;cpu_dai&amp;gt;;

        cpu_dai: simple-audio-card,cpu {
            sound-dai = &amp;lt;&amp;amp;sai3&amp;gt;;
            clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;;
            clock-names = "mclk";
            //system-clock-frequency = &amp;lt;&amp;amp;clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1&amp;gt;;
            dai-tdm-slot-num = &amp;lt;2&amp;gt;;
            dai-tdm-slot-width = &amp;lt;32&amp;gt;;
        };

        codec_dai: simple-audio-card,codec {
            sound-dai = &amp;lt;&amp;amp;codec&amp;gt;;
        };
    };
};

&amp;amp;sdma2 {
    status = "okay";
    fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
};

&amp;amp;aips5 {
    status = "okay";
};

&amp;amp;audio_blk_ctrl {
    status = "okay";
    assigned-clocks = &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1&amp;gt;,
                      &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL2&amp;gt;;
    assigned-clock-rates = &amp;lt;393216000&amp;gt;, &amp;lt;361267200&amp;gt;;
};

&amp;amp;sai3{
    pinctrl-names = "default";
    pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai3&amp;gt;;
    #sound-dai-cells = &amp;lt;0&amp;gt;;
    assigned-clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_SAI3&amp;gt;;
    assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MP_AUDIO_PLL1_OUT&amp;gt;;
    assigned-clock-rates = &amp;lt;12288000&amp;gt;;

    clocks = &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG&amp;gt;,
             &amp;lt;&amp;amp;clk IMX8MP_CLK_DUMMY&amp;gt;,
             &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1&amp;gt;,
             &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK2&amp;gt;,
             &amp;lt;&amp;amp;audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK3&amp;gt;;
    clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";

    dmas = &amp;lt;&amp;amp;sdma2 4 2 0&amp;gt;, &amp;lt;&amp;amp;sdma2 5 2 0&amp;gt;;
    dma-names = "rx", "tx";
    
    fsl,sai-asynchronous;
    fsl,sai-mclk-direction-output;
    status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;The devicetree base is imx8mp.dtsi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jul 2026 04:11:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/asoc-simple-card-parse-error-after-upgrading-to-kernel-6-18-x/m-p/2399399#M246171</guid>
      <dc:creator>MicMoba</dc:creator>
      <dc:date>2026-07-28T04:11:21Z</dc:date>
    </item>
  </channel>
</rss>

