Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Variables
timer.c File Reference
#include <linux/interrupt.h>
#include <linux/time.h>
#include <linux/timex.h>
#include <linux/clockchips.h>
#include <linux/clocksource.h>
#include <linux/types.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/irq.h>
#include <mach/hardware.h>
#include <mach/irqs.h>
#include <asm/sched_clock.h>
#include <asm/mach/map.h>
#include <asm/mach/time.h>
#include "timer.h"

Go to the source code of this file.

Macros

#define U300_TIMER_APP_ROST   (0x0000)
 
#define U300_TIMER_APP_ROST_TIMER_RESET   (0x00000000)
 
#define U300_TIMER_APP_EOST   (0x0004)
 
#define U300_TIMER_APP_EOST_TIMER_ENABLE   (0x00000000)
 
#define U300_TIMER_APP_DOST   (0x0008)
 
#define U300_TIMER_APP_DOST_TIMER_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_SOSTM   (0x000c)
 
#define U300_TIMER_APP_SOSTM_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_SOSTM_MODE_ONE_SHOT   (0x00000001)
 
#define U300_TIMER_APP_OSTS   (0x0010)
 
#define U300_TIMER_APP_OSTS_TIMER_STATE_MASK   (0x0000000F)
 
#define U300_TIMER_APP_OSTS_TIMER_STATE_IDLE   (0x00000001)
 
#define U300_TIMER_APP_OSTS_TIMER_STATE_ACTIVE   (0x00000002)
 
#define U300_TIMER_APP_OSTS_ENABLE_IND   (0x00000010)
 
#define U300_TIMER_APP_OSTS_MODE_MASK   (0x00000020)
 
#define U300_TIMER_APP_OSTS_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_OSTS_MODE_ONE_SHOT   (0x00000020)
 
#define U300_TIMER_APP_OSTS_IRQ_ENABLED_IND   (0x00000040)
 
#define U300_TIMER_APP_OSTS_IRQ_PENDING_IND   (0x00000080)
 
#define U300_TIMER_APP_OSTCC   (0x0014)
 
#define U300_TIMER_APP_OSTTC   (0x0018)
 
#define U300_TIMER_APP_OSTIE   (0x001c)
 
#define U300_TIMER_APP_OSTIE_IRQ_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_OSTIE_IRQ_ENABLE   (0x00000001)
 
#define U300_TIMER_APP_OSTIA   (0x0020)
 
#define U300_TIMER_APP_OSTIA_IRQ_ACK   (0x00000080)
 
#define U300_TIMER_APP_RDDT   (0x0040)
 
#define U300_TIMER_APP_RDDT_TIMER_RESET   (0x00000000)
 
#define U300_TIMER_APP_EDDT   (0x0044)
 
#define U300_TIMER_APP_EDDT_TIMER_ENABLE   (0x00000000)
 
#define U300_TIMER_APP_DDDT   (0x0048)
 
#define U300_TIMER_APP_DDDT_TIMER_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_SDDTM   (0x004c)
 
#define U300_TIMER_APP_SDDTM_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_SDDTM_MODE_ONE_SHOT   (0x00000001)
 
#define U300_TIMER_APP_DDTS   (0x0050)
 
#define U300_TIMER_APP_DDTS_TIMER_STATE_MASK   (0x0000000F)
 
#define U300_TIMER_APP_DDTS_TIMER_STATE_IDLE   (0x00000001)
 
#define U300_TIMER_APP_DDTS_TIMER_STATE_ACTIVE   (0x00000002)
 
#define U300_TIMER_APP_DDTS_ENABLE_IND   (0x00000010)
 
#define U300_TIMER_APP_DDTS_MODE_MASK   (0x00000020)
 
#define U300_TIMER_APP_DDTS_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_DDTS_MODE_ONE_SHOT   (0x00000020)
 
#define U300_TIMER_APP_DDTS_IRQ_ENABLED_IND   (0x00000040)
 
#define U300_TIMER_APP_DDTS_IRQ_PENDING_IND   (0x00000080)
 
#define U300_TIMER_APP_DDTCC   (0x0054)
 
#define U300_TIMER_APP_DDTTC   (0x0058)
 
#define U300_TIMER_APP_DDTIE   (0x005c)
 
#define U300_TIMER_APP_DDTIE_IRQ_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_DDTIE_IRQ_ENABLE   (0x00000001)
 
#define U300_TIMER_APP_DDTIA   (0x0060)
 
#define U300_TIMER_APP_DDTIA_IRQ_ACK   (0x00000080)
 
#define U300_TIMER_APP_RGPT1   (0x0080)
 
#define U300_TIMER_APP_RGPT1_TIMER_RESET   (0x00000000)
 
#define U300_TIMER_APP_EGPT1   (0x0084)
 
#define U300_TIMER_APP_EGPT1_TIMER_ENABLE   (0x00000000)
 
#define U300_TIMER_APP_DGPT1   (0x0088)
 
#define U300_TIMER_APP_DGPT1_TIMER_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_SGPT1M   (0x008c)
 
#define U300_TIMER_APP_SGPT1M_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_SGPT1M_MODE_ONE_SHOT   (0x00000001)
 
#define U300_TIMER_APP_GPT1S   (0x0090)
 
#define U300_TIMER_APP_GPT1S_TIMER_STATE_MASK   (0x0000000F)
 
#define U300_TIMER_APP_GPT1S_TIMER_STATE_IDLE   (0x00000001)
 
#define U300_TIMER_APP_GPT1S_TIMER_STATE_ACTIVE   (0x00000002)
 
#define U300_TIMER_APP_GPT1S_ENABLE_IND   (0x00000010)
 
#define U300_TIMER_APP_GPT1S_MODE_MASK   (0x00000020)
 
#define U300_TIMER_APP_GPT1S_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_GPT1S_MODE_ONE_SHOT   (0x00000020)
 
#define U300_TIMER_APP_GPT1S_IRQ_ENABLED_IND   (0x00000040)
 
#define U300_TIMER_APP_GPT1S_IRQ_PENDING_IND   (0x00000080)
 
#define U300_TIMER_APP_GPT1CC   (0x0094)
 
#define U300_TIMER_APP_GPT1TC   (0x0098)
 
#define U300_TIMER_APP_GPT1IE   (0x009c)
 
#define U300_TIMER_APP_GPT1IE_IRQ_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_GPT1IE_IRQ_ENABLE   (0x00000001)
 
#define U300_TIMER_APP_GPT1IA   (0x00a0)
 
#define U300_TIMER_APP_GPT1IA_IRQ_ACK   (0x00000080)
 
#define U300_TIMER_APP_RGPT2   (0x00c0)
 
#define U300_TIMER_APP_RGPT2_TIMER_RESET   (0x00000000)
 
#define U300_TIMER_APP_EGPT2   (0x00c4)
 
#define U300_TIMER_APP_EGPT2_TIMER_ENABLE   (0x00000000)
 
#define U300_TIMER_APP_DGPT2   (0x00c8)
 
#define U300_TIMER_APP_DGPT2_TIMER_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_SGPT2M   (0x00cc)
 
#define U300_TIMER_APP_SGPT2M_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_SGPT2M_MODE_ONE_SHOT   (0x00000001)
 
#define U300_TIMER_APP_GPT2S   (0x00d0)
 
#define U300_TIMER_APP_GPT2S_TIMER_STATE_MASK   (0x0000000F)
 
#define U300_TIMER_APP_GPT2S_TIMER_STATE_IDLE   (0x00000001)
 
#define U300_TIMER_APP_GPT2S_TIMER_STATE_ACTIVE   (0x00000002)
 
#define U300_TIMER_APP_GPT2S_ENABLE_IND   (0x00000010)
 
#define U300_TIMER_APP_GPT2S_MODE_MASK   (0x00000020)
 
#define U300_TIMER_APP_GPT2S_MODE_CONTINUOUS   (0x00000000)
 
#define U300_TIMER_APP_GPT2S_MODE_ONE_SHOT   (0x00000020)
 
#define U300_TIMER_APP_GPT2S_IRQ_ENABLED_IND   (0x00000040)
 
#define U300_TIMER_APP_GPT2S_IRQ_PENDING_IND   (0x00000080)
 
#define U300_TIMER_APP_GPT2CC   (0x00d4)
 
#define U300_TIMER_APP_GPT2TC   (0x00d8)
 
#define U300_TIMER_APP_GPT2IE   (0x00dc)
 
#define U300_TIMER_APP_GPT2IE_IRQ_DISABLE   (0x00000000)
 
#define U300_TIMER_APP_GPT2IE_IRQ_ENABLE   (0x00000001)
 
#define U300_TIMER_APP_GPT2IA   (0x00e0)
 
#define U300_TIMER_APP_GPT2IA_IRQ_ACK   (0x00000080)
 
#define U300_TIMER_APP_CRC   (0x100)
 
#define U300_TIMER_APP_CRC_CLOCK_REQUEST_ENABLE   (0x00000001)
 
#define TICKS_PER_JIFFY   ((CLOCK_TICK_RATE + (HZ/2)) / HZ)
 
#define US_PER_TICK   ((1000000 + (HZ/2)) / HZ)
 

Variables

struct sys_timer u300_timer
 

Macro Definition Documentation

#define TICKS_PER_JIFFY   ((CLOCK_TICK_RATE + (HZ/2)) / HZ)

Definition at line 189 of file timer.c.

#define U300_TIMER_APP_CRC   (0x100)

Definition at line 186 of file timer.c.

#define U300_TIMER_APP_CRC_CLOCK_REQUEST_ENABLE   (0x00000001)

Definition at line 187 of file timer.c.

#define U300_TIMER_APP_DDDT   (0x0048)

Definition at line 84 of file timer.c.

#define U300_TIMER_APP_DDDT_TIMER_DISABLE   (0x00000000)

Definition at line 85 of file timer.c.

#define U300_TIMER_APP_DDTCC   (0x0054)

Definition at line 102 of file timer.c.

#define U300_TIMER_APP_DDTIA   (0x0060)

Definition at line 110 of file timer.c.

#define U300_TIMER_APP_DDTIA_IRQ_ACK   (0x00000080)

Definition at line 111 of file timer.c.

#define U300_TIMER_APP_DDTIE   (0x005c)

Definition at line 106 of file timer.c.

#define U300_TIMER_APP_DDTIE_IRQ_DISABLE   (0x00000000)

Definition at line 107 of file timer.c.

#define U300_TIMER_APP_DDTIE_IRQ_ENABLE   (0x00000001)

Definition at line 108 of file timer.c.

#define U300_TIMER_APP_DDTS   (0x0050)

Definition at line 91 of file timer.c.

#define U300_TIMER_APP_DDTS_ENABLE_IND   (0x00000010)

Definition at line 95 of file timer.c.

#define U300_TIMER_APP_DDTS_IRQ_ENABLED_IND   (0x00000040)

Definition at line 99 of file timer.c.

#define U300_TIMER_APP_DDTS_IRQ_PENDING_IND   (0x00000080)

Definition at line 100 of file timer.c.

#define U300_TIMER_APP_DDTS_MODE_CONTINUOUS   (0x00000000)

Definition at line 97 of file timer.c.

#define U300_TIMER_APP_DDTS_MODE_MASK   (0x00000020)

Definition at line 96 of file timer.c.

#define U300_TIMER_APP_DDTS_MODE_ONE_SHOT   (0x00000020)

Definition at line 98 of file timer.c.

#define U300_TIMER_APP_DDTS_TIMER_STATE_ACTIVE   (0x00000002)

Definition at line 94 of file timer.c.

#define U300_TIMER_APP_DDTS_TIMER_STATE_IDLE   (0x00000001)

Definition at line 93 of file timer.c.

#define U300_TIMER_APP_DDTS_TIMER_STATE_MASK   (0x0000000F)

Definition at line 92 of file timer.c.

#define U300_TIMER_APP_DDTTC   (0x0058)

Definition at line 104 of file timer.c.

#define U300_TIMER_APP_DGPT1   (0x0088)

Definition at line 120 of file timer.c.

#define U300_TIMER_APP_DGPT1_TIMER_DISABLE   (0x00000000)

Definition at line 121 of file timer.c.

#define U300_TIMER_APP_DGPT2   (0x00c8)

Definition at line 156 of file timer.c.

#define U300_TIMER_APP_DGPT2_TIMER_DISABLE   (0x00000000)

Definition at line 157 of file timer.c.

#define U300_TIMER_APP_DOST   (0x0008)

Definition at line 48 of file timer.c.

#define U300_TIMER_APP_DOST_TIMER_DISABLE   (0x00000000)

Definition at line 49 of file timer.c.

#define U300_TIMER_APP_EDDT   (0x0044)

Definition at line 81 of file timer.c.

#define U300_TIMER_APP_EDDT_TIMER_ENABLE   (0x00000000)

Definition at line 82 of file timer.c.

#define U300_TIMER_APP_EGPT1   (0x0084)

Definition at line 117 of file timer.c.

#define U300_TIMER_APP_EGPT1_TIMER_ENABLE   (0x00000000)

Definition at line 118 of file timer.c.

#define U300_TIMER_APP_EGPT2   (0x00c4)

Definition at line 153 of file timer.c.

#define U300_TIMER_APP_EGPT2_TIMER_ENABLE   (0x00000000)

Definition at line 154 of file timer.c.

#define U300_TIMER_APP_EOST   (0x0004)

Definition at line 45 of file timer.c.

#define U300_TIMER_APP_EOST_TIMER_ENABLE   (0x00000000)

Definition at line 46 of file timer.c.

#define U300_TIMER_APP_GPT1CC   (0x0094)

Definition at line 138 of file timer.c.

#define U300_TIMER_APP_GPT1IA   (0x00a0)

Definition at line 146 of file timer.c.

#define U300_TIMER_APP_GPT1IA_IRQ_ACK   (0x00000080)

Definition at line 147 of file timer.c.

#define U300_TIMER_APP_GPT1IE   (0x009c)

Definition at line 142 of file timer.c.

#define U300_TIMER_APP_GPT1IE_IRQ_DISABLE   (0x00000000)

Definition at line 143 of file timer.c.

#define U300_TIMER_APP_GPT1IE_IRQ_ENABLE   (0x00000001)

Definition at line 144 of file timer.c.

#define U300_TIMER_APP_GPT1S   (0x0090)

Definition at line 127 of file timer.c.

#define U300_TIMER_APP_GPT1S_ENABLE_IND   (0x00000010)

Definition at line 131 of file timer.c.

#define U300_TIMER_APP_GPT1S_IRQ_ENABLED_IND   (0x00000040)

Definition at line 135 of file timer.c.

#define U300_TIMER_APP_GPT1S_IRQ_PENDING_IND   (0x00000080)

Definition at line 136 of file timer.c.

#define U300_TIMER_APP_GPT1S_MODE_CONTINUOUS   (0x00000000)

Definition at line 133 of file timer.c.

#define U300_TIMER_APP_GPT1S_MODE_MASK   (0x00000020)

Definition at line 132 of file timer.c.

#define U300_TIMER_APP_GPT1S_MODE_ONE_SHOT   (0x00000020)

Definition at line 134 of file timer.c.

#define U300_TIMER_APP_GPT1S_TIMER_STATE_ACTIVE   (0x00000002)

Definition at line 130 of file timer.c.

#define U300_TIMER_APP_GPT1S_TIMER_STATE_IDLE   (0x00000001)

Definition at line 129 of file timer.c.

#define U300_TIMER_APP_GPT1S_TIMER_STATE_MASK   (0x0000000F)

Definition at line 128 of file timer.c.

#define U300_TIMER_APP_GPT1TC   (0x0098)

Definition at line 140 of file timer.c.

#define U300_TIMER_APP_GPT2CC   (0x00d4)

Definition at line 174 of file timer.c.

#define U300_TIMER_APP_GPT2IA   (0x00e0)

Definition at line 182 of file timer.c.

#define U300_TIMER_APP_GPT2IA_IRQ_ACK   (0x00000080)

Definition at line 183 of file timer.c.

#define U300_TIMER_APP_GPT2IE   (0x00dc)

Definition at line 178 of file timer.c.

#define U300_TIMER_APP_GPT2IE_IRQ_DISABLE   (0x00000000)

Definition at line 179 of file timer.c.

#define U300_TIMER_APP_GPT2IE_IRQ_ENABLE   (0x00000001)

Definition at line 180 of file timer.c.

#define U300_TIMER_APP_GPT2S   (0x00d0)

Definition at line 163 of file timer.c.

#define U300_TIMER_APP_GPT2S_ENABLE_IND   (0x00000010)

Definition at line 167 of file timer.c.

#define U300_TIMER_APP_GPT2S_IRQ_ENABLED_IND   (0x00000040)

Definition at line 171 of file timer.c.

#define U300_TIMER_APP_GPT2S_IRQ_PENDING_IND   (0x00000080)

Definition at line 172 of file timer.c.

#define U300_TIMER_APP_GPT2S_MODE_CONTINUOUS   (0x00000000)

Definition at line 169 of file timer.c.

#define U300_TIMER_APP_GPT2S_MODE_MASK   (0x00000020)

Definition at line 168 of file timer.c.

#define U300_TIMER_APP_GPT2S_MODE_ONE_SHOT   (0x00000020)

Definition at line 170 of file timer.c.

#define U300_TIMER_APP_GPT2S_TIMER_STATE_ACTIVE   (0x00000002)

Definition at line 166 of file timer.c.

#define U300_TIMER_APP_GPT2S_TIMER_STATE_IDLE   (0x00000001)

Definition at line 165 of file timer.c.

#define U300_TIMER_APP_GPT2S_TIMER_STATE_MASK   (0x0000000F)

Definition at line 164 of file timer.c.

#define U300_TIMER_APP_GPT2TC   (0x00d8)

Definition at line 176 of file timer.c.

#define U300_TIMER_APP_OSTCC   (0x0014)

Definition at line 66 of file timer.c.

#define U300_TIMER_APP_OSTIA   (0x0020)

Definition at line 74 of file timer.c.

#define U300_TIMER_APP_OSTIA_IRQ_ACK   (0x00000080)

Definition at line 75 of file timer.c.

#define U300_TIMER_APP_OSTIE   (0x001c)

Definition at line 70 of file timer.c.

#define U300_TIMER_APP_OSTIE_IRQ_DISABLE   (0x00000000)

Definition at line 71 of file timer.c.

#define U300_TIMER_APP_OSTIE_IRQ_ENABLE   (0x00000001)

Definition at line 72 of file timer.c.

#define U300_TIMER_APP_OSTS   (0x0010)

Definition at line 55 of file timer.c.

#define U300_TIMER_APP_OSTS_ENABLE_IND   (0x00000010)

Definition at line 59 of file timer.c.

#define U300_TIMER_APP_OSTS_IRQ_ENABLED_IND   (0x00000040)

Definition at line 63 of file timer.c.

#define U300_TIMER_APP_OSTS_IRQ_PENDING_IND   (0x00000080)

Definition at line 64 of file timer.c.

#define U300_TIMER_APP_OSTS_MODE_CONTINUOUS   (0x00000000)

Definition at line 61 of file timer.c.

#define U300_TIMER_APP_OSTS_MODE_MASK   (0x00000020)

Definition at line 60 of file timer.c.

#define U300_TIMER_APP_OSTS_MODE_ONE_SHOT   (0x00000020)

Definition at line 62 of file timer.c.

#define U300_TIMER_APP_OSTS_TIMER_STATE_ACTIVE   (0x00000002)

Definition at line 58 of file timer.c.

#define U300_TIMER_APP_OSTS_TIMER_STATE_IDLE   (0x00000001)

Definition at line 57 of file timer.c.

#define U300_TIMER_APP_OSTS_TIMER_STATE_MASK   (0x0000000F)

Definition at line 56 of file timer.c.

#define U300_TIMER_APP_OSTTC   (0x0018)

Definition at line 68 of file timer.c.

#define U300_TIMER_APP_RDDT   (0x0040)

Definition at line 78 of file timer.c.

#define U300_TIMER_APP_RDDT_TIMER_RESET   (0x00000000)

Definition at line 79 of file timer.c.

#define U300_TIMER_APP_RGPT1   (0x0080)

Definition at line 114 of file timer.c.

#define U300_TIMER_APP_RGPT1_TIMER_RESET   (0x00000000)

Definition at line 115 of file timer.c.

#define U300_TIMER_APP_RGPT2   (0x00c0)

Definition at line 150 of file timer.c.

#define U300_TIMER_APP_RGPT2_TIMER_RESET   (0x00000000)

Definition at line 151 of file timer.c.

#define U300_TIMER_APP_ROST   (0x0000)

Definition at line 42 of file timer.c.

#define U300_TIMER_APP_ROST_TIMER_RESET   (0x00000000)

Definition at line 43 of file timer.c.

#define U300_TIMER_APP_SDDTM   (0x004c)

Definition at line 87 of file timer.c.

#define U300_TIMER_APP_SDDTM_MODE_CONTINUOUS   (0x00000000)

Definition at line 88 of file timer.c.

#define U300_TIMER_APP_SDDTM_MODE_ONE_SHOT   (0x00000001)

Definition at line 89 of file timer.c.

#define U300_TIMER_APP_SGPT1M   (0x008c)

Definition at line 123 of file timer.c.

#define U300_TIMER_APP_SGPT1M_MODE_CONTINUOUS   (0x00000000)

Definition at line 124 of file timer.c.

#define U300_TIMER_APP_SGPT1M_MODE_ONE_SHOT   (0x00000001)

Definition at line 125 of file timer.c.

#define U300_TIMER_APP_SGPT2M   (0x00cc)

Definition at line 159 of file timer.c.

#define U300_TIMER_APP_SGPT2M_MODE_CONTINUOUS   (0x00000000)

Definition at line 160 of file timer.c.

#define U300_TIMER_APP_SGPT2M_MODE_ONE_SHOT   (0x00000001)

Definition at line 161 of file timer.c.

#define U300_TIMER_APP_SOSTM   (0x000c)

Definition at line 51 of file timer.c.

#define U300_TIMER_APP_SOSTM_MODE_CONTINUOUS   (0x00000000)

Definition at line 52 of file timer.c.

#define U300_TIMER_APP_SOSTM_MODE_ONE_SHOT   (0x00000001)

Definition at line 53 of file timer.c.

#define US_PER_TICK   ((1000000 + (HZ/2)) / HZ)

Definition at line 190 of file timer.c.

Variable Documentation

struct sys_timer u300_timer
Initial value:
= {
.init = u300_timer_init,
}

Definition at line 421 of file timer.c.