/** @file | |
Interface Definitions for I2C Lib. | |
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> | |
This program and the accompanying materials are licensed and made available under | |
the terms and conditions of the BSD License that accompanies this distribution. | |
The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php. | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
--*/ | |
#include <Uefi.h> | |
#include <Library/IoLib.h> | |
#ifndef I2C_LIB_HEADER_H | |
#define I2C_LIB_HEADER_H | |
/** | |
Reads a Byte from I2C Device. | |
@param I2cControllerIndex I2C Bus no to which the I2C device has been connected | |
@param SlaveAddress Device Address from which the byte value has to be read | |
@param Offset Offset from which the data has to be read | |
@param ReadBytes Number of bytes to be read | |
@param *ReadBuffer Address to which the value read has to be stored | |
@return EFI_SUCCESS If the byte value has been successfully read | |
@return EFI_DEVICE_ERROR Operation Failed, Device Error | |
**/ | |
EFI_STATUS | |
ByteReadI2C( | |
IN UINT8 BusNo, | |
IN UINT8 SlaveAddress, | |
IN UINT8 Offset, | |
IN UINTN ReadBytes, | |
OUT UINT8 *ReadBuffer | |
); | |
/** | |
Writes a Byte to I2C Device. | |
@param I2cControllerIndex I2C Bus no to which the I2C device has been connected | |
@param SlaveAddress Device Address from which the byte value has to be written | |
@param Offset Offset from which the data has to be written | |
@param WriteBytes Number of bytes to be written | |
@param *Byte Address to which the value written is stored | |
@return EFI_SUCCESS If the byte value has been successfully read | |
@return EFI_DEVICE_ERROR Operation Failed, Device Error | |
**/ | |
EFI_STATUS ByteWriteI2C( | |
IN UINT8 BusNo, | |
IN UINT8 SlaveAddress, | |
IN UINT8 Offset, | |
IN UINTN WriteBytes, | |
IN UINT8 *WriteBuffer | |
); | |
#endif |