I’m trying to configure C5 controller as an endpoint. Even though I tried to strictly follow the documentation that the NVIDIA support team suggested, I was not able to link the root device and ORIN. In the GPIO file, I set PEX_L5_CLKREQ_N as a bidirectional port and PEX_L5_RST_N as an input port. Also in the tegra234-p3737-pcie file, the status of pcie_ep@141a0000 is changed to “okay”. After I built the Kernel and copied the required files to the L4T base folder, I executed the apply_binaries.sh file yet I’m not sure if it is necessary or not.
I’d be glad if anyone could help me to overcome this issue. I attached the config files below.
You should clarify which jetpack version you are using here.
If you are using correct version, then actually none of the work you are doing here is not needed. Just modify ODMDATA and our overlay will handle the rest part.
Then, I followed the Testing Procuders part and I have encountered with RP DMA is not available error. I think this is occured because I am using Windows PC as the root but I am not sure.
So I have two questions:
To use the PCIe endpoint, the root has to have the Linux OS?
Afterwards I want to use the C5 and C7 as PCIe endpoints with a custom board. Can I activate and use them at the same time? Does Jetson have restrictions on using two PCIe endpoints at the same time?
I have tried with a host x86-64 Linux host PC but it is giving RP DMA address is null error after the cat edmalib_test command. I attach the log files and give informations about the test system below:
Hardware:
Nvidia Jetson Orin Industrial with Orin Devkit
x8 PCI cable
x86-64 Linux host PC (but there is an error with PCI of this computer. Just 4 lanes are open rather than 8 which the cable is supporting)
Software (Jetson):
Jetson Linux 36.3
Software (Root):
Ubuntu 22.04
Nvidia SDKManager:
I am selecting the Orin Industrial 64GB option for the device.
Steps:
Same as the previous comment but replacing Windows PC parts with Linux PC.