PeripheralDriver_Flagchip_F.../Inc/fc7xxx_driver_wku.h

61 lines
1.3 KiB
C

/**
* @file fc7xxx_driver_wku.h
* @author Flagchip
* @brief FC7xxx WKU driver type definition and API
* @version 0.1.0
* @date 2024-01-05
*
* @copyright Copyright (c) 2023 Flagchip Semiconductors Co., Ltd.
*
* @details
*/
#ifndef _DRIVER_FC7XXX_DRIVER_WKU_H_
#define _DRIVER_FC7XXX_DRIVER_WKU_H_
#include "HwA_wku.h"
/**
* @addtogroup fc7xxx_driver_wku
* @{
*/
/** @brief WKU return type. */
typedef enum
{
WKU_STATUS_SUCCESS = 0U,
WKU_STATUS_PARAM_INVALID = 1U
} WKU_StatusType;
/* global apis */
/**
* @brief WKU Enable wakeup source for single input
*
* @param u32Input Number of input, WKU_WakeupInputType type is wakeup source definition
* @return WKU return type
*/
WKU_StatusType WKU_EnableWakeupSource(const uint32_t u32Input);
/**
* @brief WKU Disable wakeup source for single input
*
* @param u32Input Number of input, WKU_WakeupInputType type is wakeup source definition
* @return WKU return type
*/
WKU_StatusType WKU_DisableWakeupSource(const uint32_t u32Input);
/**
* @brief WKU get wakeup source
*
* @return output wakeup source
*/
uint32_t WKU_GetWakeupSources(void);
/**
* @brief WKU Disable wakeup source for single input
*
* @param u8Delaytime The delay time is 2^(u8Delaytime+3) AON_CLK cycles
*/
void WKU_SetWakeupDelay(uint8_t u8Delaytime);
/** @}*/ /* fc7xxx_driver_wku */
#endif