summaryrefslogtreecommitdiffstats
path: root/Vlv2TbltDevicePkg/Include
diff options
context:
space:
mode:
authorDavid Wei <david.wei@intel.com>2015-06-02 01:47:57 +0000
committerzwei4 <zwei4@Edk2>2015-06-02 01:47:57 +0000
commit4e5220964b7108bbc9f731b326680e865aa63560 (patch)
tree9d6e583c666ef58ab8d142c4858fe1f24e76ec36 /Vlv2TbltDevicePkg/Include
parentc85bc0c9d425c04055496fd2111e12ab3471ef31 (diff)
downloadedk2-4e5220964b7108bbc9f731b326680e865aa63560.tar.gz
edk2-4e5220964b7108bbc9f731b326680e865aa63560.tar.bz2
edk2-4e5220964b7108bbc9f731b326680e865aa63560.zip
Add Sample I2C Library for Baytrail I2C Controller.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: David Wei <david.wei@intel.com> Reviewed-by: Tim He <time.he@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17546 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Vlv2TbltDevicePkg/Include')
-rw-r--r--Vlv2TbltDevicePkg/Include/Library/I2CLib.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/Vlv2TbltDevicePkg/Include/Library/I2CLib.h b/Vlv2TbltDevicePkg/Include/Library/I2CLib.h
new file mode 100644
index 0000000000..893d88519c
--- /dev/null
+++ b/Vlv2TbltDevicePkg/Include/Library/I2CLib.h
@@ -0,0 +1,64 @@
+/** @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