fttmr010.h 1.7 KB

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