<?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: How do I access the PCIe Endpoint registers via DBI? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428080#M65025</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So apparently the DBI is being accessed anytime you read/write memory 0x01FFC000 - 0x01FFFFFF.&amp;nbsp; Ok fine, but then why do all the register definitions for the PCIe EP/RC say "read-only, must write via the DBI"?&amp;nbsp; That's really quite confusing because you actually *do* write them by writing those memory addresses - which are marked read-only in the reference manual!&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The whole thing about asserting DBI_CS2 to write the mask registers is also very cryptic.&amp;nbsp; You assert DBI_CS2 by flipping the 12th address line, ie writing to the corresponding BAR address + 4k (1 &amp;lt;&amp;lt; 12).&amp;nbsp; So why not just define them as a separate register at that address???&amp;nbsp; Why specifically say the mask reg address is the same as the base address register?&amp;nbsp; Dead wrong, from the ARM core's perspective it's absolutely not!&amp;nbsp; And that's the problem, this whole section on PCIe is a cut and paste from the Synopsys PCIe IP core documentation which doesn't tell us much about how it's actually wired up to the ARM core and which options are enabled, etc.&amp;nbsp; Seriously this is the best we can do!?!? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 01 Jul 2015 23:21:38 GMT</pubDate>
    <dc:creator>elijahbrown</dc:creator>
    <dc:date>2015-07-01T23:21:38Z</dc:date>
    <item>
      <title>How do I access the PCIe Endpoint registers via DBI?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428078#M65023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;I'm working with an IMX6Q.&amp;nbsp; How do I configure PCIe registers over the DBI?&amp;nbsp; It’s referred to all over in the IMX6 reference manual but the links to “DBI Access” don’t go anywhere and I can’t seem to find any description of how it works.&amp;nbsp; It seems like it's been completely left out of the reference manual.&amp;nbsp; In endpoint mode we need to configure the device/vendor ID, BARs, BAR&amp;nbsp; MASKs, etc but they are not writeable via direct memory access – for example on the Device/Vendor ID register it says “The application can override the default values through the DBI” .&amp;nbsp; So… how do we use the DBI? Am I missing a manual or something?&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jun 2015 21:50:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428078#M65023</guid>
      <dc:creator>elijahbrown</dc:creator>
      <dc:date>2015-06-24T21:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: How do I access the PCIe Endpoint registers via DBI?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428079#M65024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The reference manual documentation is really pretty bad.&amp;nbsp; For example in the PCIE_EP_MASK0 register description, it says that to write the BAR masks you have to assert dbi_cs2 i.e. bit address 12.&amp;nbsp; This is just cut and pasted from the IP core manual, but from the application's perspective how do you set dbi_cs2?&amp;nbsp; What is bit address 12??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 00:33:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428079#M65024</guid>
      <dc:creator>elijahbrown</dc:creator>
      <dc:date>2015-06-26T00:33:20Z</dc:date>
    </item>
    <item>
      <title>Re: How do I access the PCIe Endpoint registers via DBI?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428080#M65025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So apparently the DBI is being accessed anytime you read/write memory 0x01FFC000 - 0x01FFFFFF.&amp;nbsp; Ok fine, but then why do all the register definitions for the PCIe EP/RC say "read-only, must write via the DBI"?&amp;nbsp; That's really quite confusing because you actually *do* write them by writing those memory addresses - which are marked read-only in the reference manual!&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The whole thing about asserting DBI_CS2 to write the mask registers is also very cryptic.&amp;nbsp; You assert DBI_CS2 by flipping the 12th address line, ie writing to the corresponding BAR address + 4k (1 &amp;lt;&amp;lt; 12).&amp;nbsp; So why not just define them as a separate register at that address???&amp;nbsp; Why specifically say the mask reg address is the same as the base address register?&amp;nbsp; Dead wrong, from the ARM core's perspective it's absolutely not!&amp;nbsp; And that's the problem, this whole section on PCIe is a cut and paste from the Synopsys PCIe IP core documentation which doesn't tell us much about how it's actually wired up to the ARM core and which options are enabled, etc.&amp;nbsp; Seriously this is the best we can do!?!? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jul 2015 23:21:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428080#M65025</guid>
      <dc:creator>elijahbrown</dc:creator>
      <dc:date>2015-07-01T23:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: How do I access the PCIe Endpoint registers via DBI?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428081#M65026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt; One may refer to the following sections (i.MX6DQ RM) regarding &lt;BR /&gt; registers description :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;48.7 (PCIe CTRL EP Mode Memory Map/Register Definition)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;48.8 (PCIe CTRL RC Mode Memory Map/Register Definition)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;&amp;nbsp; You are right, the PCIe chapters of the i.MX6 Reference &lt;BR /&gt; Manual are based on IP specs and information, provided there, &lt;BR /&gt; are restricted by (third party) agreement. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jul 2015 03:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-do-I-access-the-PCIe-Endpoint-registers-via-DBI/m-p/428081#M65026</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2015-07-09T03:15:56Z</dc:date>
    </item>
  </channel>
</rss>

