Intel® IXP400 Software

I2C Driver (IxI2cDrv)

Enable/disable the driving of the SCL line

I2C slave address of the processor

The I2C driver features the following hardware and bus status items:

Master transfer error

Bus error detected

Slave address detected

General call address detected

IDBR receive full

IDBR transmit empty

Arbitration loss detected

Slave STOP detected

I2C bus busy

I2C unit busy

Received/sent status for ACK/NACK

Read/write mode (master-transmit/slave-receive or master-receive/slave-transmit)

Selectable use of internal or OS-provided delay functions.

The I2C driver supports single and multi read, single and multi write, and repeated start data transfers for both interrupt and polled mode. A repeated start data transfer is when the master sends a start instead of a stop-start to initiate the next transfer. It is different from a multi read or multi write in that it can allow a read followed by a write or vice versa. Repeated start data transfers in slave mode are not supported.

The I2C hardware does not support extended 10-bit I2C addressing; only 7-bit slave addressing is supported. The driver will allow any 7-bit slave address (0x01 to 0x7F) except 0x00, which is reserved for general calls.

26.3.2Dependencies

The I2C driver is dependent on the capability provided by the I2C hardware. Also, the driver is dependant upon IxOSAL to provide OS independency. The adapter module provides the Linux driver interface between the user-space applications and the kernel-space adapter module of the I2C driver. Therefore the adapter module is dependent on the I2C algorithm module. VxWorks uses the I2C driver directly and does not need an adapter module.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

332

Document Number: 252539, Revision: 007

 

Page 332
Image 332
Intel IXP400 manual Dependencies, I2C Driver IxI2cDrv