在测试SRIO接口的时候,我将srio_1x2x4x_path_control设置为4XABCD。但发现当我把outPortID设置为1或2或3时,数据均能传输成功。可是在4XABCD模式下,不是只有port0使能了吗?
另外我发现,将srio_1x2x4x_path_control设置为1XA时,将outPortID设置为0可以进行数据传输,但是outPortID设置为1,2,3就不能进行数据传输。
将srio_1x2x4x_path_control设置为2XAB时,将outPortID设置为0,1均可以进行数据传输,但是outPortID设置为2,3就不能进行数据传输。为什么port1可以进行数据传输?
随后我在srio_1x2x4x_path_control设置为4XABCD时 人为地将bLogic_Port_EN全设置为TRUE
srio_cfg.blockEn.bLogic_Port_EN[0]= TRUE;
srio_cfg.blockEn.bLogic_Port_EN[1]= TRUE;
srio_cfg.blockEn.bLogic_Port_EN[2]= TRUE;
srio_cfg.blockEn.bLogic_Port_EN[3]= TRUE;
在SRIO初始化的时候一直停在 i=1时
if(srio_cfg->blockEn.bLogic_Port_EN[i])
{
while(0==(gpSRIO_regs->RIO_SP[i].RIO_SP_ERR_STAT&
CSL_SRIO_RIO_SP_ERR_STAT_PORT_OK_MASK));
}
这个地方。那就代表在4XABCD时只有port0 enable ok,port1 2 3都不能enable成功。说明4个lane与port0连在一起进行数据传输。可是将outPortID设置为1或2或3时,数据均能传输成功。请问我应该查看哪个寄存器可以看到到底使用的是哪个port将数据传输出去了?
