TI中文支持网
TI专业的中文技术问题搜集分享网站

SRIO 的中断、Port 修复等问题

一、配置问题

RIO_HOST_BASE_ID_LOCK是不是要设置成跟 RIO_BASE_ID一样的值?

BBR的设置?

我配置的是X4模式,那么TX的bit 20这位是必须Port 0设置1其他设为0?我将所所有Port的TX的bit 20都设为1有关系吗?

二、ERROR中断问题

手册中提到SP(n)_ERR_DET反应的是物理层error,ERR_DET反应的是逻辑层error,那SP(n)_ERR_STAT反应的是也是物理层error?SP(n)_ERR_DET和SP(n)_ERR_STAT这两什么关系吗?

上面三个寄存器的error都会反应在ERR_RST_EVET_ICSR中来产生中断吗?是不是逻辑层error出现的话就会设置ERR_RST_EVET_ICSR[2]为1,各个Port的物理层error会将ERR_RST_EVET_ICSR[8:11]的相应位置1?

三、关于Port修复

我的板子是四片6678通过SWITCH 互相,对于switch可以在各个Port的0x158寄存器显示该Port有错误时,可以修复该Port,那么DSP的Port是不是在SP(n)_ERR_STAT不等于0X2(比如SP(0)_ERR_STAT=0x2002)时也可以对该Port进行修复?修复是不是复位即可?

在SRIO的程序中有keystone_srio_soft_reset(),该函数应该是对整个SRIO进行复位的,如果仅对某个Port进行复位是不是不可直接调用该函数?另外不明白的是复位后是不是不能直接就进行SRIO通信,还必须重新初始化呢?

问题比较多,谢谢回答!

Shine:

1. Host Base Device ID是host ID,区分多个host,请参考下面的帖子。
e2e.ti.com/…/11739

2. SP(n)_ERR_DET是数据传输时硬件检测到的错误信息。SP(n)_ERR_STAT寄存器既包含了一些Extensions error信息也包含了一下port状态信息。两个寄存器是互相独立的,具体可以看一下下面的SRIO error spec.
www.rapidio.org/…/errspec.pdf

3. 对SRIO口复位后需要重新初始化。

user4461033:

回复 Shine:

如果DSP Port SP(n)_ERR_STAT不是0x2,可以通过对该Port复位来修复吗?只对一个Port复位的话是不是不能调用keystone_srio_soft_reset()?

Shine:

回复 user4461033:

PLM_SP(n)_IMP_SPEC_CTL寄存器里的SOFT_RST_PORT位可以用来复位port。

赞(0)
未经允许不得转载:TI中文支持网 » SRIO 的中断、Port 修复等问题
分享到: 更多 (0)