UG-1262
Rev. B | Page 239 of 312
Bits Bit
Name
Settings
Description
Reset Access
[3:2]
SRXF
Slave Receive FIFO Status. The status is a count of the number of bytes in a FIFO.
0x0
R
00
FIFO
empty.
01
1 bytes in the FIFO.
10
2 bytes in the FIFO.
11
Reserved.
[1:0]
STXF
Slave Transmit FIFO Status. The status is a count of the number of bytes in a FIFO.
0x0
R
00
FIFO
empty.
01
1 byte in the FIFO.
10
2 bytes in the FIFO.
11
Reserved.
MASTER AND SLAVE SHARED CONTROL REGISTER
Address: 0x40003050, Reset: 0x0000, Name: SHCTL
Table 302. Bit Descriptions for SHCTL
Bits Bit
Name
Settings
Description
Reset Access
[15:1] Reserved
Reserved.
0x0000 R/W
0 RST
Reset LINEBUSY. Setting this bit resets the LINEBUSY status bit (Bit 10 in the
MSTAT register).
0x0 W
0
No
effect.
1
Reset the I
2
C start and stop detection circuits.
AUTOMATIC STRETCH CONTROL FOR MASTER AND SLAVE MODE REGISTER
Address: 0x40003058, Reset: 0x0000, Name: ASTRETCH_SCL
Table 303. Bit Descriptions for ASTRETCH_SCL
Bits Bit
Name
Settings
Description
Reset
Access
[15:10] Reserved
Reserved.
0x0 R
9
SLVTMO
Stretch Timeout Status Bit for Slave.
0x0
R
0
Cleared when this bit is read.
1
Set when slave automatic stretch mode has timed out.
8
MSTTMO
Stretch Timeout Status Bit for Master.
0x0
R
0
Cleared when this bit is read.
1
Set when master automatic stretch mode has timed out.
[7:4] SLV
Automatic Stretch Mode Control for Slave. These bits control automatic stretch mode for
slave operation. These bits allow the slave to hold the I2C_SCL line low and gain more
time to service an interrupt, load a FIFO, or read a FIFO. Use the timeout feature to avoid a
bus lockup condition where the slave indefinitely holds I2C_SCL low. As a slave
transmitter, I2C_SCL is automatically stretched from the negative edge of I2C_SCL (if the
slave transmit FIFO is empty) before sending an acknowledge or a no acknowledge for an
address byte, or before sending data for a data byte. Stretching stops when the slave
transmit FIFO is no longer empty or a timeout occurs. As a slave receiver, the I2C_SCL
clock is automatically stretched from the negative edge of I2C_SCL before sending an
acknowledge or a no acknowledge when the slave receive FIFO is full. Stretching stops
when the slave receive FIFO is no longer in an overflow condition or a timeout occurs.
0x0 R/W
0000
Automatic slave clock stretching disabled.
0001 to
1110
Automatic slave clock stretching enabled. The timeout period is defined as follows:
_
(
1)
2
/
ASTRETCH SCL[7 :4]
DIV[15 : 8]
DIV[7 : 4]
UCLK CTL1[13 : 8] CTL1[13 : 8]
Note that the I
2
C bus baud rate has no influence on the slave stretch timeout period.
1111
Automatic slave clock stretching enabled with indefinite timeout period.