xref: /rk3399_rockchip-uboot/arch/arm/mach-bcm283x/include/mach/timer.h (revision ed7481c7d18fe2c632b6fbe5646b32cefd2dc791)
1d6c418e4SMasahiro Yamada /*
2d6c418e4SMasahiro Yamada  * (C) Copyright 2012,2015 Stephen Warren
3d6c418e4SMasahiro Yamada  *
4d6c418e4SMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0
5d6c418e4SMasahiro Yamada  */
6d6c418e4SMasahiro Yamada 
7d6c418e4SMasahiro Yamada #ifndef _BCM2835_TIMER_H
8d6c418e4SMasahiro Yamada #define _BCM2835_TIMER_H
9d6c418e4SMasahiro Yamada 
10*ed7481c7SStephen Warren #ifndef CONFIG_BCM2835
11d6c418e4SMasahiro Yamada #define BCM2835_TIMER_PHYSADDR	0x3f003000
12d6c418e4SMasahiro Yamada #else
13d6c418e4SMasahiro Yamada #define BCM2835_TIMER_PHYSADDR	0x20003000
14d6c418e4SMasahiro Yamada #endif
15d6c418e4SMasahiro Yamada 
1625a63f5bSMarek Vasut #define BCM2835_TIMER_CS_M3	(1 << 3)
1725a63f5bSMarek Vasut #define BCM2835_TIMER_CS_M2	(1 << 2)
1825a63f5bSMarek Vasut #define BCM2835_TIMER_CS_M1	(1 << 1)
1925a63f5bSMarek Vasut #define BCM2835_TIMER_CS_M0	(1 << 0)
2025a63f5bSMarek Vasut 
2125a63f5bSMarek Vasut #ifndef __ASSEMBLY__
2225a63f5bSMarek Vasut #include <linux/types.h>
2325a63f5bSMarek Vasut 
24d6c418e4SMasahiro Yamada struct bcm2835_timer_regs {
25d6c418e4SMasahiro Yamada 	u32 cs;
26d6c418e4SMasahiro Yamada 	u32 clo;
27d6c418e4SMasahiro Yamada 	u32 chi;
28d6c418e4SMasahiro Yamada 	u32 c0;
29d6c418e4SMasahiro Yamada 	u32 c1;
30d6c418e4SMasahiro Yamada 	u32 c2;
31d6c418e4SMasahiro Yamada 	u32 c3;
32d6c418e4SMasahiro Yamada };
33d6c418e4SMasahiro Yamada 
34d6c418e4SMasahiro Yamada extern ulong get_timer_us(ulong base);
35d6c418e4SMasahiro Yamada 
36d6c418e4SMasahiro Yamada #endif
3725a63f5bSMarek Vasut 
3825a63f5bSMarek Vasut #endif
39