<?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 SDMA transfer between EIM and memory problem in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631251#M95953</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Hi community,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;We have a board using IMX6UL. It is needed to transfer data between CPU and FPGA via EIM interface, and with DMA mode. The kernel version we used is 3.14.38. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Because the weim.DATA pin is used for lcdif.data, I configure the EIM interface to multiplexed mode(MUM=1), 16-bit datawidth(DSZ=001), and synchronous read/write(SRD=1, SWR=1), BCLK divide EIM clock by 1(BCD=1) . The EIM register is configured as follow:&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR1：0x7111019F&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR2：0x00000808&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR1：0x03000000&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR2：0x00000000&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR1：0x01012480&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR2：0x00000000&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_WCR：0x00000028&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I modified the test module (mxc_sdma_memcopy_test) which get from community.(See attach) Now I can capture singnal on EIM interface from FPGA. And the timing is basically my expected.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Now I have two problem:&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1、There is a interval every 32 bytes data when transfer data between memory and EIM with SDMA. &lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="167225_167225.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122463i48B49B39443D2B83/image-size/large?v=v2&amp;amp;px=999" role="button" title="167225_167225.jpg" alt="167225_167225.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="dma burst read_3.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/6308iAAA41BB0E3140F45/image-size/large?v=v2&amp;amp;px=999" role="button" title="dma burst read_3.jpg" alt="dma burst read_3.jpg" /&gt;&lt;/span&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;No matter I configure the burst length to 4/8/16/32 words, it is a interval erery 32-byte transfer. For my configure， 32-byte is 16 words（DSZ=001， 1 word is 2 byte），so when I configure the burst length to 32 words，one burst read or write is also only 16 words.&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;What is the reason of this interval? How can I eliminate or shorten this interval?&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2、The timing of EIM interface when transfer from EIM to memory with SDMA is as my expected， but when I check the data in rbuf after transfer , the read data is error: some data is read twice and some data is lost. As follow is the timing I capture at FPGA: &lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="167226_167226.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122464i488144B899ED752A/image-size/large?v=v2&amp;amp;px=999" role="button" title="167226_167226.jpg" alt="167226_167226.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="dma burst read data error.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/6334iF4FBFD9EB5A27067/image-size/large?v=v2&amp;amp;px=999" role="button" title="dma burst read data error.jpg" alt="dma burst read data error.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The expected read data is:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_0 : 00070006&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_1 : 00090008&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_2 : 000b000a&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_3 : 000d000c&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_4 : 00150014&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_5 : 00170016&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_6 : 00190018&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_7 : 001b001a&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; But the print result is:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_0 : 00070006&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_1 : 00080007&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_2 : 00090008&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_3 : 000a0009&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_4 : 000c000c&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_5 : 000d000d&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_6 : 0000000e&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_7 : 000f0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; The second burst transfer data is almost lost. Is there something wrong with my configure for EIM? Or there is something I&lt;/P&gt;&lt;P&gt;should change when using SDMA for transfer from EIM to memory? &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Attach my SDMA test module and the wave capture from FPGA.&lt;/P&gt;&lt;P&gt;&lt;STRONG class="" style="color: #333333; background-color: #ffffff; font-size: 20px;"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG class="" style="color: #333333; background-color: #ffffff; font-size: 20px;"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336342"&gt;mxc_sdma_memcopy_test.c.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Nov 2016 07:03:46 GMT</pubDate>
    <dc:creator>rooftree</dc:creator>
    <dc:date>2016-11-04T07:03:46Z</dc:date>
    <item>
      <title>SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631251#M95953</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Hi community,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;We have a board using IMX6UL. It is needed to transfer data between CPU and FPGA via EIM interface, and with DMA mode. The kernel version we used is 3.14.38. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Because the weim.DATA pin is used for lcdif.data, I configure the EIM interface to multiplexed mode(MUM=1), 16-bit datawidth(DSZ=001), and synchronous read/write(SRD=1, SWR=1), BCLK divide EIM clock by 1(BCD=1) . The EIM register is configured as follow:&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR1：0x7111019F&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR2：0x00000808&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR1：0x03000000&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR2：0x00000000&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR1：0x01012480&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR2：0x00000000&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_WCR：0x00000028&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I modified the test module (mxc_sdma_memcopy_test) which get from community.(See attach) Now I can capture singnal on EIM interface from FPGA. And the timing is basically my expected.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Now I have two problem:&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1、There is a interval every 32 bytes data when transfer data between memory and EIM with SDMA. &lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="167225_167225.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122463i48B49B39443D2B83/image-size/large?v=v2&amp;amp;px=999" role="button" title="167225_167225.jpg" alt="167225_167225.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="dma burst read_3.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/6308iAAA41BB0E3140F45/image-size/large?v=v2&amp;amp;px=999" role="button" title="dma burst read_3.jpg" alt="dma burst read_3.jpg" /&gt;&lt;/span&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;No matter I configure the burst length to 4/8/16/32 words, it is a interval erery 32-byte transfer. For my configure， 32-byte is 16 words（DSZ=001， 1 word is 2 byte），so when I configure the burst length to 32 words，one burst read or write is also only 16 words.&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;What is the reason of this interval? How can I eliminate or shorten this interval?&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2、The timing of EIM interface when transfer from EIM to memory with SDMA is as my expected， but when I check the data in rbuf after transfer , the read data is error: some data is read twice and some data is lost. As follow is the timing I capture at FPGA: &lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="167226_167226.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122464i488144B899ED752A/image-size/large?v=v2&amp;amp;px=999" role="button" title="167226_167226.jpg" alt="167226_167226.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="dma burst read data error.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/6334iF4FBFD9EB5A27067/image-size/large?v=v2&amp;amp;px=999" role="button" title="dma burst read data error.jpg" alt="dma burst read data error.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The expected read data is:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_0 : 00070006&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_1 : 00090008&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_2 : 000b000a&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_3 : 000d000c&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_4 : 00150014&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_5 : 00170016&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_6 : 00190018&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 11.0pt; text-indent: 22.0pt;"&gt;&lt;SPAN&gt;dst data_7 : 001b001a&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; But the print result is:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_0 : 00070006&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_1 : 00080007&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_2 : 00090008&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_3 : 000a0009&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_4 : 000c000c&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_5 : 000d000d&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_6 : 0000000e&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 33.0pt;"&gt;&lt;SPAN&gt;dst data_7 : 000f0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; The second burst transfer data is almost lost. Is there something wrong with my configure for EIM? Or there is something I&lt;/P&gt;&lt;P&gt;should change when using SDMA for transfer from EIM to memory? &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Attach my SDMA test module and the wave capture from FPGA.&lt;/P&gt;&lt;P&gt;&lt;STRONG class="" style="color: #333333; background-color: #ffffff; font-size: 20px;"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG class="" style="color: #333333; background-color: #ffffff; font-size: 20px;"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336342"&gt;mxc_sdma_memcopy_test.c.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 07:03:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631251#M95953</guid>
      <dc:creator>rooftree</dc:creator>
      <dc:date>2016-11-04T07:03:46Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631252#M95954</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please refer to example patch on&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-103127"&gt;Measure SDMA Memory To Memory Copy Performance on i.MX6Q&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for data corruption one can check max. EIM frequency (104MHz) given in&lt;/P&gt;&lt;P&gt;sect.4.9.3 External Interface Module (EIM) i.MX6UL Datasheet &lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/data_sheet/IMX6ULCEC.pdf"&gt;http://cache.freescale.com/files/32bit/doc/data_sheet/IMX6ULCEC.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;To avoid intervals, check that SDMA source memory address was aligned&lt;/P&gt;&lt;P&gt;according to burst size.&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>Fri, 04 Nov 2016 07:48:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631252#M95954</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2016-11-04T07:48:47Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631253#M95955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;igorpadykov，thanks your reply.&lt;/P&gt;&lt;P&gt;The EIM frequency I used is 88MHz，it is not exceed 104MHz。&lt;/P&gt;&lt;P&gt;And the source memory address, is 0x88xx0000，for example, the SDMA driver print:&amp;nbsp;&lt;/P&gt;&lt;P&gt;"imx-sdma 20ee000.sdma: memcpy : 0x50000000-&amp;gt;0x88a20000, len=61440, channel = 3"&lt;/P&gt;&lt;P&gt;I think it is aligned more than the burst size.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 05 Nov 2016 04:35:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631253#M95955</guid>
      <dc:creator>rooftree</dc:creator>
      <dc:date>2016-11-05T04:35:12Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631254#M95956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will tell you my view on this. Most likely it will not help you to improve the performance, but at least you will understand where the limitations are coming from.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The static memory interface IP block from ARM is intended to work as an interface to NOR flash memory or to SRAM. The access of this memory is done through a memory controller and through bridges which synchronize the two worlds to each other. To optimize the read access, the memory controller performs burst reads and stores the values in buffers. In case you read one byte from the ARM side, you will get it. But when reading this byte, the memory controller in fact reads more ( = the burst). And if you now read with the ARM from subsequent addresses, the memory controller can just take it from the buffer. Let's call it a very simple small cache.&lt;/P&gt;&lt;P&gt;For an SRAM or NOR flash these additional read cycles have no meaning, you can only profit from it. For an FPGA interface this means that you need to design it in such a way that additional reads have no effect, neither for the FPGA (auto increment for example) nor for the result you may get when you read two subsequent address locations on the FPGA..&lt;/P&gt;&lt;P&gt;I can't provide you with any timing behavior, burst length etc, but maybe you find some information on the ARM website when you go to these respective IP blocks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0215e/index.html"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0215e/index.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Writing is of course not done in unpredictable bursts, this would not work with SRAM or NOR flash.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps a little bit to understand what's going one here.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 16:40:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631254#M95956</guid>
      <dc:creator>bernhardfink</dc:creator>
      <dc:date>2016-11-17T16:40:36Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631255#M95957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!!&lt;/P&gt;&lt;P&gt;I have same problem&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to make interface&amp;nbsp;i.mx6 solo&amp;nbsp;and FPGA&amp;nbsp;use EIM(with sdma).&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I've already tested with that using eim.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But, it is not working very well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my case, give inturrupt signal to eim&amp;nbsp;at 200us , then&amp;nbsp;also give data&amp;nbsp;in time.&lt;/P&gt;&lt;P&gt;Dma&amp;nbsp;process&amp;nbsp;is over time&amp;nbsp;on interrupt time.&lt;/P&gt;&lt;P&gt;So&amp;nbsp;i&amp;nbsp;did change like below, use multiple dma channle.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&amp;nbsp;But also not working very well.&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp; &amp;lt;= inturrupts (200us interval)&lt;/P&gt;&lt;P&gt;dma channel 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|-----|&lt;/P&gt;&lt;P&gt;dma channel 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-----|&lt;/P&gt;&lt;P&gt;dma channel 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|-----|&lt;/P&gt;&lt;P&gt;....&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;However, this method did not work well because of the schemeler of dma.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&lt;/P&gt;&lt;P style="padding: 0px; min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How can I make dma without being pushed back to match the interrupt signal?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;When did u make use eim&amp;nbsp;to FPGA&amp;nbsp;, can u help me? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In your case, how to make dma code.. ? hint plz.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Mar 2018 11:40:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631255#M95957</guid>
      <dc:creator>hanseunglee</dc:creator>
      <dc:date>2018-03-06T11:40:30Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631256#M95958</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, we have use EIM to communicate with FPGA, and with DMA, but there‘s some promble, I will post later.&lt;/P&gt;&lt;P&gt;final,&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;The EIM register is configured as follow:&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR1：0x0111019F&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR2：0x00001010&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR1：0x02000000&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR2：0x00000000&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR1：0x01008280&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR2：0x00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The relate DMA code is :&lt;/P&gt;&lt;P&gt;static int fpga_dma_reg_transfer(struct fpga_dev *fe, u32 addr, void *buf, u32 len, int is_write)&lt;BR /&gt;{&lt;BR /&gt; unsigned reg_addr = fe-&amp;gt;phys_param_base + (addr &amp;lt;&amp;lt; FPGA_ADDR_SHIFT);&lt;BR /&gt; int align_req = 32;&lt;BR /&gt; int align_size = (len + align_req - 1) / align_req * align_req;&lt;/P&gt;&lt;P&gt;// printk("fpga_dma_reg_transfer, fe:%p, addr:%x, len:%d, is_write:%d, align_size:%d\n", fe, addr, len, is_write, align_size);&lt;/P&gt;&lt;P&gt;if (align_size &amp;lt;= fe-&amp;gt;max_param_size)&lt;BR /&gt; {&lt;BR /&gt; struct dma_async_tx_descriptor *dma_m2m_desc = NULL;&lt;/P&gt;&lt;P&gt;dmaengine_slave_config(fe-&amp;gt;dma_m2m_chan_reg, &amp;amp;fe-&amp;gt;dma_m2m_config);&lt;/P&gt;&lt;P&gt;if (is_write == 1)&lt;BR /&gt; {&lt;BR /&gt; dma_m2m_desc = fe-&amp;gt;dma_m2m_chan_reg-&amp;gt;device-&amp;gt;device_prep_dma_memcpy(fe-&amp;gt;dma_m2m_chan_reg, &lt;BR /&gt; reg_addr, &lt;BR /&gt; (dma_addr_t)buf, &lt;BR /&gt; align_size, &lt;BR /&gt; 0);&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; dma_m2m_desc = fe-&amp;gt;dma_m2m_chan_reg-&amp;gt;device-&amp;gt;device_prep_dma_memcpy(fe-&amp;gt;dma_m2m_chan_reg, &lt;BR /&gt; (dma_addr_t)buf, &lt;BR /&gt; reg_addr, &lt;BR /&gt; align_size, &lt;BR /&gt; 0);&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;if (dma_m2m_desc != NULL)&lt;BR /&gt; {&lt;BR /&gt; dma_m2m_desc-&amp;gt;callback = dma_m2m_callback;&lt;BR /&gt; dma_m2m_desc-&amp;gt;callback_param = &amp;amp;fe-&amp;gt;dma_m2m_ok_reg;&lt;BR /&gt; dmaengine_submit(dma_m2m_desc);&lt;BR /&gt; dma_async_issue_pending(fe-&amp;gt;dma_m2m_chan_reg);&lt;BR /&gt; wait_for_completion(&amp;amp;fe-&amp;gt;dma_m2m_ok_reg);&lt;BR /&gt; return len;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; return -EFAULT;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope help you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Mar 2018 07:05:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631256#M95958</guid>
      <dc:creator>rooftree</dc:creator>
      <dc:date>2018-03-07T07:05:21Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631257#M95959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Hi community:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp; &amp;nbsp; I have solved the question 2 above, after I set the EIM_clk to 66MHz, other clk frequence is not ok. Then wen can transfer data between IMX6UL and FPGA. Finally,&amp;nbsp;&lt;SPAN&gt;the EIM interface is configured&amp;nbsp;multiplexed mode(MUM=1), 16-bit datawidth(DSZ=001), synchronous read and write, we used the BCLK for FPGA to capture the data, the burst length is still 8 words(16 byte). Burst read is monitored WAIT signal to start, burst write is fix latency So, t&lt;/SPAN&gt;&lt;SPAN style="border: 0px;"&gt;he EIM register is finally configured as follow:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR1：0x0111019F&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnGCR2：0x00001010&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR1：0x02000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnRCR2：0x00000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR1：0x01008280&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EIM_CSnWCR2：0x00000000&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; background-color: #ffffff; color: #51626f;"&gt;&amp;nbsp; &amp;nbsp; The question 1 above is still exist.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; background-color: #ffffff; color: #51626f;"&gt;Recently we found another data error promble while reading some address. For example, we first write 128 byte increasing num to the address begin from 0x21d00, then read back, there will be error data every 8 words(16 byte),it's a burst length.&amp;nbsp;The following is the contrast data printed by the software. The value after "error" is the word number, the value after "w=" is the written data, and &lt;SPAN style="background-color: #ffffff;"&gt;the value after "&lt;/SPAN&gt;r=" is the readout data.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Error 8: w=0008, r=0807&lt;BR /&gt;Error 9: w=0009, r=0008&lt;BR /&gt;Error a: w=000a, r=0009&lt;BR /&gt;Error b: w=000b, r=000a&lt;BR /&gt;Error c: w=000c, r=000b&lt;BR /&gt;Error d: w=000d, r=000c&lt;BR /&gt;Error e: w=000e, r=000d&lt;BR /&gt;Error f: w=000f, r=000e&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error 18: w=0018, r=0817&lt;BR /&gt;Error 19: w=0019, r=0018&lt;BR /&gt;Error 1a: w=001a, r=0019&lt;BR /&gt;Error 1b: w=001b, r=001a&lt;BR /&gt;Error 1c: w=001c, r=001b&lt;BR /&gt;Error 1d: w=001d, r=001c&lt;BR /&gt;Error 1e: w=001e, r=001d&lt;BR /&gt;Error 1f: w=001f, r=001e&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error 28: w=0028, r=0827&lt;BR /&gt;Error 29: w=0029, r=0028&lt;BR /&gt;Error 2a: w=002a, r=0029&lt;BR /&gt;Error 2b: w=002b, r=002a&lt;BR /&gt;Error 2c: w=002c, r=002b&lt;BR /&gt;Error 2d: w=002d, r=002c&lt;BR /&gt;Error 2e: w=002e, r=002d&lt;BR /&gt;Error 2f: w=002f, r=002e&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error 38: w=0038, r=0837&lt;BR /&gt;Error 39: w=0039, r=0038&lt;BR /&gt;Error 3a: w=003a, r=0039&lt;BR /&gt;Error 3b: w=003b, r=003a&lt;BR /&gt;Error 3c: w=003c, r=003b&lt;BR /&gt;Error 3d: w=003d, r=003c&lt;BR /&gt;Error 3e: w=003e, r=003d&lt;BR /&gt;Error 3f: w=003f, r=003e&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From the above error, in the 8 error&amp;nbsp;words, the last 7 data error is like that be delay one clk cycle. And only some address segment have such read error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Follow is the timing wave captured at FPGA.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="DMA_read_mark.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/1070i3318EA721B967DB0/image-size/large?v=v2&amp;amp;px=999" role="button" title="DMA_read_mark.png" alt="DMA_read_mark.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;On the data_from_fpga bus, the data in the blue box is the 8 words expected to be read one burst read.&amp;nbsp;The timing wave is normal, the bus is not be delay and there's no a "0807" word before the "0008" words.The words "0807" can be seen from wr_data bus(wr_data is EIM_AD[15:0] input to FPGA and latch). But it appears on the bus 2 clk cycle before the word "0008", I can't understand why the word is sampled by the burst read.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have similar promble?&lt;/P&gt;&lt;P&gt;If there is something wrong I configure the EIM, or SDMA?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Mar 2018 08:57:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631257#M95959</guid>
      <dc:creator>rooftree</dc:creator>
      <dc:date>2018-03-07T08:57:44Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631258#M95960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This promble is solved.&lt;/P&gt;&lt;P&gt;The reason is: "When BCD=0 value of BCS=0 results in a half clock delay after the start of access. "&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my design, the BCD should be 0, So I change the BCS to 01,(&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;EIM_CSnGCR1：0x0111419F&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;Now the data read back is right.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2018 01:40:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631258#M95960</guid>
      <dc:creator>rooftree</dc:creator>
      <dc:date>2018-03-09T01:40:39Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631259#M95961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Did your first question be solved? I also met the same problem about the interval.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jun 2018 05:24:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/631259#M95961</guid>
      <dc:creator>chaosun</dc:creator>
      <dc:date>2018-06-25T05:24:13Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/1172802#M164007</link>
      <description>&lt;P&gt;Hi rooftree:&lt;/P&gt;&lt;P&gt;How do you get the&amp;nbsp;&lt;SPAN&gt;fe-&amp;gt;phys_param_base in your dma code? ioremap?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;when i use sdma transfer data from mem to fpga (sdma config&amp;nbsp; mem_to_mem, ioremap the base) it is not work.But don't use sdma just memcpy it is work well&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;hint plz.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Oct 2020 03:04:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/1172802#M164007</guid>
      <dc:creator>Aspen</dc:creator>
      <dc:date>2020-10-26T03:04:29Z</dc:date>
    </item>
    <item>
      <title>Re: SDMA transfer between EIM and memory problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/1656674#M206470</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;Iam working in SRAM through EIM interface in i.MX53 processor.when i read the value from devmem2 command,&lt;/P&gt;&lt;P&gt;I get 0xFFFFFFFF but when i write values to it like 0xAAAA5555 and then read it shows as 0xAAAAAAAAA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;debian@arm:~$ sudo ./devmem2 0xF0000000 w 0xAAAA5555&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;EM&gt;/dev/mem opened.&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;EM&gt;Memory mapped at address 0xb6f15000.&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;EM&gt;Value at address 0xF0000000 (0xb6f15000): 0x10101010&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;EM&gt;Written 0xAAAA5555; readback 0xAAAAAAAA&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;If I read the next value , it gives the previous value .For Example, if i read value for 0xF0000004, 0xF0000008 etc it shows value of F0000000 as 0xAAAAAAAA&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;debian@arm:~$ sudo ./devmem2 0xf0000004&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;/dev/mem opened.&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Memory mapped at address 0xb6fc0000.&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Value at address 0xF0000004 (0xb6fc0004): 0xAAAAAAAA&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;debian@arm:~$ &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;debian@arm:~$ &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;debian@arm:~$ &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;debian@arm:~$ sudo ./devmem2 0xf0000008&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;/dev/mem opened.&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Memory mapped at address 0xb6f39000.&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Value at address 0xF0000008 (0xb6f39008): 0xAAAAAAAA&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;debian@arm:~$ &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please suggest how to proceed&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 24 May 2023 13:03:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SDMA-transfer-between-EIM-and-memory-problem/m-p/1656674#M206470</guid>
      <dc:creator>syedr1</dc:creator>
      <dc:date>2023-05-24T13:03:06Z</dc:date>
    </item>
  </channel>
</rss>

