DisplayPort接收器通用寄存器位因RX最大通道计数小于4而损坏-Altera-Intel社区-FPGA CPLD-ChipDebug

DisplayPort接收器通用寄存器位因RX最大通道计数小于4而损坏

将RX最大通道数(RX_MAX_LANE_COUNT)配置为2或1时,DisplayPort接收器通用寄存器地址0x0001( DPRX_RX_STATUS )会损坏。

DPRX_RX_STATUS定义:

  • Bit16:SYNC_LOSS
  • Bit7:SYM_LOCK Lane3
  • Bit6:SYM_LOCK Lane2
  • Bit5:SYM_LOCK Lane1
  • Bit4:SYM_LOCK Lane0
  • Bit3:CR_DONE Lane3
  • Bit2:CR_DONE Lane2
  • 位1:CR_DONE Lane1
  • Bit0:CR_DONE Lane0

但是,将RX最大通道数配置为2或1时,寄存器位定义会移位。

此问题导致RX内核在AUX_GPU模式下失败链路训练,因为软件API由于位的移位而无法检测到SYM_LOCK。

解决/修复方法

要解决此问题,请设置软件API以检测已移位的DPRX_RX_STATUS定义:

如果RX_MAX_LANE_COUNT = 4(遵循标准定义)

  • Bit16:SYNC_LOSS
  • Bit7:SYM_LOCK Lane3
  • Bit6:SYM_LOCK Lane2
  • Bit5:SYM_LOCK Lane1
  • Bit4:SYM_LOCK Lane0
  • Bit3:CR_DONE Lane3
  • Bit2:CR_DONE Lane2
  • 位1:CR_DONE Lane1
  • Bit0:CR_DONE Lane0

如果RX_MAX_LANE_COUNT = 2

  • Bit12:SYNC_LOSS
  • Bit3:SYM_LOCK Lane1
  • Bit2:SYM_LOCK Lane0
  • 位1:CR_DONE Lane1
  • Bit0:CR_DONE Lane0

如果RX_MAX_LANE_COUNT = 1

  • Bit10:SYNC_LOSS
  • Bit1:SYM_LOCK Lane0
  • Bit0:CR_DONE Lane0

此问题已在DisplayPort IP内核的16.0 Update 1版中得到修复。

请登录后发表评论

    没有回复内容