求教:
我们的项目在测试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模块呢?
谢谢!
Thomas Yang1:
1) 是的
2)RST在CPU枚举前,具体工程是:
复位 — 检测(静止)—检测(活动)即 RC检测到接受机,然后才是轮训和配置状态,RC开始进行枚举
3)可以对DSP进行Hard reset,可以通过#RESET pin脚或者RSCTRL寄存器进行配置,具体你可以参考6678 datasheet table7-9(Reset type)