RTEMS: cpukit/include/linux/i2c.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros
i2c.h File Reference
Device Drivers » Inter-Integrated Circuit (I2C) Driver » Linux I2C User-Space API

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.