hal_timer.h 1.5 KB

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