]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/Library/I2CLib.h
893d88519c8248c077d0eac100c2c04f9763dba0
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Library / I2CLib.h
1 /** @file
2 Interface Definitions for I2C Lib.
3
4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
5
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 --*/
15
16 #include <Uefi.h>
17 #include <Library/IoLib.h>
18
19 #ifndef I2C_LIB_HEADER_H
20 #define I2C_LIB_HEADER_H
21
22
23 /**
24 Reads a Byte from I2C Device.
25
26 @param I2cControllerIndex I2C Bus no to which the I2C device has been connected
27 @param SlaveAddress Device Address from which the byte value has to be read
28 @param Offset Offset from which the data has to be read
29 @param ReadBytes Number of bytes to be read
30 @param *ReadBuffer Address to which the value read has to be stored
31
32 @return EFI_SUCCESS If the byte value has been successfully read
33 @return EFI_DEVICE_ERROR Operation Failed, Device Error
34 **/
35 EFI_STATUS
36 ByteReadI2C(
37 IN UINT8 BusNo,
38 IN UINT8 SlaveAddress,
39 IN UINT8 Offset,
40 IN UINTN ReadBytes,
41 OUT UINT8 *ReadBuffer
42 );
43
44 /**
45 Writes a Byte to I2C Device.
46
47 @param I2cControllerIndex I2C Bus no to which the I2C device has been connected
48 @param SlaveAddress Device Address from which the byte value has to be written
49 @param Offset Offset from which the data has to be written
50 @param WriteBytes Number of bytes to be written
51 @param *Byte Address to which the value written is stored
52
53 @return EFI_SUCCESS If the byte value has been successfully read
54 @return EFI_DEVICE_ERROR Operation Failed, Device Error
55 **/
56 EFI_STATUS ByteWriteI2C(
57 IN UINT8 BusNo,
58 IN UINT8 SlaveAddress,
59 IN UINT8 Offset,
60 IN UINTN WriteBytes,
61 IN UINT8 *WriteBuffer
62 );
63
64 #endif