Ameba-D User Manual
User Manual All information provided in this document is subject to legal disclaimers. © REALTEK 2019. All rights reserved.
270
6
TX_ABRT
R
0x0
This bit indicates if I
2
C, as an I
2
C transmitter, is unable to complete the intended actions on
the contents of the transmit FIFO. This situation can occur both as an I
2
C master or an I
2
C
slave.
When this bit is set to 1, the IC_TX_ABRT_SOURCE register indicates the reason why the
transmit abort takes places.
5
RD_REQ
R
0x0
This bit is set to 1 when I
2
C is acting as a slave and another I
2
C master is attempting to read
data from I
2
C. The I
2
C holds the I
2
C bus in a wait state (SCL=0) until this interrupt is serviced,
which means that the slave has been addressed by a remote master that is asking for data to
be transferred. The processor must respond to this interrupt and then write the requested
data to the IC_DATA_CMD register. This bit is set to 0 just after the processor reads the
IC_CLR_RD_REQ register.
4
TX_EMPTY
R
0x0
This bit is set to 1 when the transmit buffer is at or below the threshold value set in the
IC_TX_TL register. It is automatically cleared by hardware when the buffer level goes above
the threshold. When the IC_ENABLE bit 0 is 0, the Tx FIFO is flushed and held in reset. There
the Tx FIFO looks like it has no data within it, so this bit is set to 1, provided there is activity in
the master or slave state machines. When there is no longer activity, then with ic_en=0, this
bit is set to 0.
3
TX_OVER
R
0x0
Set during transmit if the transmit buffer is filled to IC_TX_BUFFER_DEPTH and the processor
attempts to issue another I
2
C command by writing to the IC_DATA_CMD register. When the
module is disabled, this bit keeps its level until the master or slave state machines go into
idle, and when ic_en goes to 0, this interrupt is cleared.
2
RX_FULL
R
0x0
Set when the receive buffer reaches or goes above the RX_TL threshold in the IC_RX_TL
register. It is automatically cleared by hardware when buffer level goes below the threshold.
If the module is disabled (IC_ENABLE[0]=0), the Rx FIFO is flushed and held in reset; therefore
the Rx FIFO is not full. So this bit is cleared once the IC_ENABLE bit 0 is programmed with a 0,
regardless of the activity that continues.
1
RX_OVER
R
0x0
Set if the receive buffer is completely filled to IC_RX_BUFFER_DEPTH and an additional byte
is received from an external I
2
C device. The I
2
C acknowledges this, but any data bytes
received after the FIFO is full are lost. If the module is disabled (IC_ENABLE[0]=0), this bit
keeps its level until the master or slave state machines go into idle, and when ic_en goes to
0, this interrupt is cleared.
0
RX_UNDER
R
0x0
Set if the processor attempts to read the receive buffer when it is empty by reading from the
IC_DATA_CMD register. If the module is disabled (IC_ENABLE[0]=0), this bit keeps its level
until the master or slave state machines go into idle, and when ic_en goes to 0, this interrupt
is cleared.
13.3.2.15
IC_RX_TL
Name
: I
2
C Receive FIFO Threshold Register
Size:
32 bits
Address offset
: 0x38
Read/write access
: read/write
31
30
29
…
10
9
8
7
6
5
…
2
1
0
RSVD
RX_TL
R/W
Bit
Name
Access Reset Description
31:8
RSVD
N/A
-
Reserved
7:0
RX_TL
R/W
0x0
Receive FIFO Threshold Level
Controls the level of entries (or above) that triggers the
RX_FULL
interrupt (bit 2 in
IC_RAW_INTR_STAT register). The valid range is 0-255, with the additional restriction that
hardware does not allow this value to be set to a value larger than the depth of the buffer. If an
attempt is made to do that, the actual value set will be the maximum depth of the buffer.
A value of 0 sets the threshold for 1 entry, and a value of 255 sets the threshold for 256 entries.
Realtek confidential files
The document authorized to
SZ99iot
2019-05-15 10:08:03