+++ /dev/null
-/** @file\r
-\r
-Intel I2C library implementation built upon I/O library\r
-\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef _I2C_LIB_H_\r
-#define _I2C_LIB_H_\r
-\r
-#include "I2cRegs.h"\r
-\r
-/**\r
-\r
- The I2cWriteByte() function is a wrapper function for the WriteByte() function.\r
- Provides a standard way to execute a standard single byte write to an IC2 device\r
- (without accessing sub-addresses), as defined in the I2C Specification.\r
-\r
- @param SlaveAddress The I2C slave address of the device\r
- with which to communicate.\r
-\r
- @param AddrMode I2C Addressing Mode: 7-bit or 10-bit address.\r
-\r
- @param Buffer Contains the value of byte data to execute to the\r
- I2C slave device.\r
-\r
-\r
- @retval EFI_SUCCESS Transfer success.\r
- @retval EFI_INVALID_PARAMETER This or Buffer pointers are invalid.\r
- @retval EFI_TIMEOUT Timeout while waiting xfer.\r
- @retval EFI_ABORTED Controller aborted xfer.\r
- @retval EFI_DEVICE_ERROR Device error detected by controller.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-I2cWriteByte (\r
- IN EFI_I2C_DEVICE_ADDRESS SlaveAddress,\r
- IN EFI_I2C_ADDR_MODE AddrMode,\r
- IN OUT VOID *Buffer\r
- );\r
-\r
-/**\r
-\r
- The I2cReadByte() function is a wrapper function for the ReadByte() function.\r
- Provides a standard way to execute a standard single byte read to an I2C device\r
- (without accessing sub-addresses), as defined in the I2C Specification.\r
-\r
- @param SlaveAddress The I2C slave address of the device\r
- with which to communicate.\r
-\r
- @param AddrMode I2C Addressing Mode: 7-bit or 10-bit address.\r
-\r
- @param Buffer Contains the value of byte data read from the\r
- I2C slave device.\r
-\r
-\r
- @retval EFI_SUCCESS Transfer success.\r
- @retval EFI_INVALID_PARAMETER This or Buffer pointers are invalid.\r
- @retval EFI_TIMEOUT Timeout while waiting xfer.\r
- @retval EFI_ABORTED Controller aborted xfer.\r
- @retval EFI_DEVICE_ERROR Device error detected by controller.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-I2cReadByte (\r
- IN EFI_I2C_DEVICE_ADDRESS SlaveAddress,\r
- IN EFI_I2C_ADDR_MODE AddrMode,\r
- IN OUT VOID *Buffer\r
- );\r
-\r
-/**\r
-\r
- The I2cWriteMultipleByte() function is a wrapper function for the WriteMultipleByte()\r
- function. Provides a standard way to execute multiple byte writes to an I2C device (e.g. when\r
- accessing sub-addresses or writing block of data), as defined in the I2C Specification.\r
-\r
- @param SlaveAddress The I2C slave address of the device\r
- with which to communicate.\r
-\r
- @param AddrMode I2C Addressing Mode: 7-bit or 10-bit address.\r
-\r
- @param Length No. of bytes to be written.\r
-\r
- @param Buffer Contains the value of byte to be written to the\r
- I2C slave device.\r
-\r
- @retval EFI_SUCCESS Transfer success.\r
- @retval EFI_INVALID_PARAMETER This, Length or Buffer pointers are invalid.\r
- @retval EFI_UNSUPPORTED Unsupported input param.\r
- @retval EFI_TIMEOUT Timeout while waiting xfer.\r
- @retval EFI_ABORTED Controller aborted xfer.\r
- @retval EFI_DEVICE_ERROR Device error detected by controller.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-I2cWriteMultipleByte (\r
- IN EFI_I2C_DEVICE_ADDRESS SlaveAddress,\r
- IN EFI_I2C_ADDR_MODE AddrMode,\r
- IN UINTN *Length,\r
- IN OUT VOID *Buffer\r
- );\r
-\r
-/**\r
-\r
- The I2cReadMultipleByte() function is a wrapper function for the ReadMultipleByte\r
- function. Provides a standard way to execute multiple byte writes to an IC2 device\r
- (e.g. when accessing sub-addresses or when reading block of data), as defined\r
- in the I2C Specification (I2C combined write/read protocol).\r
-\r
- @param SlaveAddress The I2C slave address of the device\r
- with which to communicate.\r
-\r
- @param AddrMode I2C Addressing Mode: 7-bit or 10-bit address.\r
-\r
- @param WriteLength No. of bytes to be written. In this case data\r
- written typically contains sub-address or sub-addresses\r
- in Hi-Lo format, that need to be read (I2C combined\r
- write/read protocol).\r
-\r
- @param ReadLength No. of bytes to be read from I2C slave device.\r
- need to be read.\r
-\r
- @param Buffer Contains the value of byte data read from the\r
- I2C slave device.\r
-\r
- @retval EFI_SUCCESS Transfer success.\r
- @retval EFI_INVALID_PARAMETER This, WriteLength, ReadLength or Buffer\r
- pointers are invalid.\r
- @retval EFI_UNSUPPORTED Unsupported input param.\r
- @retval EFI_TIMEOUT Timeout while waiting xfer.\r
- @retval EFI_ABORTED Controller aborted xfer.\r
- @retval EFI_DEVICE_ERROR Device error detected by controller.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-I2cReadMultipleByte (\r
- IN EFI_I2C_DEVICE_ADDRESS SlaveAddress,\r
- IN EFI_I2C_ADDR_MODE AddrMode,\r
- IN UINTN *WriteLength,\r
- IN UINTN *ReadLength,\r
- IN OUT VOID *Buffer\r
- );\r
-\r
-#endif\r