/** @file
PEI I2C Master module
Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _PEI_I2C_MASTER_LIB_H_
#define _PEI_I2C_MASTER_LIB_H_
#include
#include
/*
Installs I2cMaster PPIs for each I2c controller.
@param[in] Controller - SerialIo controller number
@retval EFI_INVALID_PARAMETER - wrong Controller number
@retval EFI_ALREADY_STARTED - I2cMaster Ppi was already installed on given controller
@retval EFI_SUCCESS - I2cMaster Ppi succesfully installed
@retval any other return value - internal error of InstallPpi function
*/
EFI_STATUS
InstallI2cMasterPpi (
PCH_SERIAL_IO_CONTROLLER Controller
);
/*
Finds I2cMasterPpi instance for a specified controller
@param[in] Controller - SerialIo controller number
@retval NULL - couldn't locate I2cMaster Ppi for given controller
@retval not-NULL - pointer to I2cMaster Ppi
*/
EFI_PEI_I2C_MASTER_PPI*
LocateI2cMasterPpi (
PCH_SERIAL_IO_CONTROLLER Controller
);
#endif