Part Number: TMS320C6678
Hi, Experts:
we have boards based on C6678+Xilin kintex7, 6678 and K7 connected with SRIO. The program work fine for years, use SRIO port0 4x mode, and four lane setup ok.
Recently, 4x setup failed when some code (SRIO-Configuration-independent) changed.
For example, 4x setup fail when the following code in evm_init()
platform _write_configure(PLATFORM_WRITE_UART);
changed to
platform _write_configure(PLATFORM_WRITE_ALL); or platform _write_configure(PLATFORM_WRITE_PRINTF);
Value of LANEn_STAT0 reg(addr 0x0290E010, 0E030, 0E050, 0E070):
when ok when 4x fail(lane1 & lane 3 not sync)
LANE0, 0x00007008
LANE1, 0x00107008 0x00104F08
LANE2, 0x00207008
LANE3, 0x00307008 0x00304F08
whenn 4x ok, lane0 and lane3 DspTx signal waveform , Sync & Skip(k28.5 k29.7) data pattern can be found
whenn 4x fail, lane3 and lane0 DspTx signal waveform , lane3 has active signal 400ms , then no signal (here srio discover timer value 0xf), (if srio discover timer value =0x2, signal presents for about 32ms )
when waveform of lane3 expanded, k28.5 k29.7 data pattern can be found , and the siganl qualitity looks fine
[development tools: ccsv5.2(c6000_7.4.0 compiler), bios_6_33_06_50, mcsdk , pdk_c6678_1_1_2_5,xdctools_3_23_4_60 ... ]
My question:
The program was fine before, so the SRIO cfg is fine too, Now the modification of code is nothiong to do with the SRIO cfg, how this problem generated?
Is the PHY layer statemachine halt ? As the RapidIO Specification said, there should be some signal on the lane, IDLE sequence or Sync sequence

