<?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のトピックI2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968835#M144284</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am working with 1 I2S microphone (SPH0645LM4H) which is connected to i.MX6UL I2s Interface. I want to record audio from this mems. My device tree set up for the same is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;sound {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;compatible = "fsl,imx-audio-sph0645",&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;"fsl,imx-mic-sph0645";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;model = "sph0645-audio";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;cpu-dai = &amp;lt;&amp;amp;sai1&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;gpr = &amp;lt;&amp;amp;gpr 4 0x80000 0x80000&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;};&lt;/P&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&amp;amp;sai1 {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;pinctrl-names = "default";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai1&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;/*&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;* Reference block.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;*&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;* Codec dependent section.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;*/&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;assigned-clocks = &amp;lt;&amp;amp;clks IMX6UL_CLK_SAI1_SEL&amp;gt;,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&amp;lt;&amp;amp;clks IMX6UL_CLK_SAI1&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;assigned-clock-parents = &amp;lt;&amp;amp;clks IMX6UL_CLK_PLL4_AUDIO_DIV&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;assigned-clock-rates = &amp;lt;0&amp;gt;, &amp;lt;12288000&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;fsl,sai-mclk-direction-output;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;status = "okay";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have also attached my driver file for the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when i run the command to record audio:&lt;/P&gt;&lt;P&gt;arecord -c 1 -d 5 -f S32 -r 48000 -v /home/root/test.wav&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i got below error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Recording WAVE '/home/root/test.wav' : Signed 32 bit Little Endiafsl-sai 2028000.sai: sampling rate parms_rate output rate : 48000 &lt;BR /&gt;n, Rate 48000 Hz, Mono&lt;BR /&gt;fsl-sai 2028000.sai: bclk : 3072000 &lt;BR /&gt;fsl-sai 2028000.sai: failed to derive required Rx rate: 3072000&lt;BR /&gt;fsl-sai 2028000.sai: ASoC: can't set 2028000.sai hw params: -22&lt;BR /&gt;arecord: set_params:1403: Unable to install hw params:&lt;BR /&gt;ACCESS:&amp;nbsp; RW_INTERLEAVED&lt;BR /&gt;FORMAT:&amp;nbsp; S32_LE&lt;BR /&gt;SUBFORMAT:&amp;nbsp; STD&lt;BR /&gt;SAMPLE_BITS: 32&lt;BR /&gt;FRAME_BITS: 32&lt;BR /&gt;CHANNELS: 1&lt;BR /&gt;RATE: 48000&lt;BR /&gt;PERIOD_TIME: (85333 85334)&lt;BR /&gt;PERIOD_SIZE: 4096&lt;BR /&gt;PERIOD_BYTES: 16384&lt;BR /&gt;PERIODS: 4&lt;BR /&gt;BUFFER_TIME: (341333 341334)&lt;BR /&gt;BUFFER_SIZE: 16384&lt;BR /&gt;BUFFER_BYTES: 65536&lt;BR /&gt;TICK_TIME: 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Request you to please provide inputs, what i might need to change to make it work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hitesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Jun 2019 08:32:35 GMT</pubDate>
    <dc:creator>hitesh_kasera</dc:creator>
    <dc:date>2019-06-25T08:32:35Z</dc:date>
    <item>
      <title>I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968835#M144284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am working with 1 I2S microphone (SPH0645LM4H) which is connected to i.MX6UL I2s Interface. I want to record audio from this mems. My device tree set up for the same is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;sound {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;compatible = "fsl,imx-audio-sph0645",&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;"fsl,imx-mic-sph0645";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;model = "sph0645-audio";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;cpu-dai = &amp;lt;&amp;amp;sai1&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;gpr = &amp;lt;&amp;amp;gpr 4 0x80000 0x80000&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;};&lt;/P&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&amp;amp;sai1 {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;pinctrl-names = "default";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai1&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;/*&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;* Reference block.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;*&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;* Codec dependent section.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;*/&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;assigned-clocks = &amp;lt;&amp;amp;clks IMX6UL_CLK_SAI1_SEL&amp;gt;,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&amp;lt;&amp;amp;clks IMX6UL_CLK_SAI1&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;assigned-clock-parents = &amp;lt;&amp;amp;clks IMX6UL_CLK_PLL4_AUDIO_DIV&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;assigned-clock-rates = &amp;lt;0&amp;gt;, &amp;lt;12288000&amp;gt;;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;fsl,sai-mclk-direction-output;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE data-tab-size="8"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=""&gt;status = "okay";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have also attached my driver file for the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when i run the command to record audio:&lt;/P&gt;&lt;P&gt;arecord -c 1 -d 5 -f S32 -r 48000 -v /home/root/test.wav&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i got below error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Recording WAVE '/home/root/test.wav' : Signed 32 bit Little Endiafsl-sai 2028000.sai: sampling rate parms_rate output rate : 48000 &lt;BR /&gt;n, Rate 48000 Hz, Mono&lt;BR /&gt;fsl-sai 2028000.sai: bclk : 3072000 &lt;BR /&gt;fsl-sai 2028000.sai: failed to derive required Rx rate: 3072000&lt;BR /&gt;fsl-sai 2028000.sai: ASoC: can't set 2028000.sai hw params: -22&lt;BR /&gt;arecord: set_params:1403: Unable to install hw params:&lt;BR /&gt;ACCESS:&amp;nbsp; RW_INTERLEAVED&lt;BR /&gt;FORMAT:&amp;nbsp; S32_LE&lt;BR /&gt;SUBFORMAT:&amp;nbsp; STD&lt;BR /&gt;SAMPLE_BITS: 32&lt;BR /&gt;FRAME_BITS: 32&lt;BR /&gt;CHANNELS: 1&lt;BR /&gt;RATE: 48000&lt;BR /&gt;PERIOD_TIME: (85333 85334)&lt;BR /&gt;PERIOD_SIZE: 4096&lt;BR /&gt;PERIOD_BYTES: 16384&lt;BR /&gt;PERIODS: 4&lt;BR /&gt;BUFFER_TIME: (341333 341334)&lt;BR /&gt;BUFFER_SIZE: 16384&lt;BR /&gt;BUFFER_BYTES: 65536&lt;BR /&gt;TICK_TIME: 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Request you to please provide inputs, what i might need to change to make it work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hitesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Jun 2019 08:32:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968835#M144284</guid>
      <dc:creator>hitesh_kasera</dc:creator>
      <dc:date>2019-06-25T08:32:35Z</dc:date>
    </item>
    <item>
      <title>Re: I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968836#M144285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hitesh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;fsl-sai 2028000.sai: failed to derive required Rx rate: 3072000&lt;BR /&gt;&amp;gt;fsl-sai 2028000.sai: ASoC: can't set 2028000.sai hw params: -22&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can try to find reason for these messages debugging sai driver&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/sound/soc/fsl/fsl_sai.c?h=imx_4.14.78_1.0.0_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/sound/soc/fsl/fsl_sai.c?h=imx_4.14.78_1.0.0_ga"&gt;fsl_sai.c\fsl\soc\sound - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and using alsa drivers description in Chapter 7 Audio attached Linux Manual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Jun 2019 04:20:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968836#M144285</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-06-26T04:20:14Z</dc:date>
    </item>
    <item>
      <title>Re: I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968837#M144286</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is i have asked previously for dey2.4. in there i was not able to receive sai_mclk 12.288Mhz thats the reason now i want to try it on dey2.6 weather it works there or not. i was expecting reply from wigros but still didnt get the response.&lt;/P&gt;&lt;P&gt;i have added same driver file and config to dey2.6 and getting the error.&lt;/P&gt;&lt;P&gt;Request you to please look into this as a reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/500755"&gt;https://community.nxp.com/thread/500755&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hitesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Jun 2019 07:51:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968837#M144286</guid>
      <dc:creator>hitesh_kasera</dc:creator>
      <dc:date>2019-06-26T07:51:02Z</dc:date>
    </item>
    <item>
      <title>Re: I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968838#M144287</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hitesh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;that thread was already escalated to application team.&lt;/P&gt;&lt;P&gt;If that did not help, suggestion to proceed with help of&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/support/support/nxp-professional-services:PROFESSIONAL-SERVICE" title="https://www.nxp.com/support/support/nxp-professional-services:PROFESSIONAL-SERVICE"&gt;NXP Professional Services | NXP&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Jun 2019 08:18:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968838#M144287</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-06-26T08:18:46Z</dc:date>
    </item>
    <item>
      <title>Re: I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968839#M144288</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your response. i will look into that and it will be great if you can help out for dey2.6 driver implementation, if i am missing something in driver file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will be really helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hitesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Jun 2019 04:31:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968839#M144288</guid>
      <dc:creator>hitesh_kasera</dc:creator>
      <dc:date>2019-06-28T04:31:38Z</dc:date>
    </item>
    <item>
      <title>Re: I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968840#M144289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i debugged into driver as you said but still i am getting master clock around 45Hz but in driver its shows 12.288Mhz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the updated driver code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static int imx_sph0645_hw_params(struct snd_pcm_substream *substream,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct snd_pcm_hw_params *params)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct snd_soc_pcm_runtime *rtd = substream-&amp;gt;private_data;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct snd_soc_dai *cpu_dai = rtd-&amp;gt;cpu_dai;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;u32 channels = 2; //ALWAYS 2 CHANNELS&amp;nbsp; params_channels(params);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;u32 ratio = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;u64 mclk = 12288000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;u32 rate = params_rate(params); //sampling rate&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(cpu_dai-&amp;gt;dev, "sampling rate parms_rate output rate : %d \n" , rate);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;u32 bclk = rate * channels * 32; //fixed to sampling rate * 64&lt;BR /&gt;//&amp;nbsp;&amp;nbsp; &amp;nbsp;ratio = mclk / bclk ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ratio = 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(cpu_dai-&amp;gt;dev, "bclk : %d \n" , bclk);&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(cpu_dai-&amp;gt;dev, "ratio : %d \n" , ratio);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int ret = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* set cpu DAI configuration */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ret) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(cpu_dai-&amp;gt;dev, "failed to set dai fmt\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ret;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0, 3, 2, 32);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ret) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(cpu_dai-&amp;gt;dev, "failed to set dai tdm slot\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ret;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret = snd_soc_dai_set_sysclk(cpu_dai, 1, mclk, SND_SOC_CLOCK_OUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ret)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(cpu_dai-&amp;gt;dev, "failed to set cpu sysclk\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ret;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret = snd_soc_dai_set_bclk_ratio(cpu_dai, ratio);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ret)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(cpu_dai-&amp;gt;dev, "failed to set bclk ratio\n"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return ret;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the debugging ouput:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fsl-sai 2028000.sai: Entered into fsl sai set mclk rate mclk_clk[1] = 12288000Hz:&lt;BR /&gt;fsl-sai 2028000.sai: Entered into fsl sai set bclk with freq: 3072000 Hz&lt;BR /&gt;fsl-sai 2028000.sai: Entered into fsl sai set bclk mclk_clk[0] = 0Hz:&lt;BR /&gt;fsl-sai 2028000.sai: Entered into fsl sai set bclk mclk_clk[1] = 12288000Hz:&lt;BR /&gt;fsl-sai 2028000.sai: ratio 4 for freq 3072000Hz based on clock 12288000Hz&lt;BR /&gt;fsl-sai 2028000.sai: Entered into fsl sai set bclk id and tx : 0, id = 1:&lt;BR /&gt;, savediv :4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Request you to provide your inputs regarding master clock setting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hitesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 06:10:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/968840#M144289</guid>
      <dc:creator>hitesh_kasera</dc:creator>
      <dc:date>2019-07-02T06:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: I2S microphone (SPH0645LM4H)  Driver Implementation with i.mx6ul with yocto dey2.6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/1505101#M193744</link>
      <description>&lt;P&gt;This no longer compiles.&amp;nbsp;&amp;nbsp;sound/soc/fsl/imx-sph0645.c:43:35: error: ‘struct snd_soc_pcm_runtime’ has no member named ‘cpu_dai’&lt;BR /&gt;43 | struct snd_soc_dai *cpu_dai = rtd-&amp;gt;cpu_dai;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2022 15:53:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I2S-microphone-SPH0645LM4H-Driver-Implementation-with-i-mx6ul/m-p/1505101#M193744</guid>
      <dc:creator>synaption</dc:creator>
      <dc:date>2022-08-11T15:53:53Z</dc:date>
    </item>
  </channel>
</rss>

