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.

AM5706: Cannot connect AM5706 as PCIe End-point to the PC as PCIe Root Complex.

Part Number: AM5706
Other Parts Discussed in Thread: SYSBIOS

Hi,

 

I’ve received a question from the customer regarding PCIe connection to PC. The PCIe connection doesn’t work correctly on their own board with AM5706, so they’re now looking into this.

They’re trying to connect their own board (PCIe board) using AM5706 to a Windows PC, but it is not recognized by the device manager on the PC. Even “?” is not shown on the device manager. If the AM572x IDK is used as Root Complex, their board can be linked up with the AM572x IDK.

Do you have a sample project of AM5706 that has a track record of PCIE connection to general-purpose PCs ? If you have, could you share it with them ?

 

During it cannot be connected, the status of LTSSM is 0x3 (Polling.compliance).
Do you have any experience of connecting error with Polling.Compliance ? and do you have any idea to solve this ?
It would be helpful if you could share any information with them regarding not only AM57xx.

They're now using Processor SDK RTOS 7.3.

 

Regards, Hideaki

  • Hi,

    I suggest first check that the AM570 board is getting REFCLK and RESET from the host.

    If you do, then a common issue is that our SERDES PHY is not out of reset yet, when the PC is booting and BIOS executed. PCIe spec requires that our device must be LTSSM ready within 20ms of the PERSTn deassertion. So one possibility is that the PC already deasserted PERSTn, but our SERDES is not properly terminated.

    In the past we tried the following Linux sequence:

    echo "1" > /sys/bus/pci/devices/0000\:00\:00.0//remove
    sleep 1
    echo "1" > /sys/bus/pci/rescan

    But I am not familiar if there are similar commands under Windows.

     An hardware hack would be to terminate our SERDES RX signal pair with a 100olm resistor, to trick the PC BIOS so the card will be detected. Then remove the termination before our driver is loaded.

     Of course this is all assume that we violated PCIe spec.. So waveform capture at the beginning of the boot may be very useful if you can.

     If the waveform shows no issues, then you may also like to check if you can configure the PC to disable SSC clock. (Spread Spectrum clock)

  • Hi,

    Thank you for your answers.

    • PCIe spec requires that our device must be LTSSM ready within 20ms of the PERSTn deassertion.

    The customer could confirm that Windows PC recognized their AM5706 board via PCIe by configuring the registers directly before the DRAM initialization and SYSBIOS initialization. Thank you so much.

    How about the sample project ?

    • Do you have a sample project of AM5706 that has a track record of PCIE connection to general-purpose PCs ? If you have, could you share it with them ?

    They think that it is difficult to create the firmware for the PCIe board by referring PDK. It would be greatly appreciated if they can get the project sample in order to develop the PCIE board which is inserted in the PC slot.

    Thanks and regards,

    Hideaki

  • Hi,

    Do you have a sample project of AM5706 that has a track record of PCIE connection to general-purpose PCs ? If you have, could you share it with them ?

    We don't have any sample project that demonstrate board to PC connection.