This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCIe Link Training stuck in Detect state

Hello everyone,

We have a custom board with 5 DSPs C6678 and 1 PCIe switch from IDT (24NT24G2).

Last year we successfully did PCIe communications between two Evaluation boards with the BreakOutCard from TI and also through a custom backplane.

Now what I'm trying to do is PCIe communications between 2 DSPs through the switch (all on a single board).

DSP A core 0 Root Complex -> switch -> DSP B core 0 Root complex.

The software to run the RC and EP is based on TI PDK PCIe sample project.
The only modification was the PLL configuration (different than the one on the EVM).

Here's what I'm doing :

- A DSP de-activate through I2C (SMbus in fact) the reset state of the PCIe switch

- The switch gets its configuration from the EEPROM which was programmed through IDT PCIe browser

- After the GEL GlobalDefaultSetup the RC and EP are initialized and start their link training.

Here's my issue :

Both RC and EP are stuck in the pcieWaitLinkUp function.

When I print the LTSSM state here's what I see for both RC and EP :

DETECT_QUIET DETECT_ACT DETECT_QUIET DETECT_ACT DETECT_QUIET DETECT_ACT

and so on. It never reaches 0x11 L0.

I don't know if it's normal that it keeps juggling between Quiet and Act in the Detect state.

What else can I check ?

Thanks,
Clement