Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
I
2
C Driver (IxI2cDrv)
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 333
26.3.3 Error Handling
The I
2
C driver is capable of detecting all errors that the I
2
C hardware is able to provide as listed
below:
Arbitration loss error
Bus error
Any errors that occur during data transfer which do not fall into the arbitration loss or bus error
categories will be classified as a master transfer error (IX_I2C_MASTER_XFER_ERROR)
.
26.3.3.1 Arbitration Loss Error
This error occurs when the I
2
C hardware of the IXP46X network processors loses master control
while it is acting as master. Arbitration loss happens when the unit as master sends a high signal but
another master sends a low. The occurrence of two masters on the bus can happen when one I
2
C
unit does not see another I
2
C unit’s START signal to take master of the bus and then sends it own
START signal to take master of the bus. Such an occurrence can happen when an I
2
C unit just
exited reset and has no history of previous signals. When this occurs, the I
2
C status register will be
updated with the arbitration loss by the hardware, and if the interrupt for arbitration loss is enabled,
then it will call the interrupt service routine.
Figure 109. I
2
C Driver Dependencies
B4374-01
Access-Layer Interface
Hardware Interface
Client Application
IxOSAL
I
2
C Driver
(Algorithm Module )
I
2
C Interface
I
2
C Adapter
Module
VxWorks*
Linux*