<?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 SAI3 &amp;amp; EDMA on IMXRT1010 in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/SAI3-amp-EDMA-on-IMXRT1010/m-p/2069621#M33885</link>
    <description>&lt;DIV&gt;Hello,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I am trying to bring up SAI3 &amp;amp; EDMA on an IMXRT1010 custom board. To start with, I am using evkmimxrt1010_sai_edma_transfer example on IMXRT1010 EVK. I was able to run the demo with SAI 1. I can hear the stored tone. To check SAI3, I edited the code in evkmimxrt1010_sai_edma_transfer. I changed references of SAI1 to SAI3. The lines that I had edited are&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Line 26,28, 29 in sai_edma_transfer.c : Changed references of macros from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;41,43, 45 in sai_edma_transfer.c : Changed references of macros from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;61 in sai_edma_tranfer.c : Changed references of macros from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;138 &amp;amp; 142 : Changed references of MCLK output from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;191, 192 &amp;amp; 193: Clock settings changed from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;I am aware that the codec will not work in this case. However, I wanted to see the data transfer, with SAI3 taking in the data and completing the transfer. The code comiled and executed. However, the code gets stuck with 'kStatus_SAI_QueueFull' status message after 4 iterations. The MCU is not reaching the ISR for DMA. Code is not reaching&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;WEAK void DMA0_IRQHandler(void)&lt;/DIV&gt;&lt;DIV&gt;{&amp;nbsp; &amp;nbsp;DMA0_DriverIRQHandler();&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;in startup_mimxrt1011.c&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I had checked if the clock settings, NVIC settings ,&amp;nbsp; DMA settings &amp;amp; SAI3 settings are as per my understanding. I am unable to see anything amiss&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CCM_CSCMR1: SAI3_CLK_SEL-&amp;gt;SAI3_CLK_SEL_2&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CCM_CS1CDR: SAI3_CLK_PRED-&amp;gt;SAI3_CLK_PRED_3&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;TCD0_DADDR 0x401e8020 //this corresponds to the SAI3 TX register address.&lt;/DIV&gt;&lt;DIV&gt;TCR3 0x00010000 //this corresponds to the SAI3 TX en&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I had spent ~ 2 days and i have ran out of possible solutions. Any leads on this will be highly helpful.&lt;/DIV&gt;&lt;DIV&gt;Attached is my modified&amp;nbsp;sai_edma_transfer.c file.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks&lt;/DIV&gt;&lt;DIV&gt;Syam k&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
    <pubDate>Thu, 27 Mar 2025 16:16:11 GMT</pubDate>
    <dc:creator>Syam_Krishnan</dc:creator>
    <dc:date>2025-03-27T16:16:11Z</dc:date>
    <item>
      <title>SAI3 &amp; EDMA on IMXRT1010</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/SAI3-amp-EDMA-on-IMXRT1010/m-p/2069621#M33885</link>
      <description>&lt;DIV&gt;Hello,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I am trying to bring up SAI3 &amp;amp; EDMA on an IMXRT1010 custom board. To start with, I am using evkmimxrt1010_sai_edma_transfer example on IMXRT1010 EVK. I was able to run the demo with SAI 1. I can hear the stored tone. To check SAI3, I edited the code in evkmimxrt1010_sai_edma_transfer. I changed references of SAI1 to SAI3. The lines that I had edited are&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Line 26,28, 29 in sai_edma_transfer.c : Changed references of macros from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;41,43, 45 in sai_edma_transfer.c : Changed references of macros from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;61 in sai_edma_tranfer.c : Changed references of macros from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;138 &amp;amp; 142 : Changed references of MCLK output from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;191, 192 &amp;amp; 193: Clock settings changed from SAI1 to SAI3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;I am aware that the codec will not work in this case. However, I wanted to see the data transfer, with SAI3 taking in the data and completing the transfer. The code comiled and executed. However, the code gets stuck with 'kStatus_SAI_QueueFull' status message after 4 iterations. The MCU is not reaching the ISR for DMA. Code is not reaching&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;WEAK void DMA0_IRQHandler(void)&lt;/DIV&gt;&lt;DIV&gt;{&amp;nbsp; &amp;nbsp;DMA0_DriverIRQHandler();&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;in startup_mimxrt1011.c&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I had checked if the clock settings, NVIC settings ,&amp;nbsp; DMA settings &amp;amp; SAI3 settings are as per my understanding. I am unable to see anything amiss&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CCM_CSCMR1: SAI3_CLK_SEL-&amp;gt;SAI3_CLK_SEL_2&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CCM_CS1CDR: SAI3_CLK_PRED-&amp;gt;SAI3_CLK_PRED_3&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;TCD0_DADDR 0x401e8020 //this corresponds to the SAI3 TX register address.&lt;/DIV&gt;&lt;DIV&gt;TCR3 0x00010000 //this corresponds to the SAI3 TX en&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I had spent ~ 2 days and i have ran out of possible solutions. Any leads on this will be highly helpful.&lt;/DIV&gt;&lt;DIV&gt;Attached is my modified&amp;nbsp;sai_edma_transfer.c file.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks&lt;/DIV&gt;&lt;DIV&gt;Syam k&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Thu, 27 Mar 2025 16:16:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/SAI3-amp-EDMA-on-IMXRT1010/m-p/2069621#M33885</guid>
      <dc:creator>Syam_Krishnan</dc:creator>
      <dc:date>2025-03-27T16:16:11Z</dc:date>
    </item>
    <item>
      <title>Re: SAI3 &amp; EDMA on IMXRT1010</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/SAI3-amp-EDMA-on-IMXRT1010/m-p/2070438#M33901</link>
      <description>&lt;P&gt;The catch was&amp;nbsp;&lt;SPAN&gt;#define DEMO_SAI_MASTER_SLAVE kSAI_Slave defined in sai_edma_transfer.c&amp;nbsp; . With&amp;nbsp;WM8960 Codec, the codec makes the BCLK and SAI accepts the clock. When i moved from SAI1 to SAI3, there is no BCLK to drive the SAI. When SAI3 was configured as master, I could see SAI3 taking in data and DMA generating interrupts. Now I will try this code in my custom board with TAS2780.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Mar 2025 17:05:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/SAI3-amp-EDMA-on-IMXRT1010/m-p/2070438#M33901</guid>
      <dc:creator>Syam_Krishnan</dc:creator>
      <dc:date>2025-03-28T17:05:00Z</dc:date>
    </item>
  </channel>
</rss>

