<?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 is iMX6 PCIE endpoint MSI generation setup? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/382643#M55202</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally we solved it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Set and iATU if needed for outbound region to match the MSI target address assigned by the RC, can be found in 0x1FFC054&lt;/P&gt;&lt;P&gt;2. Do an write the local MSI address used in 1. to generate a write to the RC target address , very important to include the "RC data" in 0x1FFC05C in the MemWr. We missed this last part and did a simple write =1 as in all the Linux examples.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 Jan 2015 14:43:31 GMT</pubDate>
    <dc:creator>andreaskarlsson</dc:creator>
    <dc:date>2015-01-16T14:43:31Z</dc:date>
    <item>
      <title>How is iMX6 PCIE endpoint MSI generation setup?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/382642#M55201</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We have an iMX6S running a RTOS, the iMX6 is configured as a PCIE endpoint. Now we want to enable MSI but so far without success. There are some posts on the community but all references are using Linux and I have to agree to one post that the RM seems incomplete &lt;A href="https://community.nxp.com/thread/321747"&gt;How to generate MSI interrupt on i.MX6 in PCIe EP/endpoint mode&lt;/A&gt;. From the Linux posts you can see how they conifgure PCIE_PL_MSIxx registers, I've done that in a similar fashion but no luck so far in getting MSI interrupts through to the RC. From the RM I've read following chapters, but I still can't figure out what's missing, and to be frank it is described very vague in the RM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;49.3.7.1.2 MSI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;49.3.7.4 MSI Generation in the AXI Bridge&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone describe how it is supposed to be done when not running Linux?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Dec 2014 08:58:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/382642#M55201</guid>
      <dc:creator>andreaskarlsson</dc:creator>
      <dc:date>2014-12-01T08:58:22Z</dc:date>
    </item>
    <item>
      <title>Re: How is iMX6 PCIE endpoint MSI generation setup?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/382643#M55202</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally we solved it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Set and iATU if needed for outbound region to match the MSI target address assigned by the RC, can be found in 0x1FFC054&lt;/P&gt;&lt;P&gt;2. Do an write the local MSI address used in 1. to generate a write to the RC target address , very important to include the "RC data" in 0x1FFC05C in the MemWr. We missed this last part and did a simple write =1 as in all the Linux examples.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jan 2015 14:43:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/382643#M55202</guid>
      <dc:creator>andreaskarlsson</dc:creator>
      <dc:date>2015-01-16T14:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: How is iMX6 PCIE endpoint MSI generation setup?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/2101744#M237464</link>
      <description>&lt;P&gt;I'm trying to use &lt;STRONG&gt;MSI (Message Signaled Interrupts)&lt;/STRONG&gt; on an FPGA configured as a &lt;STRONG&gt;PCIe Endpoint (EP)&lt;/STRONG&gt;. However, I'm running into an issue where my interrupt service routine is not being triggered.&lt;/P&gt;&lt;H3&gt;Setup Details:&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;I'm check (enable) the PCIe( msi_enable ).&lt;/LI&gt;&lt;LI&gt;I'm calling the function responsible for enabling MSI on the EP side as below:&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PCIX_EnableMSI(pci_sys,bus,dev,fn,PCIE_MSI_Lisr,&amp;amp;MSI_Vector);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;I’ve initialized the MSI .&lt;/LI&gt;&lt;LI&gt;During the initialization phase, the FPGA triggers the MSI by writing to a specific register (which should raise the interrupt).&lt;/LI&gt;&lt;LI&gt;On the Root Complex (RC) side, I expect the PCIE_MSI_Lisr function to handle the interrupt.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Problem:&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;The PCIE_MSI_Lisr function is never called.&lt;/LI&gt;&lt;LI&gt;No ACK is received, so it seems like the MSI isn't going through or being handled correctly.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Questions:&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;Is there something specific I need to configure in the i.MX6 RC side to enable MSI from the EP?&lt;/LI&gt;&lt;LI&gt;Are there any known issues with MSI handling on this platform?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Thanks in advance for your help!&lt;/P&gt;</description>
      <pubDate>Wed, 21 May 2025 15:04:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-is-iMX6-PCIE-endpoint-MSI-generation-setup/m-p/2101744#M237464</guid>
      <dc:creator>Erans160</dc:creator>
      <dc:date>2025-05-21T15:04:04Z</dc:date>
    </item>
  </channel>
</rss>

