/**
  ******************************************************************************
  * @file    reset_drv.h
  * @author  Product application department
  * @version V1.0
  * @date    2020.03.20
  * @brief   Header file of RESET DRV module.
  *
  ******************************************************************************
*/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __RESET_DRV_H
#define __RESET_DRV_H

#ifdef __cplusplus
extern "C"
{
#endif

/* Includes ------------------------------------------------------------------*/

#include "drv_reg.h"

#ifdef FILE_OUT
/**@defgroup DRV 3 HAL driver
  *
  *@{
  */

/** @defgroup DRV_RESET RESET
  *
  *@{
  */
#endif
/*** 宏定义 *******************************************************************/
#ifdef FILE_OUT
/** @defgroup DRV_RESET_Exported_Macros Exported Macros
  *
  * @{
  */
#endif

#define _reset_softreset                 _bit_set(RST->RCR, RESET_RCR_SOFTRST)
#define _reset_get_status                _reg_read(RST->RSR)
#define _reset_en_simcard_rst            _bit_set(RST->RCR, RESET_RCR_CRE)
#define _reset_dis_simcard_rst           _bit_clr(RST->RCR, RESET_RCR_CRE)
#define _reset_en_hfd_rst                _bit_set(RST->RCR, RESET_RCR_HFDRE)
#define _reset_dis_hfd_rst               _bit_clr(RST->RCR, RESET_RCR_HFDRE)
#define _reset_en_lfd_rst                _bit_set(RST->RCR, RESET_RCR_LFDRE)
#define _reset_dis_lfd_rst               _bit_clr(RST->RCR, RESET_RCR_LFDRE)
#define _reset_en_hvd_rst                _bit_set(RST->RCR, RESET_RCR_HVDRE)
#define _reset_dis_hvd_rst               _bit_clr(RST->RCR, RESET_RCR_HVDRE)
#define _reset_en_lvd_rst                _bit_set(RST->RCR, RESET_RCR_LVDRE)
#define _reset_dis_lvd_rst               _bit_clr(RST->RCR, RESET_RCR_LVDRE)

/**
  * @}
  */

/*** 结构体、枚举变量定义 *****************************************************/
#ifdef FILE_OUT
/** @defgroup DRV_RESET_Exported_Types Exported Types
  *
  * @{
  */
#endif


/**
  * @}
  */

/*** 全局变量声明 **************************************************************/
#ifdef FILE_OUT
/** @defgroup DRV_RESET_Exported_Variables Exported Variables
  *
  * @{
  */
#endif


/**
  * @}
  */

/*** 函数声明 ******************************************************************/
#ifdef FILE_OUT
/** @defgroup DRV_RESET_Exported_Functions Exported Functions
  * @{
  */
#endif

extern void DRV_RESET_SoftReset(void);
extern uint8_t DRV_RESET_GetStatus(void);

/**
  * @}
  */

/**
  *@}
  */

/**
  *@}
  */

#ifdef __cplusplus
}
#endif

#endif /* __RESET_DRV_H */

