RTEMS 6.3
Loading...
Searching...
No Matches

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.
#define I2C_M_RD   0x0001
 I2C message flag to indicate a read transfer (from slave to master).
#define I2C_M_STOP   0x8000
 I2C message flag to signal a stop condition even if this is not the last message.
#define I2C_M_NOSTART   0x4000
 I2C message flag to omit start condition and slave address.
#define I2C_M_REV_DIR_ADDR   0x2000
 I2C message flag to reverse the direction flag.
#define I2C_M_IGNORE_NAK   0x1000
 I2C message flag to ignore a non-acknowledge.
#define I2C_M_NO_RD_ACK   0x0800
 I2C message flag to omit a master acknowledge/non-acknowledge in a read transfer.
#define I2C_M_RECV_LEN   0x0400
 I2C message flag to indicate that the message data length is the first received byte.
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.