we have a custom carrier board with a PCIe connection to a FPGA. It is a PCIe 3.0 link with 8 lanes on the C5 PCIe controller. But unfortunately we can not bring the link up. The FPGA is stuck in the Polling.Active of the LTSSM. What are the possible steps from the Jetson side to debug such a problem? In the TRM I found a register (0xd0), which has the current state of the LTSSM in it. But the encoding of this bitfield is not given in the TRM. Is it possible, that you share this encoding with us?
Edit: We could verify that both, the FPGA and the Jetson, are sending symbols at 2.5GT/s. Unfortunately we can not decode the symbols to check them with the PCIe specs.
What are the consequences of using nvidia,update_fc_fixup; in the device tree, when the link is not running at full speed and full width?
After looking into the data, which is seen by the FPGA. We noticed, that the Jetson module is sending the PCIe compliance pattern for 8b/10b.
What could be the reason for this? Is there some entry in the device tree, which could lead to such a behavior? Or some levels on some pins of the module?
Is it possible to readout via register, if the PCIe complex of the Jetson module is sending out the compliance pattern?
->Dump PCIE_RP_APPL_DEBUG_0 register, refer to TRM for register address of each controller. Accessing the controller’s address, which is not enabled, will cause a CBB power down error. When you share this information in NVIDIA developer forum, it will help us determine the LTSSM state.
I found a register (0xd0), which has the current state of the LTSSM in it. But the encoding of this bitfield is not given in the TRM. Is it possible, that you share this encoding with us?
I am not sure about the “encoding” means here. Could you clarify? Are you saying the detail info of this register?