fttmr010.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2009 Faraday Technology
  4. * Po-Yu Chuang <ratbert@faraday-tech.com>
  5. */
  6. /*
  7. * Timer
  8. */
  9. #ifndef __FTTMR010_H
  10. #define __FTTMR010_H
  11. struct fttmr010 {
  12. unsigned int timer1_counter; /* 0x00 */
  13. unsigned int timer1_load; /* 0x04 */
  14. unsigned int timer1_match1; /* 0x08 */
  15. unsigned int timer1_match2; /* 0x0c */
  16. unsigned int timer2_counter; /* 0x10 */
  17. unsigned int timer2_load; /* 0x14 */
  18. unsigned int timer2_match1; /* 0x18 */
  19. unsigned int timer2_match2; /* 0x1c */
  20. unsigned int timer3_counter; /* 0x20 */
  21. unsigned int timer3_load; /* 0x24 */
  22. unsigned int timer3_match1; /* 0x28 */
  23. unsigned int timer3_match2; /* 0x2c */
  24. unsigned int cr; /* 0x30 */
  25. unsigned int interrupt_state; /* 0x34 */
  26. unsigned int interrupt_mask; /* 0x38 */
  27. };
  28. /*
  29. * Timer Control Register
  30. */
  31. #define FTTMR010_TM3_UPDOWN (1 << 11)
  32. #define FTTMR010_TM2_UPDOWN (1 << 10)
  33. #define FTTMR010_TM1_UPDOWN (1 << 9)
  34. #define FTTMR010_TM3_OFENABLE (1 << 8)
  35. #define FTTMR010_TM3_CLOCK (1 << 7)
  36. #define FTTMR010_TM3_ENABLE (1 << 6)
  37. #define FTTMR010_TM2_OFENABLE (1 << 5)
  38. #define FTTMR010_TM2_CLOCK (1 << 4)
  39. #define FTTMR010_TM2_ENABLE (1 << 3)
  40. #define FTTMR010_TM1_OFENABLE (1 << 2)
  41. #define FTTMR010_TM1_CLOCK (1 << 1)
  42. #define FTTMR010_TM1_ENABLE (1 << 0)
  43. /*
  44. * Timer Interrupt State & Mask Registers
  45. */
  46. #define FTTMR010_TM3_OVERFLOW (1 << 8)
  47. #define FTTMR010_TM3_MATCH2 (1 << 7)
  48. #define FTTMR010_TM3_MATCH1 (1 << 6)
  49. #define FTTMR010_TM2_OVERFLOW (1 << 5)
  50. #define FTTMR010_TM2_MATCH2 (1 << 4)
  51. #define FTTMR010_TM2_MATCH1 (1 << 3)
  52. #define FTTMR010_TM1_OVERFLOW (1 << 2)
  53. #define FTTMR010_TM1_MATCH2 (1 << 1)
  54. #define FTTMR010_TM1_MATCH1 (1 << 0)
  55. #endif /* __FTTMR010_H */