TianoCore EDK2 master
No Matches
PiI2c.h File Reference

Go to the source code of this file.

Data Structures

struct  EFI_I2C_DEVICE


#define I2C_ADDRESSING_10_BIT   0x80000000
#define I2C_FLAG_READ   0x00000001
#define I2C_FLAG_SMBUS_OPERATION   0x00010000
 SMBus operation.
#define I2C_FLAG_SMBUS_BLOCK   0x00020000
#define I2C_FLAG_SMBUS_PROCESS_CALL   0x00040000
 SMBus process call operation.
#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

Definition in file PiI2c.h.

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

Definition at line 20 of file PiI2c.h.


#define I2C_FLAG_READ   0x00000001

Define the I2C flags

I2C read operation when set

Definition at line 108 of file PiI2c.h.


#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.

Definition at line 130 of file PiI2c.h.


#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.

Definition at line 119 of file PiI2c.h.


#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.

Definition at line 140 of file PiI2c.h.


#define I2C_FLAG_SMBUS_PROCESS_CALL   0x00040000

SMBus process call operation.

Definition at line 133 of file PiI2c.h.