<?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 Re: i.MX6 EIM driver for FPGA in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292608#M35879</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,James,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is my personal advice, for you as reference .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For the usage of WEIM on i.MX6, you don't need drivers for WEIM interface. But you must do some configurations for WEIM port like the following :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let me assume you use 16bit Address lines and 16bit Data lines ,CS1 is for FPGA ChipSelect .&lt;/P&gt;&lt;P&gt;Address lines : EIM_DA0~EIM_DA15&lt;/P&gt;&lt;P&gt;Data lines : EIM_D16~EIM_D31&lt;/P&gt;&lt;P&gt;CS1 : Chip Select&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(1)IOMUX configurations&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; All IOMUX settings for sabresd board are in board-mx6q_sabresd.c ,open it and add iomux for address lines ,data lines ,CS1 ,control lines to structure "static iomux_v3_cfg_t mx6q_sabresd_pads[] = {"&lt;/P&gt;&lt;P&gt;static iomux_v3_cfg_t mx6q_sabresd_pads[] = {&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;/*Address Lines*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA0__WEIM_WEIM_DA_A_0,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA1__WEIM_WEIM_DA_A_1,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA2__WEIM_WEIM_DA_A_2 ,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA3__WEIM_WEIM_DA_A_3,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA4__WEIM_WEIM_DA_A_4,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA5__WEIM_WEIM_DA_A_5,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA6__WEIM_WEIM_DA_A_6,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA7__WEIM_WEIM_DA_A_7,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA8__WEIM_WEIM_DA_A_8,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA9__WEIM_WEIM_DA_A_9,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA10__WEIM_WEIM_DA_A_10,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA11__WEIM_WEIM_DA_A_11,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA12__WEIM_WEIM_DA_A_12,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA13__WEIM_WEIM_DA_A_13,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA14__WEIM_WEIM_DA_A_14,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA15__WEIM_WEIM_DA_A_15,&lt;/P&gt;&lt;P&gt;/*Data Lines*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D16__WEIM_WEIM_D_16,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D17__WEIM_WEIM_D_17,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D18__WEIM_WEIM_D_18,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D19__WEIM_WEIM_D_19,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D20__WEIM_WEIM_D_20,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_21,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_22,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_23,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_24,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_25,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_26,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_27,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_28,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_29,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_30,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_31,&lt;/P&gt;&lt;P&gt;/*Control Lines*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_RW__WEIM_WEIM_RW,// write signal&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_OE__WEIM_WEIM_OE,// read signal&lt;/P&gt;&lt;P&gt;//perhaps following 2 signals are not used.&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_WAIT__WEIM_WEIM_WAIT,// shakehand signal used to sync mode.&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_BCLK__WEIM_WEIM_BCLK,// Burst clock used to burst and sync mode.&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_LBA__WEIM_WEIM_LBA,// used to burst mode&lt;/P&gt;&lt;P&gt;/*Chip select line*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_CS1__WEIM_WEIM_CS_1,&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(2)Distributing Memory Space For WEIM_CS1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; By Defaul,The total 128MB space are all for EIM_CS0,so We should reconfigure space.&lt;/P&gt;&lt;P&gt;In Register IOMUXC_GPR1 ,Bit[5:4] determines address spcace on EIM_CS1&lt;/P&gt;&lt;P&gt;Let us set it 64MB: &lt;/P&gt;&lt;P&gt;bit[5:4] = 01&lt;/P&gt;&lt;P&gt;bit[3]= 1 // Make WEIM_CSI to be Active.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(3)Configuring IOMUX mode&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; We use 16 bit non-mux mode, So we should configure Register On EIM_CS1. See "Table 22-1. EIM multiplexing" : 16bit,MUM=0,DSZ=010&lt;/P&gt;&lt;P&gt;You should configure EIM_CS1GCR1 register according to the mode that you want. More details , See imx61qrm.pdf , &lt;STRONG&gt;page 1038.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(4)Read/Write Setting&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Read:&amp;nbsp; EIM_CSnRCR1/EIM_CSnRCR2&lt;/P&gt;&lt;P&gt;Write: EIM_CSnWCR1/EIM_CSnWCR2&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp; Try it on !&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Weidong&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Mar 2013 03:58:30 GMT</pubDate>
    <dc:creator>weidong_sun</dc:creator>
    <dc:date>2013-03-13T03:58:30Z</dc:date>
    <item>
      <title>i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292606#M35877</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm currently working on a Linux driver for communicating with a FPGA via the EIM port.&amp;nbsp; I think I have a handle on the EIM configuration, and the people working on the FPGA are fairly open to how we're doing the communication, so I think we have that covered.&amp;nbsp; What I don't understand very well, as it's different than anything else I've worked on, is the IOMUX configuration.&amp;nbsp; I've been digging through the chip reference manual, but it's not giving me a lot of insight into how I set this up. Does anyone have any test code or code snippets they would be willing to share?&amp;nbsp; Maybe an example they found somewhere that helped?&amp;nbsp; I've looked through the Linux BSP code, and didn't find anything, but might have missed it.&amp;nbsp; I would have thought there would be some chipset test code somewhere with the BSP, but it's possible that I missed it.&amp;nbsp; Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Mar 2013 18:52:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292606#M35877</guid>
      <dc:creator>jamese</dc:creator>
      <dc:date>2013-03-12T18:52:39Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292607#M35878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The SDK may be useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.freescale.com/webapp/Download?colCode=i.MX6_PLATFORM_SDK&amp;amp;location=null&amp;amp;fpsp=1&amp;amp;WT_TYPE=Lab%20and%20Test%20Software&amp;amp;WT_VENDOR=FREESCALE&amp;amp;WT_FILE_FORMAT=tgz&amp;amp;WT_ASSET=Downloads&amp;amp;sr=53&amp;amp;Parent_nodeId=1337637154535695831062&amp;amp;Parent_pageType=product" title="https://www.freescale.com/webapp/Download?colCode=i.MX6_PLATFORM_SDK&amp;amp;location=null&amp;amp;fpsp=1&amp;amp;WT_TYPE=Lab%20and%20Test%20Software&amp;amp;WT_VENDOR=FREESCALE&amp;amp;WT_FILE_FORMAT=tgz&amp;amp;WT_ASSET=Downloads&amp;amp;sr=53&amp;amp;Parent_nodeId=1337637154535695831062&amp;amp;Parent_pageType=product"&gt;https://www.freescale.com/webapp/Download?colCode=i.MX6_PLATFORM_SDK&amp;amp;location=null&amp;amp;fpsp=1&amp;amp;WT_TYPE=Lab%20and%20Test%20Sof…&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Please take a look at Chapter 7 (Configuring the EIM Driver) of "iMX6_Firmware_Guide.pdf"&lt;/P&gt;&lt;P&gt;in SDK docs.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2013 03:43:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292607#M35878</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-03-13T03:43:48Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292608#M35879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,James,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is my personal advice, for you as reference .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For the usage of WEIM on i.MX6, you don't need drivers for WEIM interface. But you must do some configurations for WEIM port like the following :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let me assume you use 16bit Address lines and 16bit Data lines ,CS1 is for FPGA ChipSelect .&lt;/P&gt;&lt;P&gt;Address lines : EIM_DA0~EIM_DA15&lt;/P&gt;&lt;P&gt;Data lines : EIM_D16~EIM_D31&lt;/P&gt;&lt;P&gt;CS1 : Chip Select&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(1)IOMUX configurations&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; All IOMUX settings for sabresd board are in board-mx6q_sabresd.c ,open it and add iomux for address lines ,data lines ,CS1 ,control lines to structure "static iomux_v3_cfg_t mx6q_sabresd_pads[] = {"&lt;/P&gt;&lt;P&gt;static iomux_v3_cfg_t mx6q_sabresd_pads[] = {&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;/*Address Lines*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA0__WEIM_WEIM_DA_A_0,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA1__WEIM_WEIM_DA_A_1,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA2__WEIM_WEIM_DA_A_2 ,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA3__WEIM_WEIM_DA_A_3,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA4__WEIM_WEIM_DA_A_4,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA5__WEIM_WEIM_DA_A_5,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA6__WEIM_WEIM_DA_A_6,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA7__WEIM_WEIM_DA_A_7,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA8__WEIM_WEIM_DA_A_8,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA9__WEIM_WEIM_DA_A_9,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA10__WEIM_WEIM_DA_A_10,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA11__WEIM_WEIM_DA_A_11,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA12__WEIM_WEIM_DA_A_12,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA13__WEIM_WEIM_DA_A_13,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA14__WEIM_WEIM_DA_A_14,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_DA15__WEIM_WEIM_DA_A_15,&lt;/P&gt;&lt;P&gt;/*Data Lines*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D16__WEIM_WEIM_D_16,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D17__WEIM_WEIM_D_17,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D18__WEIM_WEIM_D_18,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D19__WEIM_WEIM_D_19,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D20__WEIM_WEIM_D_20,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_21,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_22,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_23,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_24,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_25,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_26,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_27,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_28,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_29,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_30,&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_D21__WEIM_WEIM_D_31,&lt;/P&gt;&lt;P&gt;/*Control Lines*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_RW__WEIM_WEIM_RW,// write signal&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_OE__WEIM_WEIM_OE,// read signal&lt;/P&gt;&lt;P&gt;//perhaps following 2 signals are not used.&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_WAIT__WEIM_WEIM_WAIT,// shakehand signal used to sync mode.&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_BCLK__WEIM_WEIM_BCLK,// Burst clock used to burst and sync mode.&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_LBA__WEIM_WEIM_LBA,// used to burst mode&lt;/P&gt;&lt;P&gt;/*Chip select line*/&lt;/P&gt;&lt;P&gt;MX6Q_PAD_EIM_CS1__WEIM_WEIM_CS_1,&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(2)Distributing Memory Space For WEIM_CS1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; By Defaul,The total 128MB space are all for EIM_CS0,so We should reconfigure space.&lt;/P&gt;&lt;P&gt;In Register IOMUXC_GPR1 ,Bit[5:4] determines address spcace on EIM_CS1&lt;/P&gt;&lt;P&gt;Let us set it 64MB: &lt;/P&gt;&lt;P&gt;bit[5:4] = 01&lt;/P&gt;&lt;P&gt;bit[3]= 1 // Make WEIM_CSI to be Active.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(3)Configuring IOMUX mode&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; We use 16 bit non-mux mode, So we should configure Register On EIM_CS1. See "Table 22-1. EIM multiplexing" : 16bit,MUM=0,DSZ=010&lt;/P&gt;&lt;P&gt;You should configure EIM_CS1GCR1 register according to the mode that you want. More details , See imx61qrm.pdf , &lt;STRONG&gt;page 1038.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(4)Read/Write Setting&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Read:&amp;nbsp; EIM_CSnRCR1/EIM_CSnRCR2&lt;/P&gt;&lt;P&gt;Write: EIM_CSnWCR1/EIM_CSnWCR2&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&amp;nbsp;&amp;nbsp; Try it on !&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Weidong&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2013 03:58:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292608#M35879</guid>
      <dc:creator>weidong_sun</dc:creator>
      <dc:date>2013-03-13T03:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292609#M35880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The SDK does explain some things.&amp;nbsp; Thank you.&amp;nbsp; With all the assorted documents I've got, and other bits of software I've gotten off the IMX site, I've not come across this SDK before.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2013 00:00:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292609#M35880</guid>
      <dc:creator>jamese</dc:creator>
      <dc:date>2013-03-14T00:00:42Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292610#M35881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,James&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Now we have used EIM in linux,and we use it to connect CPLD,use iomap to remap phsical base address(0xf0000000) to virtual address, the space is 4MB.we access&amp;nbsp; the address(the virtual address plus offset address),and we can use&amp;nbsp; oscilloscope to find nagetive pluse on CS0、WE ane OE signal,but the address line(EIM_A18-EIM_A19) is not act as we want.and we don't know where we are wrong, now we haven't use iomux configuration.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Mar 2013 03:22:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292610#M35881</guid>
      <dc:creator>caoping</dc:creator>
      <dc:date>2013-03-21T03:22:03Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292611#M35882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,ereryone!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; now we&amp;nbsp; are using eim bus,and we use imx535,but we meet some problems in linux,whether we need to configure eim_cfg_t cfg_table or not,thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Mar 2013 08:22:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292611#M35882</guid>
      <dc:creator>caoping</dc:creator>
      <dc:date>2013-03-21T08:22:26Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292612#M35883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;can you help me? I do not know why the EIM do not wor on my board.Pin by the oscilloscope, no change. I config and write EIM like the following:&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;1.config MUX and PAD&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;static iomux_v3_cfg_t mx6q_sabresd_pads[] = {&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; .&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; .&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; .&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;/* eim */&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_OE__WEIM_WEIM_OE,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_RW__WEIM_WEIM_RW,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_WAIT__WEIM_WEIM_WAIT,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_LBA__WEIM_WEIM_LBA,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_BCLK__WEIM_WEIM_BCLK,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_CS0__WEIM_WEIM_CS_0,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Data Bus */&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D16__WEIM_WEIM_D_16,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D17__WEIM_WEIM_D_17,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D18__WEIM_WEIM_D_18,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D19__WEIM_WEIM_D_19,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D20__WEIM_WEIM_D_20,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D21__WEIM_WEIM_D_21,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D22__WEIM_WEIM_D_22,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D23__WEIM_WEIM_D_23,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D24__WEIM_WEIM_D_24,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D25__WEIM_WEIM_D_25,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D26__WEIM_WEIM_D_26,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D27__WEIM_WEIM_D_27,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D28__WEIM_WEIM_D_28,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D29__WEIM_WEIM_D_29,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D30__WEIM_WEIM_D_30,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_D31__WEIM_WEIM_D_31,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Address Bus */&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA15__WEIM_WEIM_DA_A_15,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA14__WEIM_WEIM_DA_A_14,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA13__WEIM_WEIM_DA_A_13,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA12__WEIM_WEIM_DA_A_12,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA11__WEIM_WEIM_DA_A_11,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA10__WEIM_WEIM_DA_A_10,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA9__WEIM_WEIM_DA_A_9,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA8__WEIM_WEIM_DA_A_8,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA7__WEIM_WEIM_DA_A_7,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA6__WEIM_WEIM_DA_A_6,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA5__WEIM_WEIM_DA_A_5,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA4__WEIM_WEIM_DA_A_4,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA3__WEIM_WEIM_DA_A_3,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA2__WEIM_WEIM_DA_A_2,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA1__WEIM_WEIM_DA_A_1,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6Q_PAD_EIM_DA0__WEIM_WEIM_DA_A_0,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;};&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;2.set EIM register&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;static void mx6q_setup_eim_cs(void)&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;{&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem *ram_reg = MX6_IO_ADDRESS(WEIM_BASE_ADDR);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem *ccm_reg = MX6_IO_ADDRESS(CCM_BASE_ADDR);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned int reg;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct clk *clk;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32 rate;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CLKCTL_CCGR6: Set emi_slow_clock to be on in all modes */&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = readl(ccm_reg + 0x80);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0x00000C00;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(reg, ccm_reg + 0x80);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clk = clk_get(NULL, "emi_slow_clk");&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (IS_ERR(clk))&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk(KERN_ERR "emi_slow_clk not found\n");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rate = clk_get_rate(clk);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rate != 132000000)&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk(KERN_ERR "Warning: emi_slow_clk not set to 132 MHz!"&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; " WEIM NOR timing may be incorrect!\n");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x403304b1, ram_reg);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x0, ram_reg + 0x4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x0f010000, ram_reg + 0x8);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x00000008, ram_reg + 0xc);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x0f040040, ram_reg + 0x10);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x00000000, ram_reg + 0x14);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x00000000, ram_reg + 0x90);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;}&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;3.iomap(addr:0x08000000, size:0x02000000)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;weim-&amp;gt;base = devm_ioremap(&amp;amp;pdev-&amp;gt;dev, res-&amp;gt;start ,len);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (weim-&amp;gt;base == NULL) {&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; dev_err(&amp;amp;pdev-&amp;gt;dev, "Failed to ioremap flash region\n");&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; ret = -EIO;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&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; goto weim_err;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&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 style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;4.read and write EIM&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;long EIM_ioctl(struct file* pFile, unsigned int cmd, unsigned long data)&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;{&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int val = 0;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct eimNode* node = (struct eimNode*)data;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int *addr = 0;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(weim == 0)&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FAIL;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch(cmd)&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case EIM_READ:&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val = __raw_readl(weim-&amp;gt;base + node-&amp;gt;offset);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node-&amp;gt;data = val;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case EIM_WIRTE:&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __raw_writel(node-&amp;gt;data, weim-&amp;gt;base + node-&amp;gt;offset);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return SUCCESS;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Oct 2013 09:49:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/292612#M35883</guid>
      <dc:creator>kartjon</dc:creator>
      <dc:date>2013-10-22T09:49:20Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 EIM driver for FPGA</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/1198540#M166393</link>
      <description>&lt;P&gt;Hi&lt;SPAN class="UserName lia-user-name lia-user-rank-Contributor-II lia-component-message-view-widget-author-username"&gt; &lt;A href="https://community.nxp.com/t5/user/viewprofilepage/user-id/48911" target="_self"&gt;&lt;SPAN class=""&gt;jamese&lt;/SPAN&gt;&lt;/A&gt; ,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="UserName lia-user-name lia-user-rank-Contributor-II lia-component-message-view-widget-author-username"&gt;I'm also working on communicating between ARM to FPGA via EIM bus . can you help me with FPGA side ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="UserName lia-user-name lia-user-rank-Contributor-II lia-component-message-view-widget-author-username"&gt;1. How you have connected ARM EIM bus to FPGA (ARM Interface in FPGA) ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="UserName lia-user-name lia-user-rank-Contributor-II lia-component-message-view-widget-author-username"&gt;2. can the BRAMs in FPGA be Directly Accessed form EIM ? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="UserName lia-user-name lia-user-rank-Contributor-II lia-component-message-view-widget-author-username"&gt;i am using i.MX6Q and Virtex FPGA.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="UserName lia-user-name lia-user-rank-Contributor-II lia-component-message-view-widget-author-username"&gt;Thanks in Advance.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Dec 2020 05:05:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-EIM-driver-for-FPGA/m-p/1198540#M166393</guid>
      <dc:creator>ambigersanju</dc:creator>
      <dc:date>2020-12-14T05:05:07Z</dc:date>
    </item>
  </channel>
</rss>

