drv_timer.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef __DRV_TIMER_H__
  2. #define __DRV_TIMER_H__
  3. #include "board.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #define TTC_CLK_CNTRL(hw_base) __REG32(hw_base + 0x00)
  8. #define TTC_CLK_CNTRL_PS_EN_MASK 0x00000001 /**< Prescale enable */
  9. #define TTC_CLK_CNTRL_PS_VAL_MASK 0x0000001E /**< Prescale value */
  10. #define TTC_CLK_CNTRL_PS_VAL_SHIFT 1 /**< Prescale shift */
  11. #define TTC_CLK_CNTRL_PS_DISABLE 16 /**< Prescale disable */
  12. #define TTC_CLK_CNTRL_SRC_MASK 0x00000020 /**< Clock source */
  13. #define TTC_CLK_CNTRL_EXT_EDGE_MASK 0x00000040 /**< External Clock edge */
  14. #define TTC_CNT_CNTRL(hw_base) __REG32(hw_base + 0x0C)
  15. #define TTC_CNT_CNTRL_DIS_MASK 0x00000001 /**< Disable the counter */
  16. #define TTC_CNT_CNTRL_INT_MASK 0x00000002 /**< interval mode */
  17. #define TTC_CNT_CNTRL_DECR_MASK 0x00000004 /**< Decrement mode */
  18. #define TTC_CNT_CNTRL_MATCH_MASK 0x00000008 /**< Match mode */
  19. #define TTC_CNT_CNTRL_RST_MASK 0x00000010 /**< Reset counter */
  20. #define TTC_CNT_CNTRL_EN_WAVE_MASK 0x00000020 /**< Enable waveform */
  21. #define TTC_CNT_CNTRL_POL_WAVE_MASK 0x00000040 /**< Waveform polarity */
  22. #define TTC_CNT_CNTRL_RESET_VALUE 0x00000021 /**< Reset value */
  23. #define TTC_COUNT_VALUE(hw_base) __REG32(hw_base + 0x18)
  24. #define TTC_INTERVAL_VAL(hw_base) __REG32(hw_base + 0x24)
  25. #define TTC_MATCH_0(hw_base) __REG32(hw_base + 0x30)
  26. #define TTC_MATCH_1(hw_base) __REG32(hw_base + 0x3C)
  27. #define TTC_MATCH_2(hw_base) __REG32(hw_base + 0x48)
  28. #define TTC_ISR(hw_base) __REG32(hw_base + 0x54)
  29. #define TTC_IXR_INTERVAL_MASK 0x00000001 /**< interval Interrupt */
  30. #define TTC_IXR_MATCH_0_MASK 0x00000002 /**< Match 1 Interrupt */
  31. #define TTC_IXR_MATCH_1_MASK 0x00000004 /**< Match 2 Interrupt */
  32. #define TTC_IXR_MATCH_2_MASK 0x00000008 /**< Match 3 Interrupt */
  33. #define TTC_IXR_CNT_OVR_MASK 0x00000010 /**< Counter Overflow */
  34. #define TTC_IXR_ALL_MASK 0x0000001F /**< All valid Interrupts */
  35. #define TTC_IER(hw_base) __REG32(hw_base + 0x60)
  36. #ifdef __cplusplus
  37. }
  38. #endif
  39. #endif