Configuring C5 controller as PCIe EP

Hi there,

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.

Kind regards.

tegra234-p3737-pcie.txt (1.6 KB)
gpio.txt (4.9 KB)
pinmux.txt (65.7 KB)
dmesg.txt (69.3 KB)
dmesg_pcie.txt (2.3 KB)

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.

It is r35.4.1. and I selected ORIN Industrial 64Gb on SDK manager to configure my ORIN Industrial. I will give it a shot one more time if you say so.

Hello, I am experiencing this problem too. I can’t use the C5 as a PCIe endpoint.

I did these steps:

  1. Download the latest Jetpack 6 and Jetson Linux 36.3 versions with the SDKManager 2.1.0.
  2. Configure the ODMDATA to "gbe-uphy-config-22,nvhs-uphy-config-1,hsio-uphy-config-0,gbe0-enable-10g,hsstp-lane-map-3";
  3. Flash the Jetson with the SDKManager 2.1.0.
  4. After the startup of the Jetson, turn it off.
  5. Connect the PCIe cable to Jetson and Windows PC.
  6. Boot up the Jetson.
  7. Executing these steps from the PCIe Endpoint Mode part in the Jetson Linux Documentation.
  8. Boot the Windows PC.

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:

  1. To use the PCIe endpoint, the root has to have the Linux OS?
  2. 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?

Thanks in advance.

There is hardware requirement and document to refer to.

You can enable them at same time but currently rel-36 does not have software patch (mostly device tree change) to enable PCIE C7 as endpoint.