PCIe C4 endpoint mode on Orin NX

Is the C4 PCI port supported to be used in endpoint mode in Jetpack 5.1.3 on the Orin NX? Are there are any additional patches that are required? Here’s the stack trace that happens when we assign the interface an IP address:

Orin-NX_Kernel-Panic-10-15-2024.txt (10.9 KB)

Share me the dmesg after your boot up and what did you try on your side.

@WayneWWW, the poster ( @daniel.ruiz1 ) is working with me & I will try to provide as much info as possible for his question.

The PCIE Root Complex device is an X86 CPU module ( the same one that we use with your Xavier NX in endpoint mode ).

In this case, we have a custom carrier board designed for the Orin NX instead of the Xavier NX.
On the Root Complex ( CPU side ), the same tegra_vnet driver is used like before and the pci interface comes up like normal on that side via lscpi & the tegra_vnet interface also shows up properly.

The Orin NX boots up off of an NVME SSD drive.

Just like on the Xavier NX, on the Orin NX, we make sure that the Root Complex device boots up after the Orin NX boots up as we use the Orin in PCIE endpoint mode over the C4 PCIE channel.

In Daniel’s post, the attached stacktrace happens after running these 2 commands:

  1. sudo ip link set dev eth1 up
    ( we rename eth1 to pci0 , but it’s the same interface ).
    After running this, we get a bunch of these messages:
    469.250062] NOHZ tick-stop error: Non-RCU local softirq work is pending, hand!
    [ 469.410972] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
    [ 470.106965] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
    [ 471.354958] NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!

  2. Then we ping the IP address that is on the root complex device ( running this command on the Orin ).

  • After maybe 15-20 seconds that stack trace occurs.

On the Root Complex Side, this message shows up as expected:
IPv6: ADDRCONF(NETDEV_CHANGE): pci0: link becomes ready
along with this:
lspci | grep -i nvidia
03:00.0 Network controller: NVIDIA Corporation Tegra PCIe Endpoint Virtual Network

  • No errors on any of the logs on our Root Complex side.

Attached is are the full logs for the Orin NX.

The NetworkManager services are disabled on both of the Root Complex & Orin NX as well.

Also, our hardware engineer has triple checked our pinmux files and has confirmed that they are correct.

Thank you.
dmesg.log (65.7 KB)
journalctl.log (194.1 KB)

1 Like

I mean did you configure the ODMDATA and device tree ? Anything for that?

@WayneWWW
p3767.conf.common.txt (8.2 KB)
tegra234-p3767-0000-p3768-0000-a0.dts.txt (431.9 KB)
Yes, we did both.

We have also verified that our device tree settings are in use by running this on the Orin NX:
dtc -I fs -O dts /sys/firmware/devicetree/base > deviceTree.dts
to extract the currently used device tree.

Please see our attached files.

I have appended “.txt” to the file names, so we can upload them uncompressed here.

Thanks.

Yes @manzalone and I are currently working together on this

@WayneWWW Looks like you already responded to this post:

where that customer is having a very similar issue as us.

Is it not really supported to use an X86 Root Complex → Orin NX Endpoint?

We are using the same tegra_vnet driver from NVIDIA for x86 to Xavier NX via PCIe communication.

Is the this tegra_vnet driver not supported on the Orin NX? If not, do you have a driver that is compatible? Thanks.

If you are using rel-35, then that driver is still same.

But the configuration for Xaiver NX and Orin NX/Nano are totally different. Thus, I need to check whatever configuration you’ve done there.

It looks like ODMDATA=“gbe-uphy-config-9,hsstp-lane-map-3,hsio-uphy-config-40”;

@WayneWWW The .conf and device tree source is attached in

Please scroll up.

@WayneWWW We were able to get this to work by applying the following patch to disable the EDMA interrupt.

Thanks.
endpointModeEnable.patch.txt (1.4 KB)

1 Like

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