<?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: imx8mm msi-controller in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx8mm-msi-controller/m-p/1822193#M220840</link>
    <description>&lt;P&gt;maybe you can refer to this link&lt;/P&gt;
&lt;P&gt;&lt;A href="https://patchwork.kernel.org/project/linux-pci/cover/20181113225734.8026-1-marc.zyngier@arm.com/" target="_blank"&gt;https://patchwork.kernel.org/project/linux-pci/cover/20181113225734.8026-1-marc.zyngier@arm.com/&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 06 Mar 2024 07:41:24 GMT</pubDate>
    <dc:creator>joanxie</dc:creator>
    <dc:date>2024-03-06T07:41:24Z</dc:date>
    <item>
      <title>imx8mm msi-controller</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8mm-msi-controller/m-p/1821264#M220775</link>
      <description>&lt;P&gt;I am writing a driver for PCI card that consists of multiple devices, including few I2C buses. I2C buses require device-tree node to reuse existing Linux drivers.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I am having the main driver for &lt;EM&gt;&lt;A href="mailto:dev@0,0" target="_blank" rel="noopener"&gt;dev@0,0&lt;/A&gt; &lt;/EM&gt;initializing PCI and &lt;A href="mailto:bar@0" target="_blank" rel="noopener"&gt;bar@0&lt;/A&gt;&amp;nbsp;as a platform driver. &lt;A href="mailto:dev@0,0" target="_blank" rel="noopener"&gt;dev@0,0&lt;/A&gt;&amp;nbsp;is enabling PCI MSI-X interrupts. Some of the interrupts are supposed to be used by &lt;A href="mailto:bar@0" target="_blank" rel="noopener"&gt;bar@0&lt;/A&gt;.&amp;nbsp; I cannot see any msi-controller in the imx8mm device tree. Do you have a suggestion on how to specify which MSI interrupts to be used by the child nodes? Is there any other way to make shared MSI interrupts handling (using device-tree) with the imx8mm hardware?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; soc@0 {
         pcie@33800000 {
             pci@0,0 {
                 #address-cells = &amp;lt;0x03&amp;gt;;
                 bus-range = &amp;lt;0x01 0xff&amp;gt;;
                 interrupts = &amp;lt;0x01&amp;gt;;
                 interrupt-map = &amp;lt;0x10000 0x00 0x00 0x01 &amp;amp;gic GIC_SPI 0x7d IRQ_TYPE_LEVEL_HIGH 
                                  0x10000 0x00 0x00 0x02 &amp;amp;gic GIC_SPI 0x7c IRQ_TYPE_LEVEL_HIGH 
                                  0x10000 0x00 0x00 0x03 &amp;amp;gic GIC_SPI 0x7b IRQ_TYPE_LEVEL_HIGH 
                                  0x10000 0x00 0x00 0x04 &amp;amp;gic GIC_SPI 0x7a IRQ_TYPE_LEVEL_HIGH&amp;gt;;
                 #size-cells = &amp;lt;0x02&amp;gt;;
                 device_type = "pci";
                 interrupt-map-mask = &amp;lt;0xffff00 0x00 0x00 0x07&amp;gt;;
                 compatible = "pci16c3,abc", "pciclass,060400", "pciclass,0604";
                 ranges = &amp;lt;0x82000000 0x00 0x18000000 0x82000000 0x00 0x18000000 0x00 0x6000000&amp;gt;;
                 #interrupt-cells = &amp;lt;0x01&amp;gt;;
                 reg = &amp;lt;0x00 0x00 0x00 0x00 0x00&amp;gt;;

                 dev@0,0 {
                     #address-cells = &amp;lt;0x01&amp;gt;;
                     #size-cells = &amp;lt;0x01&amp;gt;;
                     interrupts = &amp;lt;0x01&amp;gt;;
                     compatible = "pci10ee,9024", "pciclass,058000", "pciclass,0580";
                     ranges = &amp;lt; 0x02 0x83010000 0x00 0x18000000  0x4000000
                                0x00 0x83010000 0x00 0x1c000000  0x40000&amp;gt;;
                     reg = &amp;lt;0x10000 0x00 0x00 0x00 0x00&amp;gt;;

                     bar@0 {
                        compatible = "simple-bus";
                        /* Map BAR 0 to address 0*/
                        ranges = &amp;lt;0x0 0x0 0x40000&amp;gt;;
                        interrupts = &amp;lt;0x01&amp;gt;;
                        #address-cells = &amp;lt;0x01&amp;gt;;
                        #size-cells = &amp;lt;0x01&amp;gt;;
                        qdma: qdma@0 {
                            compatible = "xilinx,qdma";
                            #dma-cells = &amp;lt;1&amp;gt;;
                            dma-channels = &amp;lt;32&amp;gt;;
                            interrupts = &amp;lt;0x01&amp;gt;;
                            status = "okay";
                            reg = &amp;lt;0x00 0x40000&amp;gt;;
                        };&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;imx8mm.dtsi nodes for gic and pcie:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;        gic: interrupt-controller@38800000 {
            compatible = "arm,gic-v3";
            reg = &amp;lt;0x38800000 0x10000&amp;gt;, /* GIC Dist */
                  &amp;lt;0x38880000 0xc0000&amp;gt;; /* GICR (RD_base + SGI_base) */
            #interrupt-cells = &amp;lt;3&amp;gt;;
            interrupt-controller;
            interrupts = &amp;lt;GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH&amp;gt;;
        };
        pcie0: pcie@33800000 {
            compatible = "fsl,imx8mm-pcie", "snps,dw-pcie";
            reg = &amp;lt;0x33800000 0x400000&amp;gt;,
                &amp;lt;0x1ff00000 0x80000&amp;gt;;
            reg-names = "dbi", "config";
            #address-cells = &amp;lt;3&amp;gt;;
            #size-cells = &amp;lt;2&amp;gt;;
            device_type = "pci";
            bus-range = &amp;lt;0x00 0xff&amp;gt;;
            ranges =  &amp;lt;0x81000000 0 0x00000000 0x1ff80000 0 0x00010000 /* downstream I/O 64KB */
                   0x82000000 0 0x18000000 0x18000000 0 0x07f00000&amp;gt;; /* non-prefetchable memory */
            num-lanes = &amp;lt;1&amp;gt;;
            num-viewport = &amp;lt;4&amp;gt;;
            interrupts = &amp;lt;GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH&amp;gt;;
            interrupt-names = "msi";
            #interrupt-cells = &amp;lt;1&amp;gt;;
            interrupt-map-mask = &amp;lt;0 0 0 0x7&amp;gt;;
            interrupt-map = &amp;lt;0 0 0 1 &amp;amp;gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH&amp;gt;,
                    &amp;lt;0 0 0 2 &amp;amp;gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH&amp;gt;,
                    &amp;lt;0 0 0 3 &amp;amp;gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH&amp;gt;,
                    &amp;lt;0 0 0 4 &amp;amp;gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH&amp;gt;;
            linux,pci-domain = &amp;lt;0&amp;gt;;
            fsl,max-link-speed = &amp;lt;2&amp;gt;;
            power-domains = &amp;lt;&amp;amp;pcie_pd&amp;gt;;
            resets = &amp;lt;&amp;amp;src IMX8MQ_RESET_PCIEPHY&amp;gt;,
                 &amp;lt;&amp;amp;src IMX8MQ_RESET_PCIE_CTRL_APPS_EN&amp;gt;,
                 &amp;lt;&amp;amp;src IMX8MQ_RESET_PCIE_CTRL_APPS_CLK_REQ&amp;gt;,
                 &amp;lt;&amp;amp;src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF&amp;gt;;
            reset-names = "pciephy", "apps", "clkreq", "turnoff";
            fsl,imx7d-pcie-phy = &amp;lt;&amp;amp;pcie_phy&amp;gt;;
        };&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2024 07:59:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8mm-msi-controller/m-p/1821264#M220775</guid>
      <dc:creator>jyu1</dc:creator>
      <dc:date>2024-03-05T07:59:28Z</dc:date>
    </item>
    <item>
      <title>Re: imx8mm msi-controller</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx8mm-msi-controller/m-p/1822193#M220840</link>
      <description>&lt;P&gt;maybe you can refer to this link&lt;/P&gt;
&lt;P&gt;&lt;A href="https://patchwork.kernel.org/project/linux-pci/cover/20181113225734.8026-1-marc.zyngier@arm.com/" target="_blank"&gt;https://patchwork.kernel.org/project/linux-pci/cover/20181113225734.8026-1-marc.zyngier@arm.com/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Mar 2024 07:41:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx8mm-msi-controller/m-p/1822193#M220840</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2024-03-06T07:41:24Z</dc:date>
    </item>
  </channel>
</rss>

