Intel® IXP400 Software

I2C Driver (IxI2cDrv)

26

This chapter describes the I2C Driver provided with Intel® IXP400 Software v2.0, which is for use with the Intel® IXP46X Product Line of Network Processors.

26.1What’s New

This is a new component for software release 2.0.

26.2Introduction

The IXP46X network processors include an I2C hardware interface. This I2C driver is provided to configure and enable I2C hardware and provide a mechanism for transferring data serially through the I2C bus in both master and slave mode. Four methods of data transfer are supported by the driver: single-byte read, multi-byte read, single-byte write, and multi-byte write. The driver allows the addressing to any I2C Slave on the bus.

The capability to enable/disable the response to I2C slave address and general address calls is also provided. Transaction records/counters between the I2C hardware and other devices are tracked by the driver. The driver provides the capability to scan the bus to detect I2C slave devices and supports multiple I2C bus masters.

The driver is implemented in what is referred to as the "Algorithm Module". This module performs the configuration and control of data transfers. This component is supported on both VxWorks and Linux.

The driver interface is compatible with the standard Linux I2C device driver, and is provided separately from the IXP400 software access-layer. Since Linux does not allow direct user mode access to kernel driver functions, a separate “Adapter Module” is provided to accommodate direct access from user mode.

26.3I2C Driver API Details

26.3.1Features

The I2C driver allows the setting of different configurations for the I2C hardware, as listed below:

Mode select – fast mode (400 kbps) or normal mode (100 kbps). High Speed (3.4 Mbps) mode is not supported by hardware.

Flow Selection - Interrupt or Polling modes

Enable/disable I2C unit response to general calls

Enable/disable I2C unit response to slave address calls

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

331

Page 331
Image 331
Intel IXP400 manual 2C Driver IxI2cDrv, 26.3 I2C Driver API Details