How to Configure a PCIe FPGA Endpoint for the i.MX8MP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to Configure a PCIe FPGA Endpoint for the i.MX8MP

751件の閲覧回数
NXP_USER_05
Contributor I

Hi ,

I am working with the PCIe Root Complex on the i.MX8MP and a custom FPGA(Artix 7) configured as a PCIe endpoint. The PCIe link comes up successfully and the endpoint is enumerated during boot. Below is the relevant boot log:

2.500513] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 2.507832] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[ 2.508459] pps pps0: new PPS source ptp0
[ 2.516088] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
[ 2.529393] fec 30be0000.ethernet: Invalid MAC address: 00:00:00:00:00:00
[ 2.536303] fec 30be0000.ethernet: Using random MAC address: 4e:ba:b3:4a:a3:b9
[ 2.745496] imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 16G
[ 2.853903] imx6q-pcie 33800000.pcie: PCIe Gen.1 x1 link up
[ 2.859611] imx6q-pcie 33800000.pcie: PCIe Gen.1 x1 link up
[ 2.865214] imx6q-pcie 33800000.pcie: Link up, Gen1
[ 2.870114] imx6q-pcie 33800000.pcie: PCIe Gen.1 x1 link up
[ 2.875881] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[ 2.882281] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 2.887795] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 2.893995] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff]
[ 2.900922] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[ 2.906964] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[ 2.913262] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[ 2.920046] pci 0000:00:00.0: supports D1
[ 2.924084] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[ 2.933735] pci 0000:01:00.0: [10ee:7011] type 00 class 0x060000
[ 2.939854] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00007fff]
[ 2.946320] pci 0000:01:00.0: enabling Extended Tags
[ 2.961365] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff]
[ 2.968226] pci 0000:00:00.0: BAR 14: assigned [mem 0x18100000-0x181fffff]
[ 2.975141] pci 0000:00:00.0: BAR 6: assigned [mem 0x18200000-0x1820ffff pref]
[ 2.982396] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 2.987647] pci 0000:00:00.0: bridge window [mem 0x18100000-0x181fffff]
[ 2.994923] pcieport 0000:00:00.0: PME: Signaling with IRQ 221

The PCIe endpoint (Vendor ID 10ee, Device ID 7011) is detected correctly, and BAR0 is reported with a size of 16 KB.

However, when loading a custom out-of-tree PCIe driver, the probe fails with the following error:

[ 9.517480] pcie_example: loading out-of-tree module taints kernel.
[ 9.533840] pcie_example: probing 10ee:7011
[ 9.539507] pcie_example 0000:01:00.0: can't enable device:
BAR 0 [mem 0x00000000-0x00007fff] not claimed
[ 9.567806] pcie_example: pci_enable_device failed

It appears that BAR0 is not being assigned a system memory address, causing pci_enable_device() to fail in the driver.

Also attached the dts file for your refrence. 

Could you please advise:

  • Why the endpoint BAR is not being claimed/assigned by the i.MX8MP PCIe Root Complex?

  • Whether any specific device tree, kernel configuration, or PCIe controller settings are required to ensure proper BAR allocation for PCIe endpoints on i.MX8MP?

Any guidance would be greatly appreciated.

Thank you.

 

0 件の賞賛
返信
2 返答(返信)

705件の閲覧回数
Oswalag
NXP TechSupport
NXP TechSupport

Hello,

The issue seems to be caused by the class code of the EP. 

Your FPGA endpoint is currently reporting a PCI Class Code of 0x060000, which identifies the device as a Host Bridge. This classification is not valid for a Type‑0 PCIe endpoint function. Because the Linux PCI subsystem interprets the device as a bridge rather than a standard endpoint, it does not assign or claim BAR resources for it. As a result, the call to pci_enable_device() fails with the message “BAR 0 not claimed.”, please take a look on the link below:
 
 
Also, please refer to the below U-boot source code from NXP for the supported PCI drivers.
 
0 件の賞賛
返信

640件の閲覧回数
NXP_USER_05
Contributor I

Hi  

After changing the PCIe Endpoint class code from 0x060000 to 0x058000, the device is successfully enabled and the PCIe link comes up correctly.

Now I am trying to write data from the Root Complex (RC) to the Endpoint (EP) using PIO / MMIO access.
Write Operation from RC

I am using devmem2 on the RC side:

$ devmem2 0x18100004 w 0xDEADBEEF

Output:
/dev/mem opened.
Memory mapped at address 0xffff84e9b000.
Read at address 0x18100004 (0xffff84e9b004): 0xFFFFFFFF
Write at address 0x18100004 (0xffff84e9b004): 0xDEADBEEF, readback 0xDEADBEEF


Observation on EP Side

Using ILA in Vivado, I can see the AXI write data (WDATA = 0xDEADBEEF) reaching the PCIe IP.

However, when I try to read the data from the EP register logic, I only get dummy values (0xFFFFFFFF).

Additionally:

A register shows the value 0xDEC0DE1C

RVALID remains 0

Read response never completes

Questions

1. Is additional configuration required on the EP side to properly handle PIO/MMIO writes?

2.Could this be related to BAR configuration, address decoding, or AXI slave response handling?

 

Thanks in advance for your support.

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2319194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX8MP%20%E3%81%AE%20PCIe%20FPGA%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%82%92%E6%A7%8B%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AF%E3%80%81i.MX8MP%20%E4%B8%8A%E3%81%AE%20PCIe%20%E3%83%AB%E3%83%BC%E3%83%88%20%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A8%E3%80%81PCIe%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%A8%E3%81%97%E3%81%A6%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%20FPGA%20(Artix%207)%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82PCIe%20%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%8C%E6%AD%A3%E5%B8%B8%E3%81%AB%E8%B5%B7%E5%8B%95%E3%81%97%E3%80%81%E8%B5%B7%E5%8B%95%E4%B8%AD%E3%81%AB%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%8C%E5%88%97%E6%8C%99%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AF%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E3%83%96%E3%83%BC%E3%83%88%20%E3%83%AD%E3%82%B0%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E2.500513%5D%20imx6q-pcie%2033800000.pcie%3A%E3%83%9B%E3%82%B9%E3%83%88%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%20%2Fsoc%400%2Fpcie%4033800000%20%E3%81%AE%E7%AF%84%E5%9B%B2%3A%3CBR%20%2F%3E%20%5B%202.507832%5D%20imx6q-pcie%2033800000.pcie%3AIO%200x001ff80000..0x001ff8ffff%20-%26gt%3B%200x0000000000%3CBR%20%2F%3E%20%5B%202.508459%5D%20pps%20pps0%3A%20%E6%96%B0%E3%81%97%E3%81%84PPS%E3%82%BD%E3%83%BC%E3%82%B9ptp0%3CBR%20%2F%3E%20%5B%202.516088%5D%20imx6q-pcie%2033800000.pcie%3A%E3%83%A1%E3%83%A2%E3%83%AA%200x0018000000..0x001fefffff%20-%26gt%3B%200x0018000000%3CBR%20%2F%3E%20%5B%202.529393%5D%20fec%2030be0000.%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%8D%E3%83%83%E3%83%88%3A%E7%84%A1%E5%8A%B9%E3%81%AAMAC%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%3A%2000%3A00%3A00%3A00%3A00%3A00%3CBR%20%2F%3E%20%5B%202.536303%5D%20fec%2030be0000.%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%8D%E3%83%83%E3%83%88%3A%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%81%AAMAC%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%3A%204e%3Aba%3Ab3%3A4a%3Aa3%3Ab9%3CBR%20%2F%3E%20%5B%202.745496%5D%20imx6q-pcie%2033800000.pcie%3AiATU%3A%20%E3%82%A2%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%AB%20T%E3%80%814%20ob%E3%80%814%20ib%E3%80%81%E3%82%A2%E3%83%A9%E3%82%A4%E3%83%B3%2064K%E3%80%81%E5%88%B6%E9%99%90%2016G%3CBR%20%2F%3E%20%5B%202.853903%5D%20imx6q-pcie%2033800000.pcie%3APCIe%20Gen.1%20x1%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%3CBR%20%2F%3E%5B%202.859611%5D%20imx6q-pcie%2033800000.pcie%3APCIe%20Gen.1%20x1%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%3CBR%20%2F%3E%5B%202.865214%5D%20imx6q-pcie%2033800000.pcie%3A%3CSTRONG%3E%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%80%81Gen1%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%5B%202.870114%5D%20imx6q-pcie%2033800000.pcie%3APCIe%20Gen.1%20x1%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%3CBR%20%2F%3E%5B%202.875881%5D%20imx6q-pcie%2033800000.pcie%3APCI%E3%83%9B%E3%82%B9%E3%83%88%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%8B%E3%82%89%E3%83%90%E3%82%B90000%3A00%3CBR%20%2F%3E%20%5B%202.882281%5D%20pci_bus%200000%3A00%3A%20%E3%83%AB%E3%83%BC%E3%83%88%E3%83%90%E3%82%B9%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%20%5B%E3%83%90%E3%82%B9%2000-ff%5D%3CBR%20%2F%3E%20%5B%202.887795%5D%20pci_bus%200000%3A00%3A%20%E3%83%AB%E3%83%BC%E3%83%88%E3%83%90%E3%82%B9%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%20%5Bio%200x0000-0xffff%5D%3CBR%20%2F%3E%20%5B%202.893995%5D%20pci_bus%200000%3A00%3A%20%E3%83%AB%E3%83%BC%E3%83%88%E3%83%90%E3%82%B9%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%20%5Bmem%200x18000000-0x1fefffff%5D%3CBR%20%2F%3E%20%5B%202.900922%5D%20PCI%200000%3A00%3A00.0%3A%5B16c3%3Aabcd%5D%20%E3%82%BF%E3%82%A4%E3%83%9701%20%E3%82%AF%E3%83%A9%E3%82%B90x060400%3CBR%20%2F%3E%20%5B%202.906964%5D%20PCI%200000%3A00%3A00.0%3A%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%200x10%3A%20%5B%E3%83%A1%E3%83%A2%E3%83%AA%200x00000000-0x000fffff%5D%3CBR%20%2F%3E%20%5B%202.913262%5D%20PCI%200000%3A00%3A00.0%3A%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%200x38%3A%20%5B%E3%83%A1%E3%83%A2%E3%83%AA%200x00000000-0x0000ffff%20%E8%A8%AD%E5%AE%9A%5D%3CBR%20%2F%3E%20%5B%202.920046%5D%20PCI%200000%3A00%3A00.0%3AD1%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%3CBR%20%2F%3E%5B%202.924084%5D%20PCI%200000%3A00%3A00.0%3APME%23%E3%81%AFD0%20D1%20D3hot%20D3cold%E3%81%8B%E3%82%89%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%3CBR%20%2F%3E%5B%202.933735%5D%20PCI%200000%3A01%3A00.0%3A%5B10ee%3A7011%5D%20%E3%82%BF%E3%82%A4%E3%83%9700%20%E3%82%AF%E3%83%A9%E3%82%B90x060000%3CBR%20%2F%3E%20%5B%202.939854%5D%20PCI%200000%3A01%3A00.0%3A%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%200x10%3A%20%5B%E3%83%A1%E3%83%A2%E3%83%AA%200x00000000-0x00007fff%5D%3CBR%20%2F%3E%20%5B%202.946320%5D%20PCI%200000%3A01%3A00.0%3A%E6%8B%A1%E5%BC%B5%E3%82%BF%E3%82%B0%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%3CBR%20%2F%3E%5B%202.961365%5D%20PCI%200000%3A00%3A00.0%3ABAR%200%3A%20%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E6%B8%88%E3%81%BF%20%5Bmem%200x18000000-0x180fffff%5D%3CBR%20%2F%3E%20%5B%202.968226%5D%20PCI%200000%3A00%3A00.0%3ABAR%2014%3A%20%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E6%B8%88%E3%81%BF%20%5Bmem%200x18100000-0x181fffff%5D%3CBR%20%2F%3E%20%5B%202.975141%5D%20PCI%200000%3A00%3A00.0%3ABAR%206%3A%20%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E6%B8%88%E3%81%BF%20%5Bmem%200x18200000-0x1820ffff%20pref%5D%3CBR%20%2F%3E%20%5B%202.982396%5D%20PCI%200000%3A00%3A00.0%3APCI%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%8B%E3%82%89%5B%E3%83%90%E3%82%B901-ff%5D%3CBR%20%2F%3E%20%5B%202.987647%5D%20PCI%200000%3A00%3A00.0%3A%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%20%5B%E3%83%A1%E3%83%A2%E3%83%AA%200x18100000-0x181fffff%5D%3CBR%20%2F%3E%20%5B%202.994923%5D%20pcie%E3%83%9D%E3%83%BC%E3%83%88%200000%3A00%3A00.0%3APME%3A%20IRQ%20221%20%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B7%E3%82%B0%E3%83%8A%E3%83%AA%E3%83%B3%E3%82%B0%3C%2FP%3E%3CP%3EPCIe%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%20(%E3%83%99%E3%83%B3%E3%83%80%E3%83%BC%20ID%2010ee%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20ID%207011)%20%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E6%A4%9C%E5%87%BA%E3%81%95%E3%82%8C%E3%80%81BAR0%20%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C%2016%20KB%20%E3%81%A8%E5%A0%B1%E5%91%8A%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%81%AE%E3%83%84%E3%83%AA%E3%83%BC%E5%A4%96%20PCIe%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%83%97%E3%83%AD%E3%83%BC%E3%83%96%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%5B%209.517480%5D%20pcie_example%3A%20%E3%83%84%E3%83%AA%E3%83%BC%E5%A4%96%E3%81%AE%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%A8%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%8C%E6%B1%9A%E6%9F%93%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%5B%209.533840%5D%20pcie_example%3A%20%3CSTRONG%3E10ee%3A7011%3C%2FSTRONG%3E%E3%82%92%E3%83%97%E3%83%AD%E3%83%BC%E3%83%96%E4%B8%AD%3CBR%20%2F%3E%5B%209.539507%5D%20pcie_example%200000%3A01%3A00.0%3A%3CSTRONG%3E%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%3A%3C%2FSTRONG%3E%3CBR%20%2F%3E%20BAR%200%20%5Bmem%200x00000000-0x00007fff%5D%20%E3%81%AF%E8%A6%81%E6%B1%82%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%3CBR%20%2F%3E%5B%209.567806%5D%20pcie_example%3A%20%3CSTRONG%3Epci_enable_device%20%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EBAR0%20%E3%81%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%20%E3%83%A1%E3%83%A2%E3%83%AA%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%8C%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%89%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%A7%20pci_enable_device()%20%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E5%8F%82%E8%80%83%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%20dts%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%82%E6%B7%BB%E4%BB%98%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%A2%E3%83%89%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%3A%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%3E%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%20BAR%20%E3%81%8C%20i.MX8MP%20PCIe%20%E3%83%AB%E3%83%BC%E3%83%88%20%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E8%A6%81%E6%B1%82%2F%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%89%E3%82%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3Ei.MX8MP%20%E4%B8%8A%E3%81%AE%20PCIe%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%AB%E9%81%A9%E5%88%87%E3%81%AA%20BAR%20%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%92%E7%A2%BA%E5%AE%9F%E3%81%AB%E8%A1%8C%E3%81%86%E3%81%9F%E3%82%81%E3%81%AB%E3%80%81%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%84%E3%83%AA%E3%83%BC%E3%80%81%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E6%A7%8B%E6%88%90%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%20PCIe%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E8%A8%AD%E5%AE%9A%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%81%94%E6%8C%87%E5%B0%8E%E3%81%A7%E3%82%82%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%82%8C%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2322371%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20Configure%20a%20PCIe%20FPGA%20Endpoint%20for%20the%20i.MX8MP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2322371%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3C%2FP%3E%3CP%3EPCIe%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%20%E3%82%AF%E3%83%A9%E3%82%B9%20%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%200x060000%20%E3%81%8B%E3%82%89%200x058000%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%8C%E6%AD%A3%E5%B8%B8%E3%81%AB%E6%9C%89%E5%8A%B9%E5%8C%96%E3%81%95%E3%82%8C%E3%80%81PCIe%20%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E7%8F%BE%E5%9C%A8%E3%80%81PIO%2FMMIO%20%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%AB%E3%83%BC%E3%83%88%20%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AC%E3%83%83%E3%82%AF%E3%82%B9%20(RC)%20%E3%81%8B%E3%82%89%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%20(EP)%20%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%82%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3ERC%E3%81%8B%E3%82%89%E3%81%AE%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E6%93%8D%E4%BD%9C%3C%2FP%3E%3CP%3ERC%20%E5%81%B4%E3%81%A7%E3%81%AF%20devmem2%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSTRONG%3E%24%20devmem2%200x18100004%20w%200xDEADBEEF%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%E5%87%BA%E5%8A%9B%EF%BC%9A%3CBR%20%2F%3E%20%2Fdev%2Fmem%20%E3%81%8C%E9%96%8B%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CBR%20%2F%3E%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AF%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%200xffff84e9b000%20%E3%81%AB%E3%83%9E%E3%83%83%E3%83%97%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B90x18100004%EF%BC%880xffff84e9b004%EF%BC%89%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%3A%200xFFFFFFFF%3CBR%20%2F%3E%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B90x18100004%EF%BC%880xffff84e9b004%EF%BC%89%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%EF%BC%9A0xDEADBEEF%E3%80%81%E3%83%AA%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF0xDEADBEEF%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSTRONG%3EEP%E5%81%B4%E3%81%AE%E8%A6%B3%E5%AF%9F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EVivado%20%E3%81%A7%20ILA%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81AXI%20%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%83%87%E3%83%BC%E3%82%BF%20(WDATA%20%3D%200xDEADBEEF)%20%E3%81%8C%20PCIe%20IP%20%E3%81%AB%E5%88%B0%E9%81%94%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81EP%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%20%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8D%E3%81%86%E3%81%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%83%80%E3%83%9F%E3%83%BC%E5%80%A4%20(0xFFFFFFFF)%20%E3%81%AE%E3%81%BF%E3%81%8C%E5%8F%96%E5%BE%97%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%95%E3%82%89%E3%81%AB%EF%BC%9A%3C%2FP%3E%3CP%3E%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF%E5%80%A40xDEC0DE1C%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3ERVALID%E3%81%AF0%E3%81%AE%E3%81%BE%E3%81%BE%3C%2FP%3E%3CP%3E%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E5%BF%9C%E7%AD%94%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%AA%E3%81%84%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E8%B3%AA%E5%95%8F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E1.%20PIO%2FMMIO%20%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%82%92%E9%81%A9%E5%88%87%E3%81%AB%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81EP%20%E5%81%B4%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E2.%20%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81BAR%20%E6%A7%8B%E6%88%90%E3%80%81%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%20%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%20AXI%20%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E5%BF%9C%E7%AD%94%E5%87%A6%E7%90%86%E3%81%AB%E9%96%A2%E9%80%A3%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%81%94%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2320413%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20Configure%20a%20PCIe%20FPGA%20Endpoint%20for%20the%20i.MX8MP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320413%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AF%20EP%20%E3%81%AE%E3%82%AF%E3%83%A9%E3%82%B9%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CDIV%3EFPGA%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%AF%E7%8F%BE%E5%9C%A8%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E3%83%9B%E3%82%B9%E3%83%88%20%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%A8%E3%81%97%E3%81%A6%E8%AD%98%E5%88%A5%E3%81%99%E3%82%8B%20PCI%20%E3%82%AF%E3%83%A9%E3%82%B9%20%E3%82%B3%E3%83%BC%E3%83%89%200x060000%20%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E5%88%86%E9%A1%9E%E3%81%AF%E3%80%81%E3%82%BF%E3%82%A4%E3%83%97%200%20PCIe%20%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%AF%E7%84%A1%E5%8A%B9%E3%81%A7%E3%81%99%E3%80%82Linux%20PCI%20%E3%82%B5%E3%83%96%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AF%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E6%A8%99%E6%BA%96%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%A8%E3%81%97%E3%81%A6%E8%A7%A3%E9%87%88%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%20BAR%20%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%81%9F%E3%82%8A%E8%A6%81%E6%B1%82%E3%81%97%E3%81%9F%E3%82%8A%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%9D%E3%81%AE%E7%B5%90%E6%9E%9C%E3%80%81pci_enable_device()%20%E3%81%AE%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%AF%E3%80%8CBAR%200%20%E3%81%8C%E8%A6%81%E6%B1%82%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%A7%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E3%81%94%E8%A6%A7%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3E%3CA%20href%3D%22https%3A%2F%2Fstackoverflow.com%2Fquestions%2F46476844%2Fpci-enable-device-fails-after-remove-rescan%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fstackoverflow.com%2Fquestions%2F46476844%2Fpci-enable-device-fails-after-remove-rescan%3C%2FA%3E%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3E%E3%81%BE%E3%81%9F%E3%80%81%3CSPAN%3E%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%20PCI%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81NXP%20%E3%81%AE%E4%BB%A5%E4%B8%8B%E3%81%AE%20U-boot%20%E3%82%BD%E3%83%BC%E3%82%B9%20%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FSPAN%3E%0A%3CDIV%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fuboot-imx%2Ftree%2Flf_v2025.04%2Fdrivers%2Fpci%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20data-saferedirecturl%3D%22https%3A%2F%2Fwww.google.com%2Furl%3Fq%3Dhttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fuboot-imx%2Ftree%2Flf_v2022.04%2Fdrivers%2Fpci%26amp%3Bsource%3Dgmail%26amp%3Bust%3D1689340224856000%26amp%3Busg%3DAOvVaw0o4ShFN03Eb82BSIyYTg_9%22%3Euboot-imx%2F%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%20%2Fpci%2F%3C%2FA%3E%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FLINGO-BODY%3E