<?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 Access PCIe register in CM7 IMX8MP in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1919589#M226707</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am testing pcie through imx8mp. I would like to read VendorID and DeviceID through CM7 according to imx8mp.dtsi the pcie node is as follows:&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;pcie: pcie@33800000 {&lt;BR /&gt;compatible = "fsl,imx8mp-pcie";&lt;BR /&gt;reg = &amp;lt;0x33800000 0x400000&amp;gt;, &amp;lt;0x1ff00000 0x80000&amp;gt;;&lt;BR /&gt;reg-names = "dbi", "config";&lt;BR /&gt;#address-cells = &amp;lt;3&amp;gt;;&lt;BR /&gt;#size-cells = &amp;lt;2&amp;gt;;&lt;BR /&gt;device_type = "pci";&lt;BR /&gt;bus-range = &amp;lt;0x00 0xff&amp;gt;;&lt;BR /&gt;ranges = &amp;lt;0x81000000 0 0x00000000 0x1ff80000 0 0x00010000&amp;gt;, /* downstream I/O 64KB */&lt;BR /&gt;&amp;lt;0x82000000 0 0x18000000 0x18000000 0 0x07f00000&amp;gt;; /* non-prefetchable memory */&lt;BR /&gt;num-lanes = &amp;lt;1&amp;gt;;&lt;BR /&gt;num-viewport = &amp;lt;4&amp;gt;;&lt;BR /&gt;interrupts = &amp;lt;GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;interrupt-names = "msi";&lt;BR /&gt;#interrupt-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;interrupt-map-mask = &amp;lt;0 0 0 0x7&amp;gt;;&lt;BR /&gt;interrupt-map = &amp;lt;0 0 0 1 &amp;amp;gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH&amp;gt;,&lt;BR /&gt;&amp;lt;0 0 0 2 &amp;amp;gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH&amp;gt;,&lt;BR /&gt;&amp;lt;0 0 0 3 &amp;amp;gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH&amp;gt;,&lt;BR /&gt;&amp;lt;0 0 0 4 &amp;amp;gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;fsl,max-link-speed = &amp;lt;3&amp;gt;;&lt;BR /&gt;linux,pci-domain = &amp;lt;0&amp;gt;;&lt;BR /&gt;power-domains = &amp;lt;&amp;amp;hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE&amp;gt;;&lt;BR /&gt;resets = &amp;lt;&amp;amp;src IMX8MP_RESET_PCIE_CTRL_APPS_EN&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF&amp;gt;;&lt;BR /&gt;reset-names = "apps", "turnoff";&lt;BR /&gt;phys = &amp;lt;&amp;amp;pcie_phy&amp;gt;;&lt;BR /&gt;phy-names = "pcie-phy";&lt;BR /&gt;status = "disabled";&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;and when I read pcie in linux environment I found that vendorId and deviceId of pcies are stored in stored in address 0x33800000 and 0x1ff00000:&lt;/P&gt;&lt;P&gt;root@imx8mp-lpddr4-evk:~# lspci -n&lt;BR /&gt;00:00.0 0604: 16c3:abcd (rev 01)&lt;BR /&gt;01:00.0 0200: 1b4b:2b42 (rev 11)&lt;BR /&gt;root@imx8mp-lpddr4-evk:~# devmem2 0x1ff00000&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0xffffbd0c4000.&lt;BR /&gt;Read at address 0x1FF00000 (0xffffbd0c4000): 0x2B421B4B&lt;BR /&gt;root@imx8mp-lpddr4-evk:~# devmem2 0x33800000&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0xffffbaa5d000.&lt;BR /&gt;Read at address 0x33800000 (0xffffbaa5d000): 0xABCD16C3&lt;/P&gt;&lt;P&gt;But when I read the address in CM7 only the value 0x33800000 is correct and the value of&amp;nbsp;&amp;nbsp;0x1ff00000 is 0x00;&lt;/P&gt;&lt;P&gt;Do you know what should I do to access pcie values in address 0x1ff00000?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 29 Jul 2024 16:40:50 GMT</pubDate>
    <dc:creator>Majidbahmani</dc:creator>
    <dc:date>2024-07-29T16:40:50Z</dc:date>
    <item>
      <title>Access PCIe register in CM7 IMX8MP</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1919589#M226707</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am testing pcie through imx8mp. I would like to read VendorID and DeviceID through CM7 according to imx8mp.dtsi the pcie node is as follows:&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;pcie: pcie@33800000 {&lt;BR /&gt;compatible = "fsl,imx8mp-pcie";&lt;BR /&gt;reg = &amp;lt;0x33800000 0x400000&amp;gt;, &amp;lt;0x1ff00000 0x80000&amp;gt;;&lt;BR /&gt;reg-names = "dbi", "config";&lt;BR /&gt;#address-cells = &amp;lt;3&amp;gt;;&lt;BR /&gt;#size-cells = &amp;lt;2&amp;gt;;&lt;BR /&gt;device_type = "pci";&lt;BR /&gt;bus-range = &amp;lt;0x00 0xff&amp;gt;;&lt;BR /&gt;ranges = &amp;lt;0x81000000 0 0x00000000 0x1ff80000 0 0x00010000&amp;gt;, /* downstream I/O 64KB */&lt;BR /&gt;&amp;lt;0x82000000 0 0x18000000 0x18000000 0 0x07f00000&amp;gt;; /* non-prefetchable memory */&lt;BR /&gt;num-lanes = &amp;lt;1&amp;gt;;&lt;BR /&gt;num-viewport = &amp;lt;4&amp;gt;;&lt;BR /&gt;interrupts = &amp;lt;GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;interrupt-names = "msi";&lt;BR /&gt;#interrupt-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;interrupt-map-mask = &amp;lt;0 0 0 0x7&amp;gt;;&lt;BR /&gt;interrupt-map = &amp;lt;0 0 0 1 &amp;amp;gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH&amp;gt;,&lt;BR /&gt;&amp;lt;0 0 0 2 &amp;amp;gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH&amp;gt;,&lt;BR /&gt;&amp;lt;0 0 0 3 &amp;amp;gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH&amp;gt;,&lt;BR /&gt;&amp;lt;0 0 0 4 &amp;amp;gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;fsl,max-link-speed = &amp;lt;3&amp;gt;;&lt;BR /&gt;linux,pci-domain = &amp;lt;0&amp;gt;;&lt;BR /&gt;power-domains = &amp;lt;&amp;amp;hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE&amp;gt;;&lt;BR /&gt;resets = &amp;lt;&amp;amp;src IMX8MP_RESET_PCIE_CTRL_APPS_EN&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF&amp;gt;;&lt;BR /&gt;reset-names = "apps", "turnoff";&lt;BR /&gt;phys = &amp;lt;&amp;amp;pcie_phy&amp;gt;;&lt;BR /&gt;phy-names = "pcie-phy";&lt;BR /&gt;status = "disabled";&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;and when I read pcie in linux environment I found that vendorId and deviceId of pcies are stored in stored in address 0x33800000 and 0x1ff00000:&lt;/P&gt;&lt;P&gt;root@imx8mp-lpddr4-evk:~# lspci -n&lt;BR /&gt;00:00.0 0604: 16c3:abcd (rev 01)&lt;BR /&gt;01:00.0 0200: 1b4b:2b42 (rev 11)&lt;BR /&gt;root@imx8mp-lpddr4-evk:~# devmem2 0x1ff00000&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0xffffbd0c4000.&lt;BR /&gt;Read at address 0x1FF00000 (0xffffbd0c4000): 0x2B421B4B&lt;BR /&gt;root@imx8mp-lpddr4-evk:~# devmem2 0x33800000&lt;BR /&gt;/dev/mem opened.&lt;BR /&gt;Memory mapped at address 0xffffbaa5d000.&lt;BR /&gt;Read at address 0x33800000 (0xffffbaa5d000): 0xABCD16C3&lt;/P&gt;&lt;P&gt;But when I read the address in CM7 only the value 0x33800000 is correct and the value of&amp;nbsp;&amp;nbsp;0x1ff00000 is 0x00;&lt;/P&gt;&lt;P&gt;Do you know what should I do to access pcie values in address 0x1ff00000?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jul 2024 16:40:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1919589#M226707</guid>
      <dc:creator>Majidbahmani</dc:creator>
      <dc:date>2024-07-29T16:40:50Z</dc:date>
    </item>
    <item>
      <title>Re: Access PCIe register in CM7 IMX8MP</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1919701#M226710</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/219803"&gt;@Majidbahmani&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hoe you are doing well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It appears the &lt;SPAN&gt;0x1ff00000 address is not accesible for Cortex M, you can see this on reference Manual.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;2.2 Cortex-A53 Memory Map:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_0-1722277701371.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/290822iE8DA8645CECE3B2F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_0-1722277701371.png" alt="Alejandro_Salas_0-1722277701371.png" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Alejandro_Salas_0-1722277701371.png&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_1-1722277724618.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/290823i5FA5DAA09D5AACA3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_1-1722277724618.png" alt="Alejandro_Salas_1-1722277724618.png" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Alejandro_Salas_1-1722277724618.png&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2.3 Cortex-M7 Memory Map:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_2-1722277783595.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/290824iE68E2A9D7C8A7AEA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_2-1722277783595.png" alt="Alejandro_Salas_2-1722277783595.png" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Alejandro_Salas_2-1722277783595.png&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As you can see in Cortex M is just defined the 0x33800000 register to access the PCIe Registers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;--... ...--&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jul 2024 18:31:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1919701#M226710</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2024-07-29T18:31:50Z</dc:date>
    </item>
    <item>
      <title>Re: Access PCIe register in CM7 IMX8MP</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1920261#M226745</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203368"&gt;@Manuel_Salas&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Great! You are right. I am testing with IMX8MP_EVK and the Wi-Fi module has connected to the processor through PCIe.&lt;/P&gt;&lt;P&gt;Does it mean that I can not access directly to this module (or any other device which might be connect to PCIe) in CM7?&lt;/P&gt;&lt;P&gt;Thank you for your helpful reply.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jul 2024 08:31:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1920261#M226745</guid>
      <dc:creator>Majidbahmani</dc:creator>
      <dc:date>2024-07-30T08:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: Access PCIe register in CM7 IMX8MP</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1920739#M226772</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/219803"&gt;@Majidbahmani&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As you can see the CM7 can access from 3380_0000 to 33BF_0000 that those are the PCI Registers, but maybe you can try to use RPMSG to send those IDs from Cortex A to Cortex M.&lt;/P&gt;
&lt;P&gt;You can see the&amp;nbsp;rpmsg_lite_str_echo_rtos example in our SDK for Cortex M.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this can helps to you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;--... ...--&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jul 2024 17:12:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Access-PCIe-register-in-CM7-IMX8MP/m-p/1920739#M226772</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2024-07-30T17:12:58Z</dc:date>
    </item>
  </channel>
</rss>

