Intel IXP400 I2C Driver IxI2cDrv Slave-Interrupt Mode, Slave-Polling Mode, Support Functions

Models: IXP400

1 364
Download 364 pages 16.67 Kb
Page 335
Image 335

Intel® IXP400 Software

I2C Driver (IxI2cDrv)

Slave-Interrupt Mode

When the processor is acting in I2C slave mode or responding to general calls in interrupt mode, the client callbacks for transmit and receive are responsible for providing a buffer used to interface with the I2C Data Buffer Register (IDBR), using the ixI2cDrvSlaveOrGenCallBufReplenish() function.

Examples of Slave Interrupt mode operations is provided in “Example Sequence Flows for Slave Mode” on page 336.

Slave-Polling Mode

In polling mode, the client polling task can check for pending requests to respond to slave request or general calls using the ixI2cDrvSlaveAddrAndGenCallDetectedCheck() function. The client can then use the ixI2cDrvSlaveOrGenDataReceive() or ixI2cDrvSlaveOrGenDataTransmit() functions to transfer data.

Support Functions

After the I2C unit has been initialized as described above, there are several supporting functions available in the API. These include functions that set the 7-bit Slave address to which the I2C Unit responds, scan the I2C bus for slave units, check or reset port statistics, and show the current status of the I2C unit and driver. The API can also uninitialize the I2C unit and remove the driver from memory.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

335

Page 335
Image 335
Intel IXP400 manual I2C Driver IxI2cDrv Slave-Interrupt Mode, Slave-Polling Mode, Support Functions