<?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>topic Re: imx95 19x19 board using codec as master example in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377043#M245502</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Unfortunately this CODEC is not supported by default on our BSP and there is no a guide to port it. The references we have are the &lt;A href="https://www.nxp.com/docs/en/user-guide/UG10165.pdf" target="_blank"&gt;i.MX porting guide&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;My recommendation is declare the fixed clock configuration in CODEC side as follows:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;codec_mclk: codec_mclk {
        compatible = "fixed-clock";
        #clock-cells = &amp;lt;0&amp;gt;;
        clock-frequency = &amp;lt;24000000&amp;gt;;
};&lt;/LI-CODE&gt;
&lt;P&gt;And use this properties to configure you CODEC as master, for example:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;simple-audio-card,bitclock-master = &amp;lt;&amp;amp;dailink_codec&amp;gt;;
simple-audio-card,frame-master = &amp;lt;&amp;amp;dailink_codec&amp;gt;;&lt;/LI-CODE&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
    <pubDate>Thu, 04 Jun 2026 18:46:30 GMT</pubDate>
    <dc:creator>JorgeCas</dc:creator>
    <dc:date>2026-06-04T18:46:30Z</dc:date>
    <item>
      <title>imx95 19x19 board using codec as master example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2376807#M245499</link>
      <description>&lt;P&gt;Hi everyone:&lt;/P&gt;&lt;P&gt;Our project using TI's codec&amp;nbsp;6PAIC3104IRHBRQ1.&lt;/P&gt;&lt;P&gt;BCLK,&amp;nbsp;WCLK,&amp;nbsp;DIN and&amp;nbsp;DOUT are connected to SAI3 module of soc.&lt;/P&gt;&lt;P&gt;But the&amp;nbsp;MCLK is connected to external&amp;nbsp;Oscillator, OSC-24MHZ30_S-HF instead of SAI3 module of soc.&lt;/P&gt;&lt;P&gt;In this condition, the master CLK is provided by codec not by SAI3 module of soc.&lt;/P&gt;&lt;P&gt;I would like to ask if anyone could provide dts example of master CLK provided by codec.&amp;nbsp;&lt;/P&gt;&lt;P&gt;If necessary, I could provide my patch for review.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2026 11:01:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2376807#M245499</guid>
      <dc:creator>andyhuang_msi</dc:creator>
      <dc:date>2026-06-04T11:01:42Z</dc:date>
    </item>
    <item>
      <title>Re: imx95 19x19 board using codec as master example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377043#M245502</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Unfortunately this CODEC is not supported by default on our BSP and there is no a guide to port it. The references we have are the &lt;A href="https://www.nxp.com/docs/en/user-guide/UG10165.pdf" target="_blank"&gt;i.MX porting guide&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;My recommendation is declare the fixed clock configuration in CODEC side as follows:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;codec_mclk: codec_mclk {
        compatible = "fixed-clock";
        #clock-cells = &amp;lt;0&amp;gt;;
        clock-frequency = &amp;lt;24000000&amp;gt;;
};&lt;/LI-CODE&gt;
&lt;P&gt;And use this properties to configure you CODEC as master, for example:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;simple-audio-card,bitclock-master = &amp;lt;&amp;amp;dailink_codec&amp;gt;;
simple-audio-card,frame-master = &amp;lt;&amp;amp;dailink_codec&amp;gt;;&lt;/LI-CODE&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2026 18:46:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377043#M245502</guid>
      <dc:creator>JorgeCas</dc:creator>
      <dc:date>2026-06-04T18:46:30Z</dc:date>
    </item>
    <item>
      <title>Re: imx95 19x19 board using codec as master example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377206#M245512</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203308"&gt;@JorgeCas&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;&lt;P&gt;I found the codec driver of TI audio codec on imx95&amp;nbsp; bsp:&amp;nbsp;&lt;/P&gt;&lt;P&gt;vendor/nxp-opensource/kernel_imx/sound/soc/codecs/tlv320aic3x.c&lt;/P&gt;&lt;P&gt;vendor/nxp-opensource/kernel_imx/sound/soc/codecs/tlv320aic3x-i2c.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I modify defconfig file(arch/arm64/configs/imx95_gki.fragment) to add two drivers into compile:&lt;/P&gt;&lt;P&gt;+CONFIG_SND_SOC_TLV320AIC3X=m&lt;BR /&gt;+CONFIG_SND_SOC_TLV320AIC3X_I2C=m&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;device/nxp/imx9/evk_95/SharedBoardConfig.mk&lt;/P&gt;&lt;P&gt;BOARD_VENDOR_KERNEL_MODULES += \&lt;/P&gt;&lt;P&gt;+ $(KERNEL_OUT)/sound/soc/codecs/snd-soc-tlv320aic3x.ko \&lt;BR /&gt;+ $(KERNEL_OUT)/sound/soc/codecs/snd-soc-tlv320aic3x-i2c.ko \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also take your suggestion and modify dts.&lt;/P&gt;&lt;P&gt;The attached files containing modified dts,&amp;nbsp;imx95-19x19-evk.dts and patch,&amp;nbsp;imx95_evk_dts.patch.&lt;/P&gt;&lt;P&gt;The following section details the changes and their purposes.&lt;/P&gt;&lt;P&gt;(1)&amp;amp;sai3, pinctrl_sai3, pinctrl_sai3_sleep:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; BCLK, WCLK, DIN and DOUT gpio of audio codec connect to SAI3 module of soc.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; MCLK gpio not connected to soc and comment.&lt;/P&gt;&lt;P&gt;(2)codec_mclk: codec-mclk&lt;/P&gt;&lt;P&gt;&amp;nbsp;add a fixed clock as suggestion&lt;/P&gt;&lt;P&gt;(3)tlv320aic3x: tlv320aic3x@18&lt;/P&gt;&lt;P&gt;audio codec driver node&lt;/P&gt;&lt;P&gt;clocks = &amp;lt;&amp;amp;codec_mclk&amp;gt;;&amp;nbsp; &amp;nbsp;reference to&amp;nbsp;fixed clock&amp;nbsp;codec_mclk&lt;/P&gt;&lt;P&gt;(4)sound-tlv320aic3x&lt;/P&gt;&lt;P&gt;dai connection of sai3 module of soc and TI audio codec&lt;/P&gt;&lt;P&gt;&amp;nbsp;simple-audio-card,bitclock-master and&amp;nbsp;simple-audio-card,frame-master reference&amp;nbsp;dailink_master_codec as master.&lt;/P&gt;&lt;P&gt;The&amp;nbsp;dailink_master_codec set clocks to fixed clock&amp;nbsp;codec_mclk。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I prepare three audio wav files and use &lt;STRONG&gt;tinyplay&lt;/STRONG&gt; to test speaker of audio codec.&lt;/P&gt;&lt;P&gt;Although &lt;STRONG&gt;no error messages&lt;/STRONG&gt; happened during test prieod of the three wav files, &lt;STRONG&gt;I cannot hear the audio&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;ex:&lt;/P&gt;&lt;P&gt;tinyplay /sdcard/rhj08-s3gh1_2.wav -D 2&lt;/P&gt;&lt;P&gt;Playing sample: 2ch, 48000 hz, 16bit 1414376 bytes&lt;BR /&gt;Draining... Wait 85333 us&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also use some commands, i2cdetect, lsmod,&amp;nbsp;cat /proc/asound/cards ,&amp;nbsp;tinypcminfo -D 2,&amp;nbsp;cat /sys/kernel/debug/clk/clk_summary | grep "codec-mclk" and&amp;nbsp;tinyplay command to test the audio codec.&lt;/P&gt;&lt;P&gt;The results are listed in the attached file,&amp;nbsp;audio_test_commands_results.txt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I would like to ask if&amp;nbsp; any suggestion about current dts or linux command to check status of audio codec?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2026 05:58:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377206#M245512</guid>
      <dc:creator>andyhuang_msi</dc:creator>
      <dc:date>2026-06-05T05:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: imx95 19x19 board using codec as master example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377666#M245532</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Thank you for the update.&lt;/P&gt;
&lt;P&gt;Please try to change the clock configuration as is in commented SAI3 node:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;assigned-clock-rates = &amp;lt;3932160000&amp;gt;,
    &amp;lt;3612672000&amp;gt;, &amp;lt;393216000&amp;gt;,
    &amp;lt;361267200&amp;gt;, &amp;lt;12288000&amp;gt;;&lt;/LI-CODE&gt;
&lt;P&gt;If possible please confirm if there are activity in SAI signals when sound should be playing.&lt;/P&gt;
&lt;P&gt;Also, I suggest you confirm if the audio routing is according to the outputs you are using.&lt;/P&gt;
&lt;P&gt;Could you please share your dmesg?&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2026 15:53:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx95-19x19-board-using-codec-as-master-example/m-p/2377666#M245532</guid>
      <dc:creator>JorgeCas</dc:creator>
      <dc:date>2026-06-05T15:53:54Z</dc:date>
    </item>
  </channel>
</rss>

