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.
原有的工程已在am5728的dsp端初始化配置成rc端并且已成功应用;目前有个新项目使用am5708芯片,移植am5728的初始化代码到此芯片,在training训练这步读取寄存器,一直未训练成功;不知道哪里还需要配置或者有未注意到的地方?
1、am5728使用的是ccs6.13,am57xxPDK 1.0.4,arm端运行linux无pcie驱动
2、am5708使用的是ccs7.4.0,am57xxPDK 1.0.4,arm端运行linux有pcie驱动,
使用
echo 1 > /sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0/remove
卸载驱动也一样无法训练成功
int pcieWaitLinkUp(Pcie_Handle handle,int waitTime)
{
pcieRegisters_t getRegs;
memset (&getRegs, 0, sizeof(getRegs));
#ifdef PCIE_REV0_HW
pcieDebug0Reg_t ltssmStateReg;
getRegs.debug0 = <ssmStateReg;
#else
pcieTiConfDeviceCmdReg_t ltssmStateReg;
getRegs.tiConfDeviceCmd = <ssmStateReg;
#endif
memset (<ssmStateReg, 0, sizeof(ltssmStateReg));
uint8_t ltssmState = 0;
while(ltssmState != pcie_LTSSM_L0 && waitTime>0)
{
if (Pcie_readRegs (handle, pcie_LOCATION_LOCAL, &getRegs) != pcie_RET_OK)
{
PCIE_logPrintf ("Read LTSSM state failed!\n");
return 1;
}
ltssmState = ltssmStateReg.ltssmState;
// Task_sleep(1);
cycleDelay(100000);
waitTime--;
}
if(waitTime)
return 0;
return 1;
}
5708运行时,ltssmState 一直返回 3
5708、5728两个的pcie寄存器、版本等是不是有不一样的地方