hello, I designed a circuit to use a PCIe IP core for an FPGA, and then connected it to Jetson NX through PCIe. However, when I entered Jetson Linux and used the lspci command, no result was displayed:
I’m not sure if I need to modify the Linux device tree or kernel,Can you help me how to debug this problem about pcie?Or can you provide me with the relevant description of the device tree?
First, share which hardware pin you are using for the device. Check if your hardware design is correct.
If you don’t even read the design guide document before, then you shall check it on our download center.
Second, each pcie pin has a mapping controller and software to control it. Each of them has a mapping to pcie @ xxxx address in device tree.
The kernel log shall tell you if the driver is enabled. For example, if there is totally no such pcie controller shown in kernel log. Then it means the controller is not enabled at all.
My kernal log :
I can see iommu adding pcie (address 14160000 and 141a0000),But I don’t have enough knowledge of the device tree. I’m not sure how to map address 14160000 and 141a0000 to the specific PCIe interface. Can you give me some detailed instructions or demo?
thanks,I’ll try debug again
One last request, can you give me the complete pdf file of this picture:
thanks!
The completed pdf is based on Orin, so it does not help to share it…
I will add that due to power saving features, if a PCIe device is not detected earlier in boot, then PCIe will leave its power off (this can be changed). Should an FPGA not be fully booted before the Jetson starts booting, then it is possible that even with correct configuration the device won’t be detected (and hot plug detect at later stages won’t be attempted without modifying PCIe power saving features). Try making sure your FPGA is fully booted before the Jetson starts booting, and and if lspci
then shows the device, it is simply a power timing issue.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.