<?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 as PCIe endpoint : help requested in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252229#M23332</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks to the patches available here : &lt;A href="https://community.nxp.com/docs/DOC-95014"&gt;i.MX6Q PCIe EP/RC Validation System&lt;/A&gt; , i can link 2 boards thru PCIe and write the RC memory.&lt;/P&gt;&lt;P&gt;But now, i need to convert the EP board into a real endpoint, with at least 1 MEM area and 1 IO area. This is done on the EP side with the proper BAR configuration, and the RC recognized it (seen with lspci -v and a custom kernel module). But up to now, i am unable to adress properly the IO BAR from the RC. I guess it is related to the iATU configuration for adresss translation, but my trials are failing up to now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shall i configure an inbound translation ? An outbound ? Both ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there someone with a small piece of code showing the whole configuration used to declare/setup an IO space on a IMX6 and to access it from another IMX6 ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, SF&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Dec 2013 21:42:21 GMT</pubDate>
    <dc:creator>sylvainfabre</dc:creator>
    <dc:date>2013-12-09T21:42:21Z</dc:date>
    <item>
      <title>IMX6 as PCIe endpoint : help requested</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252229#M23332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks to the patches available here : &lt;A href="https://community.nxp.com/docs/DOC-95014"&gt;i.MX6Q PCIe EP/RC Validation System&lt;/A&gt; , i can link 2 boards thru PCIe and write the RC memory.&lt;/P&gt;&lt;P&gt;But now, i need to convert the EP board into a real endpoint, with at least 1 MEM area and 1 IO area. This is done on the EP side with the proper BAR configuration, and the RC recognized it (seen with lspci -v and a custom kernel module). But up to now, i am unable to adress properly the IO BAR from the RC. I guess it is related to the iATU configuration for adresss translation, but my trials are failing up to now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shall i configure an inbound translation ? An outbound ? Both ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there someone with a small piece of code showing the whole configuration used to declare/setup an IO space on a IMX6 and to access it from another IMX6 ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, SF&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Dec 2013 21:42:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252229#M23332</guid>
      <dc:creator>sylvainfabre</dc:creator>
      <dc:date>2013-12-09T21:42:21Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 as PCIe endpoint : help requested</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252230#M23333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We are working in your issue we will contact you as soon as we have some more information from our experts team&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Dec 2013 14:40:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252230#M23333</guid>
      <dc:creator>jamesbone</dc:creator>
      <dc:date>2013-12-13T14:40:53Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 as PCIe endpoint : help requested</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252231#M23334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks. Any news on that ? I am also interested on working example for sending an interrupt from a IMX6 EP to a IMX6 RC.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2013 10:10:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252231#M23334</guid>
      <dc:creator>sylvainfabre</dc:creator>
      <dc:date>2013-12-17T10:10:14Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 as PCIe endpoint : help requested</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252232#M23335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the response from our experts team:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually, IMX6 as one endpoint function has been integrated into new release(You can get it in JB4.3 or later).You just need to enable the board config option "CONFIG_IMX_PCIE_EP_MODE_IN_EP_RC_SYS=y". When you connect to anther IMX6 RC board by pcie interface, you can see the following kernel message:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:00:00.0: [16c3:abcd] type 1 class 0x000000&lt;/P&gt;&lt;P&gt;&amp;lt;3&amp;gt;pci 0000:00:00.0: ignoring class 00 (doesn't match header type 01)&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:00:00.0: supports D1&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:00:00.0: PME# disabled&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: [16c3:abcd] type 0 class 0x000000&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff 64bit pref]&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: reg 18: [mem 0x00000000-0x000fffff pref]&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: reg 1c: [io&amp;nbsp; 0x0000-0x00ff]&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: reg 30: [mem 0x00000000-0x0000ffff pref]&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: supports D1&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold&lt;/P&gt;&lt;P&gt;&amp;lt;7&amp;gt;pci 0000:01:00.0: PME# disabled&lt;/P&gt;&lt;P&gt;&amp;lt;6&amp;gt;pci 0000:00:00.0: not setting up bridge for bus 0000:01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can take it as one reference.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2013 17:56:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252232#M23335</guid>
      <dc:creator>jamesbone</dc:creator>
      <dc:date>2013-12-17T17:56:35Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 as PCIe endpoint : help requested</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252233#M23336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answer, but i just look in to the JB4.3 kernel branch, and the code inside the pcie.c is exactly the one used in the page indicated on my first post.&lt;/P&gt;&lt;P&gt;This code is not a full&amp;nbsp; EndPoint code : this is a test to allow the EP to write to the RC DDR. IO/Mem BAR access in RW and IT generation are missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, if we just take the settings you described above, let's try to write in the memory declared in the BAR0 :&lt;/P&gt;&lt;P&gt;- RC side : IO remap of the 0x0110_0000 -&amp;gt; This where the BAR 0 is mapped on the PCIE IO space on RC side&lt;/P&gt;&lt;P&gt;- EP side :&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Allocate memory with kzalloc (for example) for BAR0&lt;/LI&gt;&lt;LI&gt;Setup the iATU registers (inbound 0) to allow input addresses in 0x0110_0000 to be translated to the allocated memory&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;- Then memory access on RC side to 0x0110_0000 -&amp;gt; bus error.&lt;/P&gt;&lt;P&gt;I tested various registers settings for the iATU programming, but none of them are woriking.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I you have a working example of this, it would help greatly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Dec 2013 06:38:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-as-PCIe-endpoint-help-requested/m-p/252233#M23336</guid>
      <dc:creator>sylvainfabre</dc:creator>
      <dc:date>2013-12-18T06:38:47Z</dc:date>
    </item>
  </channel>
</rss>

