SBAA637 June 2024 AFE7900 , AFE7901 , AFE7903 , AFE7906 , AFE7950 , AFE7950-SP , AFE7951 , AFE7953 , AFE7954 , AFE7955 , AFE7958
During JESD Linkup we check for Serdes and JESD linkup and error status. Below is list read check done during bring-up.
[3:0] = TIED to 0
[4] = JESD shorttest alarm
[5] = TIED to 0
[6] = serdesab_pll_loss_of_lock
[7] = serdescd_pll_loss_of_lock
[0] = SRX1 LOS indicator
[1] = SRX2 LOS indicator
[2] = SRX3 LOS indicator
[3] = SRX4 LOS indicator
[4] = SRX1 Serdes-FIFO error
[5] = SRX2 Serdes-FIFO error
[6] = SRX3 Serdes-FIFO error
[7] = SRX4 Serdes-FIFO error
TIED to 0
[3:0] = TIED to 0
[4] = JESDB: Lane0 Frame-Sync error (Ctrl-K in middle of data) JESDC: Lane0 Fixed ones error
[5] = JESDB: Lane1 Frame-Sync error (Ctrl-K in middle of data) JESDC: Lane1 Fixed ones error
[6] = JESDB: Lane2 Frame-Sync error (Ctrl-K in middle of data) JESDC: Lane2 Fixed ones error
[7] = JESDB: Lane3 Frame-Sync error (Ctrl-K in middle of data) JESDC: Lane3 Fixed ones error
Below is lane error for JESD 204B protocol for lane 0:
bit7 = JESDB: multiframe alignment error
bit6 = JESDB: frame alignment error
bit5 = JESDB: link configuration error
bit4 = JESDB: elastic buffer overflow (bad RBD value)
bit3 = JESDB: elastic buffer match error. The first non-/K/ does not match 'match_ctrl' and 'match_data' programmed values
bit2 = JESDB: code synchronization error
bit1 = JESDB: 8b/10b not-in-table code error
bit0 = JESDB: 8b/10b disparity error
If we use JESD 204C protocol, below is the lane error mapped to for lane 0:
bit7 = JESDC: EoEMB alignment error
bit6 = JESDC: EoMB alignment error
bit5 = JESDC: cmd-data in crc mode not matching with spi register bits
bit4 = JESDC: elastic buffer overflow (bad RBD value)
bit3 = JESDC: TIED to 0. bit2 = JESDC: extended multiblock alignment error
bit1 = JESDC: sync-header invalid error ('11' or '00' received in expected sync header location)
bit0 = JESDC: sync-header CRC error
Same as above lane error mapping for JESD lane 1
Same as above lane error mapping for JESD lane 2
Same as above lane error mapping for JESD lane 2
JESDB: comma_align_lock_lane[0:3]monitor_flag
JESDC: sync_header_align_lock_lane[0:3]monitor_flag
JESDB: CS_STATE value
JESDC: EMB_STATE value
bits(1:0) = Lane0
bits(3:2) = Lane1
bits(5:4) = Lane2
bits(7:6) = Lane3
For stable link, the bits for each lane enabled can read as "10"
JESDB: FS_STATE value
bits(1:0) = Lane0
bits(3:2) = Lane1
bits(5:4) = Lane2
bits(7:6) = Lane3
For stable link, the bits for each lane enabled can read as "01"
JESDB/C: ELASTIC_BUFFER_STATE value
bits(1:0) = Lane0
bits(3:2) = Lane1
bits(5:4) = Lane2
bits(7:6) = Lane3
For stable link, the bits for each lane enabled can read as "11".
Same registers are read check for second instance of JESD, that is JESD Lane4, 5, 6, 7