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