stv0991_gpt.h 953 B

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