gpt.h 860 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * (C) Copyright 2016
  3. * Vikas Manocha, ST Micoelectronics, vikas.manocha@st.com.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef _STM32_GPT_H
  8. #define _STM32_GPT_H
  9. #include <asm/arch/stm32.h>
  10. struct gpt_regs {
  11. u32 cr1;
  12. u32 cr2;
  13. u32 smcr;
  14. u32 dier;
  15. u32 sr;
  16. u32 egr;
  17. u32 ccmr1;
  18. u32 ccmr2;
  19. u32 ccer;
  20. u32 cnt;
  21. u32 psc;
  22. u32 arr;
  23. u32 reserved;
  24. u32 ccr1;
  25. u32 ccr2;
  26. u32 ccr3;
  27. u32 ccr4;
  28. u32 reserved1;
  29. u32 dcr;
  30. u32 dmar;
  31. u32 tim2_5_or;
  32. };
  33. struct gpt_regs *const gpt1_regs_ptr =
  34. (struct gpt_regs *)TIM2_BASE;
  35. /* Timer control1 register */
  36. #define GPT_CR1_CEN BIT(0)
  37. #define GPT_MODE_AUTO_RELOAD BIT(7)
  38. /* Auto reload register for free running config */
  39. #define GPT_FREE_RUNNING 0xFFFFFFFF
  40. /* Timer, HZ specific defines */
  41. #define CONFIG_STM32_HZ 1000
  42. /* Timer Event Generation registers */
  43. #define TIM_EGR_UG BIT(0)
  44. #endif