~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: 44810c863acfa28c663ffb0bd000bf87db00ed0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* 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 */