/** @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.<BR>
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
#ifndef _GPIO_NATIVE_LIB_H_
|
#define _GPIO_NATIVE_LIB_H_
|
|
#include <Library/GpioConfig.h>
|
|
/**
|
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_
|