stv0991_gpt.h 895 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * (C) Copyright 2014
  3. * Vikas Manocha, ST Micoelectronics, vikas.manocha@st.com.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef _STV0991_GPT_H
  8. #define _STV0991_GPT_H
  9. #include <asm/arch-stv0991/hardware.h>
  10. struct gpt_regs {
  11. u32 cr1;
  12. u32 cr2;
  13. u32 reserved_1;
  14. u32 dier; /* dma_int_en */
  15. u32 sr; /* status reg */
  16. u32 egr; /* event gen */
  17. u32 reserved_2[3]; /* offset 0x18--0x20*/
  18. u32 cnt;
  19. u32 psc;
  20. u32 arr;
  21. };
  22. struct gpt_regs *const gpt1_regs_ptr =
  23. (struct gpt_regs *) GPTIMER1_BASE_ADDR;
  24. /* Timer control1 register */
  25. #define GPT_CR1_CEN 0x0001
  26. #define GPT_MODE_AUTO_RELOAD (1 << 7)
  27. /* Timer prescalar reg */
  28. #define GPT_PRESCALER_128 0x128
  29. /* Auto reload register for free running config */
  30. #define GPT_FREE_RUNNING 0xFFFF
  31. /* Timer, HZ specific defines */
  32. #define CONFIG_STV0991_HZ 1000
  33. #define CONFIG_STV0991_HZ_CLOCK (27*1000*1000)/GPT_PRESCALER_128
  34. #endif