text: /* SPDX-License-Identifier: GPL-2.0+ */
  /*
   * Copyright 2014 Broadcom Corporation.
   */
  
  #ifndef __TIMER_H
  #define __TIMER_H
  
  #include <linux/types.h>
  
  void timer_systick_init(uint32_t tick_ms);
  void timer_global_init(void);
  
  /* ARM A9 Private Timer */
  #define TIMER_PVT_LOAD_OFFSET			0x00000000
  #define TIMER_PVT_COUNTER_OFFSET		0x00000004
  #define TIMER_PVT_CTRL_OFFSET			0x00000008
  #define TIMER_PVT_STATUS_OFFSET			0x0000000C
  #define TIMER_PVT_TIM_CTRL_TIM_EN		0x00000001
  #define TIMER_PVT_TIM_CTRL_AUTO_RELD		0x00000002
  #define TIMER_PVT_TIM_CTRL_INT_EN		0x00000004
  #define TIMER_PVT_TIM_CTRL_PRESC_MASK		0x0000FF00
  #define TIMER_PVT_TIM_INT_STATUS_SET		0x00000001
  
  /* Global timer */
  #define TIMER_GLB_LOW_OFFSET			0x00000000
  #define TIMER_GLB_HI_OFFSET			0x00000004
  #define TIMER_GLB_CTRL_OFFSET			0x00000008
  #define TIMER_GLB_TIM_CTRL_TIM_EN		0x00000001
  #define TIMER_GLB_TIM_CTRL_COMP_EN		0x00000002
  #define TIMER_GLB_TIM_CTRL_INT_EN		0x00000004
  #define TIMER_GLB_TIM_CTRL_AUTO_INC		0x00000008
  #define TIMER_GLB_TIM_CTRL_PRESC_MASK		0x0000FF00
  #define TIMER_GLB_TIM_INT_STATUS_SET		0x00000001
  
  #endif /*__TIMER_H */
  