<?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: Driver access PCIE Device via IO port failed with IMX6 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473897#M75041</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following t sysfs - resource&lt;/P&gt;&lt;P&gt;0/2/3/4/5: IO resource&lt;/P&gt;&lt;P&gt;1: MEM Resource&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14627772827374884 jive_text_macro" data-renderedposition="164_8_884_256" jivemacro_uid="_14627772827374884"&gt;&lt;P&gt;root@imx6qsabresd:/sys/bus/pci/devices/0000:01:00.0# ls&lt;/P&gt;&lt;P&gt;broken_parity_status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; macro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource&amp;nbsp;&amp;nbsp; subsystem&lt;/P&gt;&lt;P&gt;class&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; io&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; modalias&amp;nbsp; resource0&amp;nbsp; subsystem_device&lt;/P&gt;&lt;P&gt;config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioport_map&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msi_bus&amp;nbsp;&amp;nbsp; resource1&amp;nbsp; subsystem_vendor&lt;/P&gt;&lt;P&gt;consistent_dma_mask_bits&amp;nbsp; ioremap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; power&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource2&amp;nbsp; uevent&lt;/P&gt;&lt;P&gt;device&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; irq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remove&amp;nbsp;&amp;nbsp;&amp;nbsp; resource3&amp;nbsp; vendor&lt;/P&gt;&lt;P&gt;dma_mask_bits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local_cpulist&amp;nbsp; rescan&amp;nbsp;&amp;nbsp;&amp;nbsp; resource4&lt;/P&gt;&lt;P&gt;driver&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local_cpus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reset&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource5&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:/sys/bus/pci/devices/0000:01:00.0# cat resource&lt;/P&gt;&lt;P&gt;0x0000000000001080 0x000000000000108f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000001100000 0x000000000110000f 0x0000000000040200&lt;/P&gt;&lt;P&gt;0x0000000000001000 0x000000000000101f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001020 0x000000000000103f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001040 0x000000000000105f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001060 0x000000000000107f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000000000 0x0000000000000000 0x0000000000000000&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had tried with your code with some modification to read resource 0~5. It's only able to access resource 1 (MEM)&lt;/P&gt;&lt;P&gt;others are failed. (mmap return -1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my code:&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_14627774586217734 jive_macro_code jive_text_macro" data-renderedposition="550_8_884_368" jivemacro_uid="_14627774586217734"&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/stat.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/mman.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main(int argc, char* argv[]) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char *ptr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd = open("/sys/bus/pci/devices/0000:01:00.0/resource1", O_RDWR | O_SYNC);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("fd:%d\n", fd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fd &amp;lt; 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr = mmap(0, 8, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("ptr:%d\n", ptr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; 8; ++i)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("0x%4x\n",&amp;nbsp; *(ptr + i));&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could I access PCIE IO Resource with iMX6?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 May 2016 07:05:02 GMT</pubDate>
    <dc:creator>peterhong</dc:creator>
    <dc:date>2016-05-09T07:05:02Z</dc:date>
    <item>
      <title>Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473886#M75030</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm working for driver porting PCIE device driver from x86 to ARM on Yocto kernel 3.14.52.&lt;/P&gt;&lt;P&gt;Our PCIE device will request BAR with MMIO and Port IO address. Our driver will use inb()/outb()&lt;/P&gt;&lt;P&gt;to access the PCIE device on X86. But we cant use the same method inb()/outb() with on IMX6.&lt;/P&gt;&lt;P&gt;when I use inb()/outb() will read all 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had tried with pci_iomap() &amp;amp; ioread8() to do read. It's the same all 0. How should I do to read&lt;/P&gt;&lt;P&gt;the PCIE IO port data ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The resource map is following:&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:/sys/bus/pci/devices/0000:01:00.0# cat resource&lt;/P&gt;&lt;P&gt;0x0000000000001080 0x000000000000108f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000001100000 0x000000000110000f 0x0000000000040200&lt;/P&gt;&lt;P&gt;0x0000000000001000 0x000000000000101f 0x0000000000040101 &amp;lt;---&lt;/P&gt;&lt;P&gt;0x0000000000001020 0x000000000000103f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001040 0x000000000000105f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001060 0x000000000000107f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000000000 0x0000000000000000 0x0000000000000000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Mar 2016 09:18:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473886#M75030</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-03-14T09:18:01Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473887#M75031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please refer to the Chapter 41 of the attached document for the details on the L3.14.52 BSP PCIe driver. Most likely, the PCIe Root Complex configuration is not built into the kernel by default. Refer to the document attached for the information on how to build-in/enable it.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Artur&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Mar 2016 09:40:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473887#M75031</guid>
      <dc:creator>art</dc:creator>
      <dc:date>2016-03-14T09:40:11Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473888#M75032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Artur&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had already configure my kernel with IMX PCIE support, and I had see my device &amp;amp; PCIE bus.&lt;/P&gt;&lt;P&gt;My problem is how to read PCI IO, I had tried with inb()/outb() and pci_iomap() &amp;amp; ioread8().&lt;/P&gt;&lt;P&gt;It's all return 0, not really data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Mar 2016 10:00:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473888#M75032</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-03-14T10:00:29Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473889#M75033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you appropriately configured the I/O space?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Mar 2016 10:16:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473889#M75033</guid>
      <dc:creator>art</dc:creator>
      <dc:date>2016-03-14T10:16:21Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473890#M75034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm used lspci to show bridge &amp;amp; device, it's seems visible on my system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:~/ddd/freescale/data# lspci&lt;/P&gt;&lt;P&gt;00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)&lt;/P&gt;&lt;P&gt;01:00.0 Serial controller: Device 1c29:1104 (rev 01)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I boot complete, the PCIE device had allocated resource by host, 1 MEM space and 5 IO space&lt;/P&gt;&lt;P&gt;How should I do to configure the I/O space ??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:/sys/bus/pci/devices/0000:01:00.0# cat resource&lt;/P&gt;&lt;P&gt;0x0000000000001080 0x000000000000108f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000001100000 0x000000000110000f 0x0000000000040200&lt;/P&gt;&lt;P&gt;0x0000000000001000 0x000000000000101f 0x0000000000040101 &amp;lt;---&lt;/P&gt;&lt;P&gt;0x0000000000001020 0x000000000000103f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001040 0x000000000000105f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001060 0x000000000000107f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000000000 0x0000000000000000 0x0000000000000000&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Mar 2016 08:04:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473890#M75034</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-03-15T08:04:27Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473891#M75035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="mem_layout.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/23485i83902C3D6772F958/image-size/large?v=v2&amp;amp;px=999" role="button" title="mem_layout.png" alt="mem_layout.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My PCIE device had allocated PCI IO Space with BAR0/2/3/4/5. According from the Freescale document, &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;the PCIE io space is start from 0x01f0_0000 to 0x01f8_0000. I had used devmem2 to read memory &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;0x01f0_0000 + 0x1020 or 0x01f8_0000 + 0x1020. The devmem2 will always report "BUS error". &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;How should I do to read the PCIE IO Space ?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Kernel message about PCIE:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;dw_pcie_host_init: io_base: 1f80000&lt;/P&gt;&lt;P&gt;dw_pcie_host_init: io_mod_base: 1f80000&lt;/P&gt;&lt;P&gt;dw_pcie_host_init: config.mem_bus_addr: 1000000&lt;/P&gt;&lt;P&gt;dw_pcie_host_init: config.mem_mod_base: 1000000&lt;/P&gt;&lt;P&gt;imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00&lt;/P&gt;&lt;P&gt;pci_bus 0000:00: root bus resource [io&amp;nbsp; 0x1000-0x10000]&lt;/P&gt;&lt;P&gt;pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]&lt;/P&gt;&lt;P&gt;pci_bus 0000:00: root bus resource [bus 00-ff]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: supports D1&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold&lt;/P&gt;&lt;P&gt;PCI: bus0: Fast back to back transfers disabled&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: [1c29:1104] type 00 class 0x070005&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: reg 0x10: [io&amp;nbsp; 0x0000-0x000f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: reg 0x14: [mem 0x00000000-0x0000000f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: reg 0x18: [io&amp;nbsp; 0x0000-0x001f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: reg 0x1c: [io&amp;nbsp; 0x0000-0x001f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: reg 0x20: [io&amp;nbsp; 0x0000-0x001f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: reg 0x24: [io&amp;nbsp; 0x0000-0x001f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: PME# supported from D0 D3hot D3cold&lt;/P&gt;&lt;P&gt;PCI: bus1: Fast back to back transfers disabled&lt;/P&gt;&lt;P&gt;pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x011fffff]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: BAR 7: assigned [io&amp;nbsp; 0x1000-0x1fff]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: BAR 2: assigned [io&amp;nbsp; 0x1000-0x101f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: BAR 3: assigned [io&amp;nbsp; 0x1020-0x103f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: BAR 4: assigned [io&amp;nbsp; 0x1040-0x105f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: BAR 5: assigned [io&amp;nbsp; 0x1060-0x107f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: BAR 0: assigned [io&amp;nbsp; 0x1080-0x108f]&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: BAR 1: assigned [mem 0x01100000-0x0110000f]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0: PCI bridge to [bus 01]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0:&amp;nbsp; bridge window [io&amp;nbsp; 0x1000-0x1fff]&lt;/P&gt;&lt;P&gt;pci 0000:00:00.0:&amp;nbsp; bridge window [mem 0x01100000-0x011fffff]&lt;/P&gt;&lt;P&gt;pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt&lt;/P&gt;&lt;P&gt;pci 0000:01:00.0: Signaling PME through PCIe PME interrupt&lt;/P&gt;&lt;P&gt;pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded&lt;/P&gt;&lt;P&gt;aer 0000:00:00.0:pcie02: service driver aer loaded&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;devmem2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:~/ddd/freescale/data# ./devmem2 0x01f01020 b&lt;/P&gt;&lt;P&gt;/dev/mem opened.Unhandled fault: external abort on non-linefetch (0x1018) at 0x76f32020&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Memory mapped at address 0x76f32000.&lt;/P&gt;&lt;P&gt;Bus error&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:~/ddd/freescale/data# ./devmem2 0x01f81020 b&lt;/P&gt;&lt;P&gt;/dev/mem opened.Unhandled fault: external abort on non-linefetch (0x1018) at 0x76f24020&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Memory mapped at address 0x76f24000.&lt;/P&gt;&lt;P&gt;Bus error&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:~/ddd/freescale/data#&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2016 06:49:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473891#M75035</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-03-18T06:49:18Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473892#M75036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;On (most, if not all) non-x86 platforms, PCIe "IO" regions are mapped into the same address space as "Memory" regions.&amp;nbsp; Just use the same mapping API calls and access the "IO" regions as if they were "Memory" regions.&amp;nbsp; No special ioread, inp, etc are required.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2016 14:15:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473892#M75036</guid>
      <dc:creator>GregDyess</dc:creator>
      <dc:date>2016-03-18T14:15:19Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473893#M75037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply. I had tried 3 methods below to read pcie io space.&lt;/P&gt;&lt;P&gt;1. use inb()&lt;/P&gt;&lt;P&gt;2. use ioremap_nocache()&lt;/P&gt;&lt;P&gt;3. use ioport_map()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The PCIE host will allocated mem address: 0x01100000 &amp;amp; io address: 0x1020~0x103f to this card.&lt;/P&gt;&lt;P&gt;I can use method 2 to read PCIE mem address 0x01100000 and get right value. But I tried to read IO&lt;/P&gt;&lt;P&gt;by method 2 with address 0x01f80000 + 0x1020, It'll return 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had do brute force to read 0x01f80000~0x01fbffff, the PCIE I/O space are all zero. What should I do&lt;/P&gt;&lt;P&gt;to use PCIE IO to access the PCIE device ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14587171863384467 jive_text_macro" data-renderedposition="424_8_1156_1040" jivemacro_uid="_14587171863384467" modifiedtitle="true"&gt;&lt;P&gt;static ssize_t io_store(struct device *dev,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct device_attribute *attr, const char *buf,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size_t count)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; long port;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = kstrtol(buf, 16, &amp;amp;port);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return status;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pr_info("%s: port:%lx value:%x\n", __func__, port, inb(port));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return count;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static ssize_t ioremap_store(struct device *dev,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct device_attribute *attr, const char *buf,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size_t count)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; long mem;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem* io_mem;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int *ptr;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; long tmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = kstrtol(buf, 16, &amp;amp;mem);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return status;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; io_mem = ioremap_nocache(mem, 4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!io_mem)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -EPERM;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr = io_mem;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp = readw(io_mem);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!tmp)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pr_info("tmp == 0\n");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pr_info("%s: mem:%lx mapped:%lx value1:%x, value2:%x\n", __func__, mem, (unsigned long)io_mem, tmp, *ptr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iounmap(io_mem);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return count;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static ssize_t ioport_map_store(struct device *dev,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct device_attribute *attr, const char *buf,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size_t count)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; long mem;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem* io_mem;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = kstrtol(buf, 16, &amp;amp;mem);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return status;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; io_mem = ioport_map(mem, 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!io_mem)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -EPERM;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pr_info("%s: mem:%lx mapped:%lx value:%x\n", __func__, mem, (unsigned long)io_mem, readl(io_mem));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iounmap(io_mem);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return count;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Mar 2016 07:20:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473893#M75037</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-03-23T07:20:18Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473894#M75038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We used PCIE analyzer to monitor the PCIE event when I read/write 0x01f80000~0x01fb0000&lt;/P&gt;&lt;P&gt;(PCIE IO Space). We found the event is PCIE memory read/write !!, It's seems the PCIE Host&lt;/P&gt;&lt;P&gt;not translate the memory space to PCIE IO space. Is anyone meet the saturation ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2016 07:27:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473894#M75038</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-04-01T07:27:36Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473895#M75039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From R&amp;amp;D:&lt;/P&gt;&lt;P&gt;BAR0 thru 4 are different.&lt;/P&gt;&lt;P&gt;BAR0+BAR1 as 64 bit addressing bar, type memory, prefetchable, mask 0xfffff, mask&lt;/P&gt;&lt;P&gt;writable. So Bar1 can’t be used separately.&lt;/P&gt;&lt;P&gt;BAR2 : 32 bit addressing , type memory, prefetchable , mask 0xfffff, mask writable&lt;/P&gt;&lt;P&gt;BAR3 : 32 bit addressing , type IO, mask 0xff&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 May 2016 05:25:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473895#M75039</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-05-05T05:25:58Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473896#M75040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Is it possible to &lt;SPAN style="font-size: 10.5pt; font-family: 'Helvetica','sans-serif'; color: #666666;"&gt;look at it via the sysfs? Something like..&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Helvetica','sans-serif'; color: #666666;"&gt;fd = open("/sys/devices/pci0001\:00/0001\:00\:07.0/resource0", O_RDWR | O_SYNC);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Helvetica','sans-serif'; color: #666666;"&gt;ptr = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Helvetica','sans-serif'; color: #666666;"&gt;printf("PCI BAR0 0x0000 = 0x%4x\n",&amp;nbsp; *((unsigned short *) ptr);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 May 2016 06:51:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473896#M75040</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-05-05T06:51:06Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473897#M75041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following t sysfs - resource&lt;/P&gt;&lt;P&gt;0/2/3/4/5: IO resource&lt;/P&gt;&lt;P&gt;1: MEM Resource&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14627772827374884 jive_text_macro" data-renderedposition="164_8_884_256" jivemacro_uid="_14627772827374884"&gt;&lt;P&gt;root@imx6qsabresd:/sys/bus/pci/devices/0000:01:00.0# ls&lt;/P&gt;&lt;P&gt;broken_parity_status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; macro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource&amp;nbsp;&amp;nbsp; subsystem&lt;/P&gt;&lt;P&gt;class&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; io&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; modalias&amp;nbsp; resource0&amp;nbsp; subsystem_device&lt;/P&gt;&lt;P&gt;config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioport_map&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msi_bus&amp;nbsp;&amp;nbsp; resource1&amp;nbsp; subsystem_vendor&lt;/P&gt;&lt;P&gt;consistent_dma_mask_bits&amp;nbsp; ioremap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; power&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource2&amp;nbsp; uevent&lt;/P&gt;&lt;P&gt;device&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; irq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remove&amp;nbsp;&amp;nbsp;&amp;nbsp; resource3&amp;nbsp; vendor&lt;/P&gt;&lt;P&gt;dma_mask_bits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local_cpulist&amp;nbsp; rescan&amp;nbsp;&amp;nbsp;&amp;nbsp; resource4&lt;/P&gt;&lt;P&gt;driver&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local_cpus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reset&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource5&lt;/P&gt;&lt;P&gt;root@imx6qsabresd:/sys/bus/pci/devices/0000:01:00.0# cat resource&lt;/P&gt;&lt;P&gt;0x0000000000001080 0x000000000000108f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000001100000 0x000000000110000f 0x0000000000040200&lt;/P&gt;&lt;P&gt;0x0000000000001000 0x000000000000101f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001020 0x000000000000103f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001040 0x000000000000105f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000001060 0x000000000000107f 0x0000000000040101&lt;/P&gt;&lt;P&gt;0x0000000000000000 0x0000000000000000 0x0000000000000000&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had tried with your code with some modification to read resource 0~5. It's only able to access resource 1 (MEM)&lt;/P&gt;&lt;P&gt;others are failed. (mmap return -1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my code:&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_14627774586217734 jive_macro_code jive_text_macro" data-renderedposition="550_8_884_368" jivemacro_uid="_14627774586217734"&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/stat.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;sys/mman.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main(int argc, char* argv[]) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char *ptr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd = open("/sys/bus/pci/devices/0000:01:00.0/resource1", O_RDWR | O_SYNC);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("fd:%d\n", fd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fd &amp;lt; 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr = mmap(0, 8, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("ptr:%d\n", ptr);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; 8; ++i)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("0x%4x\n",&amp;nbsp; *(ptr + i));&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could I access PCIE IO Resource with iMX6?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 May 2016 07:05:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473897#M75041</guid>
      <dc:creator>peterhong</dc:creator>
      <dc:date>2016-05-09T07:05:02Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473898#M75042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&lt;BR /&gt; You can do an "ls /sys/bus/pci*/*" and it should enumerate the PCI or PCIe devices, &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;and then - change the 'open' to match.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 May 2016 03:08:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473898#M75042</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-05-18T03:08:17Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473899#M75043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am having the same issue trying to access a fpga connected to the IMX6 PCIe.&amp;nbsp; My lspci see the FPGA and it gets memory allocated to it.&amp;nbsp; But when i use a simple program like above it get the following errors, Unhandled fault: external abort on non-linefetch (0x1018) at 0x76fe7000, and BUS ERROR.&amp;nbsp; I know my PCIe configuration works because i have a pcie hub and a Ethernet controller installed as well and it works.&amp;nbsp; Any ideals would be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Dec 2016 00:21:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473899#M75043</guid>
      <dc:creator>RobertA</dc:creator>
      <dc:date>2016-12-10T00:21:53Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473900#M75044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, Alex !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Please check PCIe mapping - the BUS ERROR means, that an access&amp;nbsp;&lt;BR /&gt;out of mapped area is performed.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2016 05:14:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473900#M75044</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-12-12T05:14:49Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473901#M75045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your reply.&amp;nbsp; Below is my lspci of my board. I have three devices on the PCIe connected to the IMX6.&amp;nbsp; USB controller, Ethernet controller, and FPGA.&amp;nbsp; USB and ethernet work no problems.&amp;nbsp; Know i am trying to write a simple application to communicate with the FPGA over PCIe.&amp;nbsp; When i try peters code above I get the same errors as him when using mmap to open /sys/bus/pci/devices/0000:05:00.0/resource0, which is my FPGA allocated memory.&amp;nbsp; Here is a capture of my lspci.&amp;nbsp;&amp;nbsp; I noticed for the Xilinx FPGA it gets assigned "Memory at 01400000 (64-bit, non-prefetchable) [disabled] [size=1M]", but why is it disabled?&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;root@imx6qsabreauto:/home/xuser/blogspot/alexcode# lspci -v&lt;BR /&gt;00:00.0 PCI bridge: Device 16c3:abcd (rev 01) (prog-if 00 [Normal decode])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01000000 (32-bit, non-prefetchable) [size=1M]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus: primary=00, secondary=00, subordinate=05, sec-latency=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I/O behind bridge: 00001000-00002fff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory behind bridge: 01100000-015fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Prefetchable memory behind bridge: 01600000-017fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [virtual] Expansion ROM at 01800000 [disabled] [size=64K]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [50] MSI: Enable+ Count=1/1 Maskable+ 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [70] Express Root Port (Slot-), MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [140] Virtual Channel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: pcieport&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;01:00.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab) (prog-if 00 [Normal dec&lt;BR /&gt;ode])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01500000 (32-bit, non-prefetchable) [size=16K]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus: primary=01, secondary=02, subordinate=05, sec-latency=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I/O behind bridge: 00001000-00002fff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory behind bridge: 01100000-014fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Prefetchable memory behind bridge: 0000000001600000-00000000017fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [48] MSI: Enable+ Count=4/4 Maskable+ 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [68] Express Upstream Port, MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [a4] Subsystem: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Device Serial Number ab-86-02-10-b5-df-0e-00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [fb4] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [138] Power Budgeting &amp;lt;?&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [148] Virtual Channel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [950] Vendor Specific Information: ID=0001 Rev=0 Len=028 &amp;lt;?&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: pcieport&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;02:01.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab) (prog-if 00 [Normal dec&lt;BR /&gt;ode])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus: primary=02, secondary=03, subordinate=03, sec-latency=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I/O behind bridge: 00001000-00001fff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory behind bridge: 01100000-012fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Prefetchable memory behind bridge: 0000000001600000-00000000017fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [48] MSI: Enable+ Count=4/4 Maskable+ 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [68] Express Downstream Port (Slot+), MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [a4] Subsystem: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Device Serial Number ab-86-02-10-b5-df-0e-00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [fb4] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [148] Virtual Channel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [520] Access Control Services&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [950] Vendor Specific Information: ID=0001 Rev=0 Len=028 &amp;lt;?&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: pcieport&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;02:02.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab) (prog-if 00 [Normal dec&lt;BR /&gt;ode])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus: primary=02, secondary=04, subordinate=04, sec-latency=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I/O behind bridge: 00002000-00002fff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory behind bridge: 01300000-013fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [48] MSI: Enable+ Count=4/4 Maskable+ 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [68] Express Downstream Port (Slot+), MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [a4] Subsystem: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Device Serial Number ab-86-02-10-b5-df-0e-00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [fb4] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [148] Virtual Channel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [520] Access Control Services&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [950] Vendor Specific Information: ID=0001 Rev=0 Len=028 &amp;lt;?&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: pcieport&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;02:03.0 PCI bridge: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch (rev ab) (prog-if 00 [Normal dec&lt;BR /&gt;ode])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus: primary=02, secondary=05, subordinate=05, sec-latency=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory behind bridge: 01400000-014fffff&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [48] MSI: Enable+ Count=4/4 Maskable+ 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [68] Express Downstream Port (Slot+), MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [a4] Subsystem: PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Device Serial Number ab-86-02-10-b5-df-0e-00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [fb4] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [148] Virtual Channel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [520] Access Control Services&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [950] Vendor Specific Information: ID=0001 Rev=0 Len=028 &amp;lt;?&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: pcieport&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;03:00.0 USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02) (prog-if 30 [&lt;BR /&gt;XHCI])&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0, IRQ 408&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01100000 (64-bit, non-prefetchable) [size=64K]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01110000 (64-bit, non-prefetchable) [size=8K]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [48] MSI: Enable+ Count=8/8 Maskable- 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [70] Express Endpoint, MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [c0] MSI-X: Enable- Count=8 Masked-&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [150] Device Serial Number 08-00-28-00-00-20-00-00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: xhci_hcd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subsystem: Intel Corporation Device 0000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: bus master, fast devsel, latency 0, IRQ 153&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01300000 (32-bit, non-prefetchable) [size=128K]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I/O ports at 2000 [disabled] [size=32]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01320000 (32-bit, non-prefetchable) [size=16K]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [c8] Power Management version 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [e0] Express Endpoint, MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [a0] MSI-X: Enable+ Count=3 Masked-&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Advanced Error Reporting&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kernel driver in use: e1000e&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;05:00.0 Memory controller: Xilinx Corporation Device 7021&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subsystem: Xilinx Corporation Device 0007&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flags: fast devsel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory at 01400000 (64-bit, non-prefetchable) [disabled] [size=1M]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [40] Power Management version 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [60] Express Endpoint, MSI 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Capabilities: [100] Device Serial Number 00-00-00-01-01-00-0a-35&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2016 18:55:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473901#M75045</guid>
      <dc:creator>RobertA</dc:creator>
      <dc:date>2016-12-12T18:55:06Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473902#M75046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; What are Your BARs ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Dec 2016 08:48:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473902#M75046</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-12-16T08:48:07Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473903#M75047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class=""&gt;&lt;P&gt;&lt;STRONG&gt;Linux Kernel ARM port does not allow accessing PCI I/O resources in SYSFS (including Kernel 4.1.15)&lt;/STRONG&gt;, because:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/drivers/pci/pci-sysfs.c&lt;/STRONG&gt; - function static int &lt;STRONG&gt;pci_mmap_resource&lt;/STRONG&gt;(struct kobject *kobj, struct bin_attribute *attr,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct vm_area_struct *vma, int write_combine)&lt;/P&gt;&lt;P&gt;calls pci_mmap_page_range(pdev, vma, mmap_type, write_combine);&lt;/P&gt;&lt;P&gt;with mmap_type=pci_mmap_io when PCI RESOURCE is IO...&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;which for ARM is defined in /arch/arm/kernel/bios32.c, like this:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int &lt;STRONG&gt;pci_mmap_page_range&lt;/STRONG&gt;(struct pci_dev *dev, struct vm_area_struct *vma,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;enum pci_mmap_state mmap_state, int write_combine)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp;if (mmap_state == pci_mmap_io)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return -EINVAL;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; * Mark this as IO&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;vma-&amp;gt;vm_page_prot = pgprot_noncached(vma-&amp;gt;vm_page_prot);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (remap_pfn_range(vma, vma-&amp;gt;vm_start, vma-&amp;gt;vm_pgoff,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vma-&amp;gt;vm_end - vma-&amp;gt;vm_start,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vma-&amp;gt;vm_page_prot))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return -EAGAIN;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;BR /&gt;}&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Jun 2017 18:45:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473903#M75047</guid>
      <dc:creator>lmendes</dc:creator>
      <dc:date>2017-06-13T18:45:16Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473904#M75048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alex;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 2 years after you, I am having the same issue. when trying to access FPGA from PCIE i get the same "unhandled FAULT: externel abort....." could you please tell me how did you manage to fix that problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Aug 2018 19:44:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473904#M75048</guid>
      <dc:creator>zakariboo</dc:creator>
      <dc:date>2018-08-15T19:44:29Z</dc:date>
    </item>
    <item>
      <title>Re: Driver access PCIE Device via IO port failed with IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473905#M75049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was facing segmentation fault when calling inb and outb functions in my PCIe driver code when I try to write to offset for toggling LED.&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;I found from lspci -v output that my device is not properly mapped.&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;I called&amp;nbsp;pci_assign_resource from my driver to allocate resources and after that I was able to see valid mapping in lspci -v output as well as was able to toggle the led by calling outb(0x01,(baseaddress+LED_OFFSET))&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;But when I try to read from the same offset and from other readable offsets, I am getting return value from inb as zero.&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;Can you please provide your inputs.&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;Thanks&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Oct 2019 10:49:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Driver-access-PCIE-Device-via-IO-port-failed-with-IMX6/m-p/473905#M75049</guid>
      <dc:creator>bevincb</dc:creator>
      <dc:date>2019-10-31T10:49:03Z</dc:date>
    </item>
  </channel>
</rss>

