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.

AM6442: PCIe End-Point 120ms boot-up time requirement for link training and enumeration

Part Number: AM6442

Hello,

I want to create a PCIe card with the AM6442 as a co-processor in end-point mode to an x86/64 host processor.

According to PCIe specifications, a PCIe end-point device must be ready for link-training after a maximum of 20ms after deassertion of PCIe reset by the host. PCIe reset must be asserted by the host for a minimum of 100ms after Power-Good. This means that the AM64xx must be ready for link-training after a maximum of 120ms after power-good.

I was looking into all available documentation and user guides for the AM64xx devices regarding end-point mode as well as the description in the latest SDK. Unfortunately, I can't find anything regarding link-training and boot-up time in EP mode.

As far as I understand, configuration of the EP is only happening during Linux boot of the AM64xx which means that the 120ms requirement for PCIe link-training is not met.
Is it actually possible to create a PCIe card with the AM64xx in EP mode which is keeping this 120ms boot-up requirement? If yes, how can this be achieved?

Thank you very much in advance!

Greetings

Stefan

  • Stefan,

    I don't have this available to me so I'll need to track it down. This may take a few days.

    AM64xx does support PCIe EP boot mode, so I wouldn't be surprised to find that it can link train in the specified time, at least when booting from PCIe.

  • Stefan,

    After reviewing the available data, PCIe EP boot mode (from ROM) does appear to meet the 120ms link training timing requirement. We do not have data for Linux (or other OS) link training timing.

  • Hello,

    Thank you for your reply!

    So which options do we have to design a PCIe compliant add-in card based on the AM64xx if we want to also use/boot Linux from OSPI Flash?

    Can we select PCIe Boot-Mode to meet the 120ms link training requirement and have the AM64xx recognized by the host/root-port and than, without interrupting the PCIe functionality (so keeping BAR configuration etc. unchanged), continue booting Linux from OSPI? I assume we would have to load a small additional "bootloader" via PCIe from the host to the AM64xx to boot linux from OSPI?

    Are there examples available on how to transfer software from the host to the AM64xx in PCIe Boot-Mode?

    Thank you in advance!

    Greetings

    Stefan