File: /usr/src/linux/include/asm-arm/arch-l7200/gp_timers.h

1     /*
2      * linux/include/asm-arm/arch-l7200/gp_timers.h
3      *
4      * Copyright (C) 2000 Steve Hill (sjhill@cotw.com)
5      *
6      * Changelog:
7      *   07-28-2000	SJH	Created file
8      *   08-02-2000	SJH	Used structure for registers
9      */
10     #ifndef _ASM_ARCH_GPTIMERS_H
11     #define _ASM_ARCH_GPTIMERS_H
12     
13     #include <asm/arch/hardware.h>
14     
15     /*
16      * Layout of L7200 general purpose timer registers
17      */
18     struct GPT_Regs {
19     	unsigned int TIMERLOAD;
20     	unsigned int TIMERVALUE;
21     	unsigned int TIMERCONTROL;
22     	unsigned int TIMERCLEAR;
23     };
24     
25     #define GPT_BASE		(IO_BASE_2 + 0x3000)
26     #define l7200_timer1_regs	((volatile struct GPT_Regs *) (GPT_BASE))
27     #define l7200_timer2_regs	((volatile struct GPT_Regs *) (GPT_BASE + 0x20))
28     
29     /*
30      * General register values
31      */
32     #define	GPT_PRESCALE_1		0x00000000
33     #define	GPT_PRESCALE_16		0x00000004
34     #define	GPT_PRESCALE_256	0x00000008
35     #define GPT_MODE_FREERUN	0x00000000
36     #define GPT_MODE_PERIODIC	0x00000040
37     #define GPT_ENABLE		0x00000080
38     #define GPT_BZTOG		0x00000100
39     #define GPT_BZMOD		0x00000200
40     #define GPT_LOAD_MASK 		0x0000ffff
41     
42     #endif
43