<?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中的主题 Re: EIM write performance / burst size</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456970#M71360</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 have gotten the SDMA to work copying from memory to EIM. However the speed is quite bad, only 25 MB/s (16-bit EIM width).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using the default ap_2_ap SDMA script. Is it possible to get the source for this script? In the reference manual it is mentioned that you can use prefetch and copy bits in the SDMA STF instruction to increase throughput. I guess the default ap_2_ap script does not use these flags? I would like to modify the firmware, enabling these flags. Can you provide an example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Kristoffer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 03 Jun 2015 13:57:07 GMT</pubDate>
    <dc:creator>kristofferglemb</dc:creator>
    <dc:date>2015-06-03T13:57:07Z</dc:date>
    <item>
      <title>EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456966#M71356</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;we are connecting an i.MX6DQ with a FPGA through the EIM bus and we need help to find the register settings used to get maximum performance for synchronous write operations on that interface?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We use the bus in 16-bit synchronous multiplexed mode. Our register settings are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_1432357552053799 jive_macro_code jive_text_macro" data-renderedposition="155_8_1130_96" jivemacro_uid="_1432357552053799"&gt;&lt;P&gt;EIM_CS0GCR1 = 0x0191103F&lt;/P&gt;&lt;P&gt;EIM_CS0GCR2 = 0x00001000&lt;/P&gt;&lt;P&gt;EIM_CS0RCR1 = 0x01000000&lt;/P&gt;&lt;P&gt;EIM_CS0RCR2 = 0x00000000&lt;/P&gt;&lt;P&gt;EIM_CS0WCR1 = 0x01000000&lt;/P&gt;&lt;P&gt;EIM_CS0WCR2 = 0x00000000&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because we use the bus in multiplexed mode to get maximum performance the burst length on a write has to be maximized. What settings is needed in order to get the as many data as possible per address in one CS cycle? What can we expect to be the maximum amount of data within a CS cycle?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;We can also confirm from measurements that there are long delays between CS cycles that previously has been discussed in &lt;/SPAN&gt;&lt;A class="jive-link-message-small" data-containerid="2004" data-containertype="14" data-objectid="428151" data-objecttype="2" href="https://community.freescale.com/message/428151#428151" rel="nofollow noopener noreferrer" target="_blank"&gt;https://community.freescale.com/message/428151&lt;/A&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;A class="jive-link-message-small" data-containerid="2004" data-containertype="14" data-objectid="491788" data-objecttype="2" href="https://community.freescale.com/message/491788#491788" rel="nofollow noopener noreferrer" target="_blank"&gt;https://community.freescale.com/message/491788&lt;/A&gt;&lt;SPAN&gt;. This is the reason to get as long CS cycles as possible to increase performance.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;/Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 May 2015 05:08:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456966#M71356</guid>
      <dc:creator>PeterBergin</dc:creator>
      <dc:date>2015-05-23T05:08:27Z</dc:date>
    </item>
    <item>
      <title>Re: EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456967#M71357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would suggest to look at attached i.MX53 (it has similar EIM)&lt;/P&gt;&lt;P&gt;examples and try to reuse them for i.MX6. One can use i.MX6 SDK (eim example)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;i.MX 6Series Platform SDK&lt;/A&gt;&amp;nbsp; : Bare-metal SDK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 May 2015 11:12:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456967#M71357</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-05-24T11:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456968#M71358</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 the fast reply! (I'm working with Peter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are interested in getting the SDMA to work in Linux copying memory from ARM RAM to EIM. We are currently running on a Nitrogen6 Max board with a 3.10.7 kernel. The imx-sdma driver in Linux is lacking memory to memory transfer capabilities. We found a patch (from Freescale) adding that feature in the following forum thread: &lt;A href="https://community.nxp.com/thread/318908"&gt;i.MX6 SDMA.&lt;/A&gt;​ Do you know if this the proper patch to apply or if there are better versions available? If there is an example client driver using the SDMA engine to copy memory to EIM we would very much like to see that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Kristoffer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jun 2015 06:13:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456968#M71358</guid>
      <dc:creator>kristofferglemb</dc:creator>
      <dc:date>2015-06-02T06:13:07Z</dc:date>
    </item>
    <item>
      <title>Re: EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456969#M71359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kristoffer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes this is proper patch, I think it is included as&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENGR00308001-sdma-support-M2M-dma-copy-for-v3.10.17.patch&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;&lt;STRONG class="final-path"&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jun 2015 15:25:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456969#M71359</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-06-02T15:25:39Z</dc:date>
    </item>
    <item>
      <title>Re: EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456970#M71360</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 have gotten the SDMA to work copying from memory to EIM. However the speed is quite bad, only 25 MB/s (16-bit EIM width).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using the default ap_2_ap SDMA script. Is it possible to get the source for this script? In the reference manual it is mentioned that you can use prefetch and copy bits in the SDMA STF instruction to increase throughput. I guess the default ap_2_ap script does not use these flags? I would like to modify the firmware, enabling these flags. Can you provide an example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Kristoffer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2015 13:57:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456970#M71360</guid>
      <dc:creator>kristofferglemb</dc:creator>
      <dc:date>2015-06-03T13:57:07Z</dc:date>
    </item>
    <item>
      <title>Re: EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456971#M71361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kristoffer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;unfortunately Freescale does not support&lt;/P&gt;&lt;P&gt;customization of sdma scripts, sources are not available.&lt;/P&gt;&lt;P&gt;Just for reference below link may be useful &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="http://billauer.co.il/blog/2011/10/imx-sdma-howto-memory-map/" rel="nofollow" target="_blank"&gt;http://billauer.co.il/blog/2011/10/imx-sdma-howto-memory-map/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2015 14:16:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456971#M71361</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-06-03T14:16:51Z</dc:date>
    </item>
    <item>
      <title>Re: EIM write performance / burst size</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456972#M71362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kristoffer,&lt;/P&gt;&lt;P&gt;I am working to transfer data from EIM to MX6 DDR with SDMA. But it does not work. I think&amp;nbsp;t&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;he imx-sdma driver in Linux is lacking &lt;SPAN style="color: #3d3d3d;"&gt;transfering data from EIM to MX6 DDR with SDMA.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I see that you have gotten the SDMA to work copying from memory to EIM. So,&amp;nbsp; Could you give me some suggestions please?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Besr Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Aug 2018 09:02:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/EIM-write-performance-burst-size/m-p/456972#M71362</guid>
      <dc:creator>rclongyunteng</dc:creator>
      <dc:date>2018-08-01T09:02:20Z</dc:date>
    </item>
  </channel>
</rss>

