MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PiI2c.h File Reference

Data Structures

struct  EFI_I2C_CONTROLLER_CAPABILITIES
 
struct  EFI_I2C_DEVICE
 
struct  EFI_I2C_OPERATION
 
struct  EFI_I2C_REQUEST_PACKET
 

Macros

#define I2C_ADDRESSING_10_BIT   0x80000000
 
#define I2C_FLAG_READ   0x00000001
 
#define I2C_FLAG_SMBUS_OPERATION   0x00010000
 SMBus operation. More...
 
#define I2C_FLAG_SMBUS_BLOCK   0x00020000
 
#define I2C_FLAG_SMBUS_PROCESS_CALL   0x00040000
 SMBus process call operation. More...
 
#define I2C_FLAG_SMBUS_PEC   0x00080000
 

Detailed Description

Include file matches things in PI.

Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
PI Version 1.3

Macro Definition Documentation

#define I2C_ADDRESSING_10_BIT   0x80000000

A 10-bit slave address is or'ed with the following value enabling the I2C protocol stack to address the duplicated address space between 0

#define I2C_FLAG_READ   0x00000001

Define the I2C flags

I2C read operation when set

#define I2C_FLAG_SMBUS_BLOCK   0x00020000

SMBus block operation The flag I2C_FLAG_SMBUS_BLOCK causes the I2C master protocol to update the LengthInBytes field of the operation in the request packet with the actual number of bytes read or written. These values are only valid when the entire I2C transaction is successful. This flag also changes the LengthInBytes meaning to be: A maximum of LengthInBytes is to be read from the device. The first byte read contains the number of bytes remaining to be read, plus an optional PEC value.

#define I2C_FLAG_SMBUS_OPERATION   0x00010000

SMBus operation.

Define the flags for SMBus operation

The following flags are also present in only the first I2C operation and are ignored when present in other operations. These flags describe a particular SMB transaction as shown in the following table.

#define I2C_FLAG_SMBUS_PEC   0x00080000

SMBus use packet error code (PEC) Note that the I2C master protocol may clear the I2C_FLAG_SMBUS_PEC bit to indicate that the PEC value was checked by the hardware and is not appended to the returned read data.

#define I2C_FLAG_SMBUS_PROCESS_CALL   0x00040000

SMBus process call operation.