Lspci result before and after root port orin connected with endpoint orin

I’m trying to to connect agx orin endpoint with agx orin root port with pcie cable as per endpoint design guide & Orin design guide etc, without success yet.

First at root port side, root port controller C5 not show by lspci

lspci
0001:00:00.0 PCI bridge: NVIDIA Corporation Device 229e (rev a1)
0001:01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter

In dmesg:
[   11.180380] tegra194-pcie 141a0000.pcie: Phy link never came up
[   11.187668] tegra194-pcie 141a0000.pcie: PCI host bridge to bus 0005:00

Is this normal? I think C5 up is the basic requirement.
I noticed in other post, lspci will show c5 by xavier dk.

Would you be kind to share you lspci result of jetson agx orin (root port side), before and after root port orin connected with endpoint orin?

Hi,

A pcie device can link up if both sides are fine. I mean

  1. If EP side has problem, then your RP side won’t see the device in lspci
  2. If RP side has configuration problem, then your RP side won’t see the device either.

Thus, which part do you want us to help check?

Is this normal? I think C5 up is the basic requirement.

It is normal if above 2 situations happened.

You can connect other PCIe device to your RP side first to validate whether your RP can really detect PCIe device first.

Thanks for your quick reply. Is the following expectation / desc correct?

1, I have a new agx orin (by default its C5 is RP).
Before neither other PCIe device nor EP orin connected to it,
I can only see domain 1 (PCI bridge) by lspci;
and the “Phy link never came up” dmesg can be ignored.

2, After another agx orin, whose C5 changed into EP mode, connected to RP with a special PCIe cable.
I can see domain 1 (PCI bridge) and
domain 5 (PCI bridge) together with ( RAM memory or virtual Ethernet )
by lspci;
and in dmesg C5 link up.

At present, I have no such special PCIe cable to finish the connection.
If the above statement is correct, it’s okay if I don’t care about dmesg msg.

You can connect other PCIe device to your RP side first to validate whether your RP can really detect PCIe device first.

I have no device listed in Jetson_AGX_Orin_SCL_20220316.pdf.
I connect some Ascend card to RP, but failed to enumerate.
I have to use some COMMON card?

Hi,

If there is no pcie device link up, then the NVIDIA bridge will not appear in the lspci either.

Thus, I think you can ignore the dmesg thing.

An NVMe hard drive was inserted into C4, and the domain bridge and the hard drive device came up together.
// in dmesg Phy link never came up → Link up

$ lspci
0001:00:00.0 PCI bridge: NVIDIA Corporation Device 229e (rev a1)
0001:01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
0004:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1)
0004:01:00.0 Non-Volatile memory controller: Device 1e4b:1202 (rev 01)

This behavior is caused by device tree.
nvidia,disable-power-down: Set this property to keep root port enabled even if no Endpoint is connected to the root port

FYI, insert an FPGA card into C5 PCIe slot.

lspci
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 229a (rev a1)
0005:01:00.0 Memory controller: Xilinx Corporation Device 7024
1 Like

Then it is time to check the Orin endpoint side. What is the dmesg on Orin EP?

2245422592ADT_K33NS SCHEMATIC 20230822.pdf (97.5 KB)

I’m currently having to use an ADT-Link (K3S) PCIe crossover cable, which is not directly a appropriate cable. After the following changes to the EP end, is it a appropriate cable to connect two orin’s C5 PCIe slots?

  • cable B1-B3, B10, A2-A3 contacts are covered with adhesive strips;

  • Pinmux modification:
    PCIE5_RST_N output → input
    PCIE5_CLKREQ_N bidirectional → input

  • kernet dtb PCIE_REFCLK_SEL is set to 1 and PCIE_3V3_EN is set to 0.

Just a clarification. I am no hardware guy. If you want to check your hardware, I can find someone else to help.

Currently I only want to check the software part.

If the ODMDATA is set correctly and if you are on rel-35.4.1, then you don’t need to change anything in device tree. Unless your hardware design does not meet our expectation.

If you want to check your hardware, I can find someone else to help.

Yes, please.

If the ODMDATA is set correctly and if you are on rel-35.4.1, then you don’t need to change anything in device tree.

Yes, I understand this point.

Unless your hardware design does not meet our expectation.

The cable does not meet the expectation, so I have to change the cable and pinmux / device tree but not sure the changes are correct.

Hi, please check your convert board following below example. Especially pay attention to the isolator used.

ADT-Link with the following modification, direct conn OK:

  • cable B1-B3, B10, A2-A3 contacts are covered with adhesive strips;
  • Pinmux modification:
    PCIE5_RST_N output → input
    PCIE5_CLKREQ_N bidirectional → input
lspci
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 229a (rev a1)
0005:01:00.0 RAM memory: NVIDIA Corporation Device 0001 # or
0005:01:00.0 Network controller: NVIDIA Corporation Device 2296

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