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.

Hello,

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:

UPHY config:

Hex               : 0x00d84000

Binary            : 0000 0000 1101 1000 0100 0000 0000 0000

Layout of ODMDATA :
 
	hsio-uphy 	     : 000000 
	nvhs-uphy 	     : 001 
	gbe-uphy  	     : 10110 
	gbe3-enable-10g  : 0 
	gbe2-enable-10g  : 0 
	gbe1-enable-10g  : 0 
	gbe0-enable-10g  : 1 
	TBD		     : 00000000000000

Files:
dmesg.txt (61.4 KB)
dmesg_pcie.txt (2.3 KB)
lspci_endpoint.txt (8.5 KB)

EDIT: lspci information on the root didn’t show any device named Nvidia.

Thanks in advance.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.