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 1 Link Training problem on K2E EVM

Other Parts Discussed in Thread: 66AK2E05

I'm trying to bring up the PCIe 1 connection with the PCIe-to-SATA chip 88SE9182A2 on K2E EVM(https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html).

But the LTSSM alway stays between 0x02(POLL_ACTIV) and 0x06(DETECT_WAIT). I've made the SerDes configuration same as MCSDK(veriosn is 3_01_00_03) . I also connect the SATA port with an SSD with power supply.

I run the PDK example project PCIE_K2EC66BiosExampleProject with below changes, the result is same.

/**changes to pdk_keystone2_3_01_00_03/packages/ti/drv/pcie/example/sample/src/pci_sample.c**/

Add following code fragment to pciePowerCfg() before 'return pcie_RET_OK;':

#if defined(DEVICE_K2E)
  if (CSL_PSC_getPowerDomainState (18) != PSC_PDSTATE_ON) {
    /* Enable the domain */
    CSL_PSC_enablePowerDomain (18);
    /* Enable MDCTL */
    CSL_PSC_setModuleNextState (27, PSC_MODSTATE_ENABLE);
    /* Apply the domain */
    CSL_PSC_startStateTransition (18);
    /* Wait for it to finish */
    while (! CSL_PSC_isStateTransitionDone (18));
  } else {
    System_printf ("Power domain is already enabled.  You probably re-ran without device reset (which is OK)\n");
  }
#endif

Change in main():

if ((retVal = Pcie_open(0, &handle)) != pcie_RET_OK)

to

if ((retVal = Pcie_open(1, &handle)) != pcie_RET_OK)

/** end of change to pdk_keystone2_3_01_00_03/packages/ti/drv/pcie/example/sample/src/pci_sample.c**/

I also see Bit[4:3] of DEVCFG are reserved in SPRS865B(66AK2E05/2) document, but it is used to determine the working mode of PCIe 1 according to the PDK example code. Does the document need to be updated?

  • Hi,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).

    We are working on you post. We will get back to you. Thank you for your patience.

  • To test PCIE-to-SATA drive with Edison EVM:

    EVM HW changes:

    1. Remove "R510" resistor and connect "SOC_RESETFULLZ" signal from U43 IC pin# 6 to U75 IC (SATA IC) Pin# 45
    2. Need to Replace R511 and R512 with 100nF capacitor

    PDK 3.1.0.3 SW changes:

    1. Set pcieMode_e PcieModeGbl = pcie_RC_MODE;   

    2. add code to turn PSC on for PCIE port 1,  power domain 18, clock domain 27.

    3. change to if ((retVal = Pcie_open(1, &handle)) != pcie_RET_OK),

    TI's PCIE talks to the 88SE9182A2 SATA controller on EVM, with or without a HD connected, I verified that PCIE link is up in both cases.

    Note, this is only shows the PCIE link is up, you don't have PCIE driver to read/write to SATA drive. For that purpose, you need OS like Linux kernel running on ARM.

    Regards, Eric

  • Thanks for the quick reply!

    I'll try it and give the result when it's done.

    I'd also want to know whether there is a plan to revise this issue.

    If yes, when will the revised board come out?

    Best Regards,

    Guohu

  • Yes, the issue is on pre-beta (alpha) release Edison EVM (it is labelled as v1.0.2.1). The fix will be on the beta release EVM (label as v 1.0.2.2).

    Beta EVM will be released from factory to TI by 9/8. If you need one, please use the same channel you got the pre-beta EVM.

    Regards, Eric

  • Hi Eric,

    Does this issue has been fixed in EVM v1.0.2.2 now? If so I'll try to get one, thanks

    Cheers,
    Zumeng
  • Hi Zumeng,

    I've got the v1.0.2.2 board, and verified this issue was fixed in this version.

    Best Regards,

    Guohu

  • OK, thanks Guohu

    Cheers,
    Zumeng