timer.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright 2014 Broadcom Corporation.
  4. */
  5. #ifndef __TIMER_H
  6. #define __TIMER_H
  7. #include <linux/types.h>
  8. void timer_systick_init(uint32_t tick_ms);
  9. void timer_global_init(void);
  10. /* ARM A9 Private Timer */
  11. #define TIMER_PVT_LOAD_OFFSET 0x00000000
  12. #define TIMER_PVT_COUNTER_OFFSET 0x00000004
  13. #define TIMER_PVT_CTRL_OFFSET 0x00000008
  14. #define TIMER_PVT_STATUS_OFFSET 0x0000000C
  15. #define TIMER_PVT_TIM_CTRL_TIM_EN 0x00000001
  16. #define TIMER_PVT_TIM_CTRL_AUTO_RELD 0x00000002
  17. #define TIMER_PVT_TIM_CTRL_INT_EN 0x00000004
  18. #define TIMER_PVT_TIM_CTRL_PRESC_MASK 0x0000FF00
  19. #define TIMER_PVT_TIM_INT_STATUS_SET 0x00000001
  20. /* Global timer */
  21. #define TIMER_GLB_LOW_OFFSET 0x00000000
  22. #define TIMER_GLB_HI_OFFSET 0x00000004
  23. #define TIMER_GLB_CTRL_OFFSET 0x00000008
  24. #define TIMER_GLB_TIM_CTRL_TIM_EN 0x00000001
  25. #define TIMER_GLB_TIM_CTRL_COMP_EN 0x00000002
  26. #define TIMER_GLB_TIM_CTRL_INT_EN 0x00000004
  27. #define TIMER_GLB_TIM_CTRL_AUTO_INC 0x00000008
  28. #define TIMER_GLB_TIM_CTRL_PRESC_MASK 0x0000FF00
  29. #define TIMER_GLB_TIM_INT_STATUS_SET 0x00000001
  30. #endif /*__TIMER_H */