dm365_timer.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2010-11-13 weety first version
  9. */
  10. #ifndef __ASM_ARCH_TIME_H
  11. #define __ASM_ARCH_TIME_H
  12. /* Timer register offsets */
  13. #define PID12 0x0
  14. #define TIM12 0x10
  15. #define TIM34 0x14
  16. #define PRD12 0x18
  17. #define PRD34 0x1c
  18. #define TCR 0x20
  19. #define TGCR 0x24
  20. #define WDTCR 0x28
  21. #define CMP12(n) (0x60 + ((n) << 2))
  22. /* Timer register bitfields */
  23. #define ENAMODE12_SHIFT 6
  24. #define ENAMODE34_SHIFT 22
  25. #define TCR_ENAMODE_DISABLE 0x0
  26. #define TCR_ENAMODE_ONESHOT 0x1
  27. #define TCR_ENAMODE_PERIODIC 0x2
  28. #define TCR_ENAMODE_MASK 0x3
  29. #define TGCR_TIMMODE_SHIFT 2
  30. #define TGCR_TIMMODE_64BIT_GP 0x0
  31. #define TGCR_TIMMODE_32BIT_UNCHAINED 0x1
  32. #define TGCR_TIMMODE_64BIT_WDOG 0x2
  33. #define TGCR_TIMMODE_32BIT_CHAINED 0x3
  34. #define TGCR_TIM12RS_SHIFT 0
  35. #define TGCR_TIM34RS_SHIFT 1
  36. #define TGCR_RESET 0x0
  37. #define TGCR_UNRESET 0x1
  38. #define TGCR_RESET_MASK 0x3
  39. #define WDTCR_WDEN_SHIFT 14
  40. #define WDTCR_WDEN_DISABLE 0x0
  41. #define WDTCR_WDEN_ENABLE 0x1
  42. #define WDTCR_WDKEY_SHIFT 16
  43. #define WDTCR_WDKEY_SEQ0 0xA5C6
  44. #define WDTCR_WDKEY_SEQ1 0xDA7E
  45. enum {
  46. T0_BOT,
  47. T0_TOP,
  48. T1_BOT,
  49. T1_TOP,
  50. NUM_TIMERS
  51. };
  52. #endif /* __ASM_ARCH_TIME_H__ */