mt_gpt.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef _MT_GPT_H_
  2. #define _MT_GPT_H_
  3. #include <linux/types.h>
  4. #define GPT1 0x0
  5. #define GPT2 0x1
  6. #define GPT3 0x2
  7. #define GPT4 0x3
  8. #define GPT5 0x4
  9. #define GPT6 0x5
  10. #define NR_GPTS 0x6
  11. #define GPT_ONE_SHOT 0x0
  12. #define GPT_REPEAT 0x1
  13. #define GPT_KEEP_GO 0x2
  14. #define GPT_FREE_RUN 0x3
  15. #define GPT_CLK_DIV_1 0x0000
  16. #define GPT_CLK_DIV_2 0x0001
  17. #define GPT_CLK_DIV_3 0x0002
  18. #define GPT_CLK_DIV_4 0x0003
  19. #define GPT_CLK_DIV_5 0x0004
  20. #define GPT_CLK_DIV_6 0x0005
  21. #define GPT_CLK_DIV_7 0x0006
  22. #define GPT_CLK_DIV_8 0x0007
  23. #define GPT_CLK_DIV_9 0x0008
  24. #define GPT_CLK_DIV_10 0x0009
  25. #define GPT_CLK_DIV_11 0x000a
  26. #define GPT_CLK_DIV_12 0x000b
  27. #define GPT_CLK_DIV_13 0x000c
  28. #define GPT_CLK_DIV_16 0x000d
  29. #define GPT_CLK_DIV_32 0x000e
  30. #define GPT_CLK_DIV_64 0x000f
  31. #define GPT_CLK_SRC_SYS 0x0
  32. #define GPT_CLK_SRC_RTC 0x1
  33. #define GPT_NOAUTOEN 0x0001
  34. #define GPT_NOIRQEN 0x0002
  35. extern int request_gpt(unsigned int id, unsigned int mode, unsigned int clksrc,
  36. unsigned int clkdiv, unsigned int cmp,
  37. void (*func)(unsigned long), unsigned int flags);
  38. extern int free_gpt(unsigned int id);
  39. extern int start_gpt(unsigned int id);
  40. extern int stop_gpt(unsigned int id);
  41. extern int restart_gpt(unsigned int id);
  42. extern int gpt_is_counting(unsigned int id);
  43. extern int gpt_set_cmp(unsigned int id, unsigned int val);
  44. extern int gpt_get_cmp(unsigned int id, unsigned int *ptr);
  45. extern int gpt_get_cnt(unsigned int id, unsigned int *ptr);
  46. extern int gpt_check_irq(unsigned int id);
  47. extern int gpt_check_and_ack_irq(unsigned int id);
  48. #endif