EFI_I2C_OPERATION Struct Reference


Data Fields

UINT32 Flags
UINT32 LengthInBytes
UINT8Buffer

Detailed Description

QuickRead: OperationCount=1, LengthInBytes=0, Flags=I2C_FLAG_READ QuickWrite: OperationCount=1, LengthInBytes=0, Flags=0

ReceiveByte: OperationCount=1, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_READ ReceiveByte+PEC: OperationCount=1, LengthInBytes=2, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_READ | I2C_FLAG_SMBUS_PEC

SendByte: OperationCount=1, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION SendByte+PEC: OperationCount=1, LengthInBytes=2, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PEC

ReadDataByte: OperationCount=2, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION LengthInBytes=1, Flags=I2C_FLAG_READ ReadDataByte+PEC: OperationCount=2, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PEC LengthInBytes=2, Flags=I2C_FLAG_READ

WriteDataByte: OperationCount=1, LengthInBytes=2, Flags=I2C_FLAG_SMBUS_OPERATION WriteDataByte+PEC: OperationCount=1, LengthInBytes=3, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PEC

ReadDataWord: OperationCount=2, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION LengthInBytes=2, Flags=I2C_FLAG_READ ReadDataWord+PEC: OperationCount=2, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PEC LengthInBytes=3, Flags=I2C_FLAG_READ

WriteDataWord: OperationCount=1, LengthInBytes=3, Flags=I2C_FLAG_SMBUS_OPERATION WriteDataWord+PEC: OperationCount=1, LengthInBytes=4, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PEC

ReadBlock: OperationCount=2, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_BLOCK LengthInBytes=33, Flags=I2C_FLAG_READ ReadBlock+PEC: OperationCount=2, LengthInBytes=1, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_BLOCK | I2C_FLAG_SMBUS_PEC LengthInBytes=34, Flags=I2C_FLAG_READ

WriteBlock: OperationCount=1, LengthInBytes=N+2, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_BLOCK WriteBlock+PEC: OperationCount=1, LengthInBytes=N+3, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_BLOCK | I2C_FLAG_SMBUS_PEC

ProcessCall: OperationCount=2, LengthInBytes=3, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PROCESS_CALL LengthInBytes=2, Flags=I2C_FLAG_READ ProcessCall+PEC: OperationCount=2, LengthInBytes=3, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PROCESS_CALL | I2C_FLAG_SMBUS_PEC LengthInBytes=3, Flags=I2C_FLAG_READ

BlkProcessCall: OperationCount=2, LengthInBytes=N+2, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PROCESS_CALL | I2C_FLAG_SMBUS_BLOCK LengthInBytes=33, Flags=I2C_FLAG_READ BlkProcessCall+PEC: OperationCount=2, LengthInBytes=N+2, Flags=I2C_FLAG_SMBUS_OPERATION | I2C_FLAG_SMBUS_PROCESS_CALL | I2C_FLAG_SMBUS_BLOCK | I2C_FLAG_SMBUS_PEC LengthInBytes=34, Flags=I2C_FLAG_READ I2C device operation

The EFI_I2C_OPERATION describes a subset of an I2C transaction in which the I2C controller is either sending or receiving bytes from the bus. Some transactions will consist of a single operation while others will be two or more.

Note: Some I2C controllers do not support read or write ping (address only) operation and will return EFI_UNSUPPORTED status when these operations are requested.

Note: I2C controllers which do not support complex transactions requiring multiple repeated start bits return EFI_UNSUPPORTED without processing any of the transaction.


Field Documentation

Pointer to a buffer containing the data to send or to receive from the I2C device. The Buffer must be at least LengthInBytes in size.

Flags to qualify the I2C operation.

Number of bytes to send to or receive from the I2C device. A ping (address only byte/bytes) is indicated by setting the LengthInBytes to zero.


Generated on Wed Sep 23 16:24:27 2015 for MdePkg[ALL] by  doxygen 1.5.7.1