/** @file Header file for GpioLib for native and Si specific usage. All function in this library is available for PEI, DXE, and SMM, Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _GPIO_NATIVE_LIB_H_ #define _GPIO_NATIVE_LIB_H_ #include /** This procedure will get number of pads for certain GPIO group @param[in] Group GPIO group number @retval Value Pad number for group If illegal group number then return 0 **/ UINT32 GpioGetPadPerGroup ( IN GPIO_GROUP Group ); /** This procedure will get number of groups @param[in] none @retval Value Group number **/ UINT32 GpioGetNumberOfGroups ( VOID ); /** This procedure will get lowest group @param[in] none @retval Value Lowest Group **/ GPIO_GROUP GpioGetLowestGroup ( VOID ); /** This procedure will get highest group @param[in] none @retval Value Highest Group **/ GPIO_GROUP GpioGetHighestGroup ( VOID ); /** This procedure will get group @param[in] GpioPad Gpio Pad @retval Value Group **/ GPIO_GROUP GpioGetGroupFromGpioPad ( IN GPIO_PAD GpioPad ); /** This procedure will get group index (0 based) from GpioPad @param[in] GpioPad Gpio Pad @retval Value Group Index **/ UINT32 GpioGetGroupIndexFromGpioPad ( IN GPIO_PAD GpioPad ); /** This procedure will get group index (0 based) from group @param[in] GpioGroup Gpio Group @retval Value Group Index **/ UINT32 GpioGetGroupIndexFromGroup ( IN GPIO_GROUP GpioGroup ); /** This procedure will get group from group index (0 based) @param[in] GroupIndex Group Index @retval GpioGroup Gpio Group **/ GPIO_GROUP GpioGetGroupFromGroupIndex ( IN UINT32 GroupIndex ); /** This procedure will get pad number (0 based) from Gpio Pad @param[in] GpioPad Gpio Pad @retval Value Pad Number **/ UINT32 GpioGetPadNumberFromGpioPad ( IN GPIO_PAD GpioPad ); /** This procedure will return GpioPad from Group and PadNumber @param[in] Group GPIO group @param[in] PadNumber GPIO PadNumber @retval GpioPad GpioPad **/ GPIO_PAD GpioGetGpioPadFromGroupAndPadNumber ( IN GPIO_GROUP Group, IN UINT32 PadNumber ); /** This procedure will return GpioPad from GroupIndex and PadNumber @param[in] GroupIndex GPIO GroupIndex @param[in] PadNumber GPIO PadNumber @retval GpioPad GpioPad **/ GPIO_PAD GpioGetGpioPadFromGroupIndexAndPadNumber ( IN UINT32 GroupIndex, IN UINT32 PadNumber ); #endif // _GPIO_NATIVE_LIB_H_