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.

如何对C6678的PCIESS进行local reset

求教:

        我们的项目在测试CPU板通过PCIE带多个做EP的C6678,但现在上电后总是不能扫到全部。观察到被扫描到的6678的LTSSM_EN=1,反之为0,查到这样一段内容:当link down时,PCIESS通过置LTSSM_EN=0来禁止LTSSM,使LTSSM进入detect quiet状态。从而不能正常通信。

        解除的唯一办法是软件向PCIESS发出local reset,以re-init整个PCIESS。

        我想知道:

        1、LTSSM_EN=0是导致C6678无法被CPU枚举到的原因吗?

         2、软件是在CPU枚举前还是枚举后发reset才有用呢?

         3、这个reset如何发出?是设置哪个PCIE寄存器,还是使用C6678的Power sleep模块呢?

         谢谢!

  • 1) 是的

    2)RST在CPU枚举前,具体工程是:

    复位 --- 检测(静止)---检测(活动)即 RC检测到接受机,然后才是轮训和配置状态,RC开始进行枚举

    3)可以对DSP进行Hard reset,可以通过#RESET pin脚或者RSCTRL寄存器进行配置,具体你可以参考6678 datasheet table7-9(Reset type)