![Intel IXP45X Developer'S Manual Download Page 900](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092900.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—I2C Bus Interface Unit
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
900
Order Number: 306262-004US
Register
ISR
Bits
Name
Description
Reset Value
Access
31:1
1
—
(Reserved)
000000H
—
10
Bus Error
Detected
Bus Error Detected:
0 = No error detected.
1 = The I
2
C unit sets this bit when it detects one of the following error
conditions:
• As a master transmitter, no Ack was detected on the interface
after a byte was sent.
• As a slave receiver, the I
2
C unit generates a Nack pulse.
Note:
When an error occurs, I
2
C bus transactions continue.
Software must guarantee that misplaced START and STOP
conditions do not occur. See
Section 21.5.4, “Arbitration” on
0
RW1C
09
Slave
Address
Detected
Slave Address Detected:
0 = No slave address detected.
1 = I
2
C unit detected a 7-bit address that matches the general call
address or ISAR. An interrupt is signalled when enabled in the
ICR.
0
RW1C
08
General Call
Address
Detected
General Call Address Detected:
0 = No general call address received.
1 = I
2
C unit received a general call address.
0
RW1C
07
IDBR Receive
Full
IDBR Receive Full:
0 = The IDBR has not received a new data byte or the I
2
C unit is idle.
1 = The IDBR register received a new data byte from the I
2
C bus. An
interrupt is signalled when enabled in the ICR.
0
RW1C
06
IDBR
Transmit
Empty
IDBR Transmit Empty:
0 = The data byte is still being transmitted.
1 = The I
2
C unit has finished transmitting a data byte on the I
2
C bus.
An interrupt is signalled when enabled in the ICR.
0
RW1C
05
Arbitration
Loss
Detected
Arbitration Loss Detected: used during multi-master operation.
0 = Cleared when arbitration is won or never took place.
1 = Set when the I
2
C unit loses arbitration.
0
RW1C
04
Slave STOP
Detected
Slave STOP Detected:
0 = No STOP detected.
1 = Set when the I
2
C unit detects a STOP while in slave-receive or
slave-transmit mode.
0
RW1C
03
I2C Bus Busy
I
2
C Bus Busy:
0 = I
2
C bus is idle or the I
2
C unit is using the bus (i.e., unit busy).
1 = Set when the I
2
C bus is busy but the I
2
C unit is not involved in
the transaction.
0
RO
02
Unit Busy
Unit Busy:
0 = I
2
C unit not busy.
1 = Set when the I
2
C unit is busy. This is defined as the time between
the first START and STOP.
0
RO
01
Ack/Nack
Status
Ack/Nack Status:
0 = The I
2
C unit received or sent an Ack on the bus.
1 = The I
2
C unit received or sent a Nack.
This bit is used in slave transmit mode to determine when the byte
transferred is the last one. This bit is updated after each byte and Ack/
Nack information is received.
0
RO
00
Read/Write
Mode
Read/Write Mode:
0 = The I
2
C unit is in master-transmit or slave-receive mode.
1 = The I
2
C unit is in master-receive or slave-transmit mode.
This is the R/W# bit of the slave address. It is automatically cleared by
hardware after a stop state.
0
RO