
SBSLITE Telecom Standard Product Data Sheet
Preliminary
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use
Document ID: PMC-2010883, Issue 2
199
Register 0ABH: PILC Receive Status and FIFO Synch Register
Bit
Type
Function
Default
Bit 15
R
RX_STTS_VALID
X
Bit 14:13
R
RX_LINK[1:0]
00
Bit 12:11
R
OPAGE[1:0]
00
Bit 10:8
R
OUSER[2:0]
000
Bit 7
R
CRC_ERR
0
Bit 6
R
HDR_CRC_ERR
0
Bit 5:2
R
RX_MSG_LVL[3:0]
0000
Bit 1
R
RX_FI_BUSY
0
Bit 0
R
RX_SYNC_DONE
X
Bit 0
W
RX_XFER_SYNC
0
When this register is read, it returns the status for the Receive Message Channel. When a logic
one is written into bit 0 of this register, it is used to synchronize the Receive FIFO to the start of a
message boundary or perform a message skip.
RX_XFER_SYNC
Writing a logic one to this bit initiates a read sequence from the start of the next
unread
message. The hardware aligns the message read buffer address to the start of the next
unread
message and prefetches the first Dword from the
unread
message buffer so that it is ready to
be read from the WILC Receive FIFO Data registers.
An
unread
message in this context means that the s/w has not read any of the message
payload data by reading the WILC Receive FIFO Data registers.
After the RX XFER SYNC process has been completed successive reads from the Receive
FIFO return the last Dword read from the Receive FIFO and prefetch the next Dword (when
available).
This bit must be written to a logic one at the start of a message read sequence.
When multiple complete messages are being read (software knows that there is more than one
message in the FIFO using the RX_MSG_LVL bits) this bit does not need to be written
between individual message reads. It must be written for the 1
st
message.
When software uses a variable length message protocol it may want to abandon reading a
message buffer before reading the entire message buffer of 8 DWords (16 Words). In this case
this bit must be written with a ‘1’ to move the message pointer to the start of the next message
buffer before starting the read of that buffer.
After writing this bit with a logic one software should not start reading the FIFO until the
RX_FI_BUSY bit has cleared.