RTEMS  5.0.0
Data Structures | Macros

RTEMS Port of Linux I2C API. More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  i2c_msg
 I2C transfer message. More...
 
union  i2c_smbus_data
 SMBus data. More...
 

Macros

#define I2C_SMBUS_BLOCK_MAX   32
 Maximum SMBus data block count.
 
I2C Message Flags
#define I2C_M_TEN   0x0010
 I2C message flag to indicate a 10-bit address. More...
 
#define I2C_M_RD   0x0001
 I2C message flag to indicate a read transfer (from slave to master). More...
 
#define I2C_M_STOP   0x8000
 I2C message flag to signal a stop condition even if this is not the last message. More...
 
#define I2C_M_NOSTART   0x4000
 I2C message flag to omit start condition and slave address. More...
 
#define I2C_M_REV_DIR_ADDR   0x2000
 I2C message flag to reverse the direction flag. More...
 
#define I2C_M_IGNORE_NAK   0x1000
 I2C message flag to ignore a non-acknowledge. More...
 
#define I2C_M_NO_RD_ACK   0x0800
 I2C message flag to omit a master acknowledge/non-acknowledge in a read transfer. More...
 
#define I2C_M_RECV_LEN   0x0400
 I2C message flag to indicate that the message data length is the first received byte. More...
 
I2C Controller Functionality
#define I2C_FUNC_I2C   0x00000001
 
#define I2C_FUNC_10BIT_ADDR   0x00000002
 
#define I2C_FUNC_PROTOCOL_MANGLING   0x00000004
 
#define I2C_FUNC_SMBUS_PEC   0x00000008
 
#define I2C_FUNC_NOSTART   0x00000010
 
#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL   0x00008000
 
#define I2C_FUNC_SMBUS_QUICK   0x00010000
 
#define I2C_FUNC_SMBUS_READ_BYTE   0x00020000
 
#define I2C_FUNC_SMBUS_WRITE_BYTE   0x00040000
 
#define I2C_FUNC_SMBUS_READ_BYTE_DATA   0x00080000
 
#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA   0x00100000
 
#define I2C_FUNC_SMBUS_READ_WORD_DATA   0x00200000
 
#define I2C_FUNC_SMBUS_WRITE_WORD_DATA   0x00400000
 
#define I2C_FUNC_SMBUS_PROC_CALL   0x00800000
 
#define I2C_FUNC_SMBUS_READ_BLOCK_DATA   0x01000000
 
#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA   0x02000000
 
#define I2C_FUNC_SMBUS_READ_I2C_BLOCK   0x04000000
 
#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK   0x08000000
 
#define I2C_FUNC_SMBUS_BYTE   (I2C_FUNC_SMBUS_READ_BYTE | I2C_FUNC_SMBUS_WRITE_BYTE)
 
#define I2C_FUNC_SMBUS_BYTE_DATA   (I2C_FUNC_SMBUS_READ_BYTE_DATA | I2C_FUNC_SMBUS_WRITE_BYTE_DATA)
 
#define I2C_FUNC_SMBUS_WORD_DATA   (I2C_FUNC_SMBUS_READ_WORD_DATA | I2C_FUNC_SMBUS_WRITE_WORD_DATA)
 
#define I2C_FUNC_SMBUS_BLOCK_DATA   (I2C_FUNC_SMBUS_READ_BLOCK_DATA | I2C_FUNC_SMBUS_WRITE_BLOCK_DATA)
 
#define I2C_FUNC_SMBUS_I2C_BLOCK   (I2C_FUNC_SMBUS_READ_I2C_BLOCK | I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)
 
#define I2C_FUNC_SMBUS_EMUL
 
SMBus Transfer Read and Write Markers
#define I2C_SMBUS_READ   1
 
#define I2C_SMBUS_WRITE   0
 
SMBus Transaction Types
#define I2C_SMBUS_QUICK   0
 
#define I2C_SMBUS_BYTE   1
 
#define I2C_SMBUS_BYTE_DATA   2
 
#define I2C_SMBUS_WORD_DATA   3
 
#define I2C_SMBUS_PROC_CALL   4
 
#define I2C_SMBUS_BLOCK_DATA   5
 
#define I2C_SMBUS_I2C_BLOCK_BROKEN   6
 
#define I2C_SMBUS_BLOCK_PROC_CALL   7
 
#define I2C_SMBUS_I2C_BLOCK_DATA   8
 

Detailed Description

RTEMS Port of Linux I2C API.