1 /* SPDX-License-Identifier: BSD-3-Clause */ 2 /* 3 * Copyright (c) 2020-2021 Rockchip Electronics Co., Ltd. 4 */ 5 6 #include "hal_conf.h" 7 8 #ifdef HAL_TIMER_MODULE_ENABLED 9 10 /** @addtogroup RK_HAL_Driver 11 * @{ 12 */ 13 14 /** @addtogroup TIMER 15 * @{ 16 */ 17 18 #ifndef _HAL_TIMER_H_ 19 #define _HAL_TIMER_H_ 20 21 #include "hal_def.h" 22 23 /***************************** MACRO Definition ******************************/ 24 25 /** @defgroup TIMER_Exported_Definition_Group1 Basic Definition 26 * @{ 27 */ 28 29 typedef enum { 30 TIMER_FREE_RUNNING = 0, 31 TIMER_USER_DEFINED, 32 TIMER_MODE_MAX 33 } eTIMER_MODE; 34 35 /***************************** Structure Definition **************************/ 36 37 /** @} */ 38 /***************************** Function Declare ******************************/ 39 /** @defgroup TIMER_Public_Function_Declare Public Function Declare 40 * @{ 41 */ 42 43 HAL_Status HAL_TIMER_Stop(struct TIMER_REG *pReg); 44 HAL_Status HAL_TIMER_Start(struct TIMER_REG *pReg); 45 HAL_Status HAL_TIMER_Stop_IT(struct TIMER_REG *pReg); 46 HAL_Status HAL_TIMER_Start_IT(struct TIMER_REG *pReg); 47 HAL_Status HAL_TIMER_SetCount(struct TIMER_REG *pReg, uint64_t usTick); 48 uint64_t HAL_TIMER_GetCount(struct TIMER_REG *pReg); 49 HAL_Status HAL_TIMER0_Handler(void); 50 HAL_Status HAL_TIMER1_Handler(void); 51 HAL_Status HAL_TIMER_Init(struct TIMER_REG *pReg, eTIMER_MODE mode); 52 HAL_Status HAL_TIMER_SysTimerInit(struct TIMER_REG *pReg); 53 HAL_Status HAL_TIMER_DeInit(struct TIMER_REG *pReg); 54 HAL_Status HAL_TIMER_ClrInt(struct TIMER_REG *pReg); 55 56 /** @} */ 57 58 #endif 59 60 /** @} */ 61 62 /** @} */ 63 64 #endif /* HAL_TIMER_MODULE_ENABLED */ 65