blob: 44810c863acfa28c663ffb0bd000bf87db00ed0a [file] [log] [blame]
/* 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 */