spr_gpt.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2009
  4. * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com.
  5. */
  6. #ifndef _SPR_GPT_H
  7. #define _SPR_GPT_H
  8. struct gpt_regs {
  9. u8 reserved[0x80];
  10. u32 control;
  11. u32 status;
  12. u32 compare;
  13. u32 count;
  14. u32 capture_re;
  15. u32 capture_fe;
  16. };
  17. /*
  18. * TIMER_CONTROL register settings
  19. */
  20. #define GPT_PRESCALER_MASK 0x000F
  21. #define GPT_PRESCALER_1 0x0000
  22. #define GPT_PRESCALER_2 0x0001
  23. #define GPT_PRESCALER_4 0x0002
  24. #define GPT_PRESCALER_8 0x0003
  25. #define GPT_PRESCALER_16 0x0004
  26. #define GPT_PRESCALER_32 0x0005
  27. #define GPT_PRESCALER_64 0x0006
  28. #define GPT_PRESCALER_128 0x0007
  29. #define GPT_PRESCALER_256 0x0008
  30. #define GPT_MODE_SINGLE_SHOT 0x0010
  31. #define GPT_MODE_AUTO_RELOAD 0x0000
  32. #define GPT_ENABLE 0x0020
  33. #define GPT_CAPT_MODE_MASK 0x00C0
  34. #define GPT_CAPT_MODE_NONE 0x0000
  35. #define GPT_CAPT_MODE_RE 0x0040
  36. #define GPT_CAPT_MODE_FE 0x0080
  37. #define GPT_CAPT_MODE_BOTH 0x00C0
  38. #define GPT_INT_MATCH 0x0100
  39. #define GPT_INT_FE 0x0200
  40. #define GPT_INT_RE 0x0400
  41. /*
  42. * TIMER_STATUS register settings
  43. */
  44. #define GPT_STS_MATCH 0x0001
  45. #define GPT_STS_FE 0x0002
  46. #define GPT_STS_RE 0x0004
  47. /*
  48. * TIMER_COMPARE register settings
  49. */
  50. #define GPT_FREE_RUNNING 0xFFFF
  51. /* Timer, HZ specific defines */
  52. #define CONFIG_SPEAR_HZ 1000
  53. #define CONFIG_SPEAR_HZ_CLOCK 8300000
  54. #endif