<?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 IMX6 - EIM/DDR3 interface in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-EIM-DDR3-interface/m-p/666292#M102533</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;I am new to linux,I am using Phyboard MIRA iMX6. My application is to read data from external SRAM and load it in DDR3 and process it.&lt;/P&gt;&lt;PRE style="width: 700px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;"&gt;We are using EIM module of iMX6 to read/write data from FPGA SRAM with chipselect 0, 16 address and datalines (multiplexed),read, write signals for this interface. 1GB DDR3 RAM is connected via MMDC.&amp;nbsp; I have gone through iMX6 data available on Internet and understood the following,&amp;nbsp; 1. EIM Module should be enabled by doing the required pin muxing. 2. Address range of CS0 can be configured in the pin muxing itself. 3. A simple memory read/write functions supported by linux can be used to read and write the external memory.&amp;nbsp; Please clarify whether the above statements or valid, if not what is the usual method of accessing a memory over EIM Module. If you have any application note or sample code on EIM, please provide it will be very helpful for us.

Also how to create buffers in DDR3 ram. I want to create 3 buffers of size&amp;nbsp;&amp;nbsp; 128KB each starting from some fixed location. 

Thanks in advance.&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 29 May 2017 11:52:05 GMT</pubDate>
    <dc:creator>vijeshreddy</dc:creator>
    <dc:date>2017-05-29T11:52:05Z</dc:date>
    <item>
      <title>IMX6 - EIM/DDR3 interface</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-EIM-DDR3-interface/m-p/666292#M102533</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;I am new to linux,I am using Phyboard MIRA iMX6. My application is to read data from external SRAM and load it in DDR3 and process it.&lt;/P&gt;&lt;PRE style="width: 700px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;"&gt;We are using EIM module of iMX6 to read/write data from FPGA SRAM with chipselect 0, 16 address and datalines (multiplexed),read, write signals for this interface. 1GB DDR3 RAM is connected via MMDC.&amp;nbsp; I have gone through iMX6 data available on Internet and understood the following,&amp;nbsp; 1. EIM Module should be enabled by doing the required pin muxing. 2. Address range of CS0 can be configured in the pin muxing itself. 3. A simple memory read/write functions supported by linux can be used to read and write the external memory.&amp;nbsp; Please clarify whether the above statements or valid, if not what is the usual method of accessing a memory over EIM Module. If you have any application note or sample code on EIM, please provide it will be very helpful for us.

Also how to create buffers in DDR3 ram. I want to create 3 buffers of size&amp;nbsp;&amp;nbsp; 128KB each starting from some fixed location. 

Thanks in advance.&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 May 2017 11:52:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-EIM-DDR3-interface/m-p/666292#M102533</guid>
      <dc:creator>vijeshreddy</dc:creator>
      <dc:date>2017-05-29T11:52:05Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 - EIM/DDR3 interface</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-EIM-DDR3-interface/m-p/666293#M102534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;Please look at my comments below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;1. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;gt; EIM Module should be enabled by doing the required pin muxing. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;BR /&gt; In addition to reserving the needed pins, using pin mux-ing, it is required&lt;BR /&gt;to configure the EIM module. Please look at section 22.6 (Initialization Information) of the i.MX6 D/Q Reference Manual, linked below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;A class="link-titled" href="http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf" title="http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf"&gt;http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;gt; Address range of CS0 can be configured in the pin muxing itself. &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; No, please look at section 22.4 (Chip Select Memory Map) about &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;EIM memory map configuring.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;BR /&gt;3.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;gt; A simple memory read/write functions supported by linux can be used &lt;BR /&gt;&amp;gt; to read and write the external memory.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; Generally - yes. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;4.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&amp;gt; how to create buffers in DDR3 ram. I want to create 3 buffers of size&lt;BR /&gt; &amp;gt; 128KB each starting from some fixed location. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;Linux memory allocation strategy does not allow to fix buffer addresses.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;But this relates to DRAM memory. To support EIM address range, You may&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;design own EIM driver. As driver example :&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;A class="link-titled" href="https://github.com/UDOOboard/Kernel_Unico/blob/master/arch/arm/mach-mx6/board-mx6q_sabreauto.c" title="https://github.com/UDOOboard/Kernel_Unico/blob/master/arch/arm/mach-mx6/board-mx6q_sabreauto.c"&gt;Kernel_Unico/board-mx6q_sabreauto.c at master · UDOOboard/Kernel_Unico · GitHub&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Tue, 30 May 2017 04:05:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-EIM-DDR3-interface/m-p/666293#M102534</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-05-30T04:05:02Z</dc:date>
    </item>
  </channel>
</rss>

