Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
dmtimer.h File Reference
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/platform_device.h>

Go to the source code of this file.

Data Structures

struct  omap_timer_capability_dev_attr
 
struct  timer_regs
 
struct  dmtimer_platform_data
 
struct  omap_dm_timer
 

Macros

#define OMAP_TIMER_SRC_SYS_CLK   0x00
 
#define OMAP_TIMER_SRC_32_KHZ   0x01
 
#define OMAP_TIMER_SRC_EXT_CLK   0x02
 
#define OMAP_TIMER_INT_CAPTURE   (1 << 2)
 
#define OMAP_TIMER_INT_OVERFLOW   (1 << 1)
 
#define OMAP_TIMER_INT_MATCH   (1 << 0)
 
#define OMAP_TIMER_TRIGGER_NONE   0x00
 
#define OMAP_TIMER_TRIGGER_OVERFLOW   0x01
 
#define OMAP_TIMER_TRIGGER_OVERFLOW_AND_COMPARE   0x02
 
#define OMAP_TIMER_SECURE   0x80000000
 
#define OMAP_TIMER_ALWON   0x40000000
 
#define OMAP_TIMER_HAS_PWM   0x20000000
 
#define OMAP_TIMER_NEEDS_RESET   0x10000000
 
#define OMAP_TIMER_HAS_DSP_IRQ   0x08000000
 
#define OMAP_TIMER_ID_OFFSET   0x00
 
#define OMAP_TIMER_OCP_CFG_OFFSET   0x10
 
#define OMAP_TIMER_V1_SYS_STAT_OFFSET   0x14
 
#define OMAP_TIMER_V1_STAT_OFFSET   0x18
 
#define OMAP_TIMER_V1_INT_EN_OFFSET   0x1c
 
#define OMAP_TIMER_V2_IRQSTATUS_RAW   0x24
 
#define OMAP_TIMER_V2_IRQSTATUS   0x28
 
#define OMAP_TIMER_V2_IRQENABLE_SET   0x2c
 
#define OMAP_TIMER_V2_IRQENABLE_CLR   0x30
 
#define OMAP_TIMER_V2_FUNC_OFFSET   0x14
 
#define _OMAP_TIMER_WAKEUP_EN_OFFSET   0x20
 
#define _OMAP_TIMER_CTRL_OFFSET   0x24
 
#define OMAP_TIMER_CTRL_GPOCFG   (1 << 14)
 
#define OMAP_TIMER_CTRL_CAPTMODE   (1 << 13)
 
#define OMAP_TIMER_CTRL_PT   (1 << 12)
 
#define OMAP_TIMER_CTRL_TCM_LOWTOHIGH   (0x1 << 8)
 
#define OMAP_TIMER_CTRL_TCM_HIGHTOLOW   (0x2 << 8)
 
#define OMAP_TIMER_CTRL_TCM_BOTHEDGES   (0x3 << 8)
 
#define OMAP_TIMER_CTRL_SCPWM   (1 << 7)
 
#define OMAP_TIMER_CTRL_CE   (1 << 6) /* compare enable */
 
#define OMAP_TIMER_CTRL_PRE   (1 << 5) /* prescaler enable */
 
#define OMAP_TIMER_CTRL_PTV_SHIFT   2 /* prescaler value shift */
 
#define OMAP_TIMER_CTRL_POSTED   (1 << 2)
 
#define OMAP_TIMER_CTRL_AR   (1 << 1) /* auto-reload enable */
 
#define OMAP_TIMER_CTRL_ST   (1 << 0) /* start timer */
 
#define _OMAP_TIMER_COUNTER_OFFSET   0x28
 
#define _OMAP_TIMER_LOAD_OFFSET   0x2c
 
#define _OMAP_TIMER_TRIGGER_OFFSET   0x30
 
#define _OMAP_TIMER_WRITE_PEND_OFFSET   0x34
 
#define WP_NONE   0 /* no write pending bit */
 
#define WP_TCLR   (1 << 0)
 
#define WP_TCRR   (1 << 1)
 
#define WP_TLDR   (1 << 2)
 
#define WP_TTGR   (1 << 3)
 
#define WP_TMAR   (1 << 4)
 
#define WP_TPIR   (1 << 5)
 
#define WP_TNIR   (1 << 6)
 
#define WP_TCVR   (1 << 7)
 
#define WP_TOCR   (1 << 8)
 
#define WP_TOWR   (1 << 9)
 
#define _OMAP_TIMER_MATCH_OFFSET   0x38
 
#define _OMAP_TIMER_CAPTURE_OFFSET   0x3c
 
#define _OMAP_TIMER_IF_CTRL_OFFSET   0x40
 
#define _OMAP_TIMER_CAPTURE2_OFFSET   0x44 /* TCAR2, 34xx only */
 
#define _OMAP_TIMER_TICK_POS_OFFSET   0x48 /* TPIR, 34xx only */
 
#define _OMAP_TIMER_TICK_NEG_OFFSET   0x4c /* TNIR, 34xx only */
 
#define _OMAP_TIMER_TICK_COUNT_OFFSET   0x50 /* TCVR, 34xx only */
 
#define _OMAP_TIMER_TICK_INT_MASK_SET_OFFSET   0x54 /* TOCR, 34xx only */
 
#define _OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET   0x58 /* TOWR, 34xx only */
 
#define WPSHIFT   16
 
#define OMAP_TIMER_WAKEUP_EN_REG
 
#define OMAP_TIMER_CTRL_REG
 
#define OMAP_TIMER_COUNTER_REG
 
#define OMAP_TIMER_LOAD_REG
 
#define OMAP_TIMER_TRIGGER_REG
 
#define OMAP_TIMER_WRITE_PEND_REG
 
#define OMAP_TIMER_MATCH_REG
 
#define OMAP_TIMER_CAPTURE_REG
 
#define OMAP_TIMER_IF_CTRL_REG
 
#define OMAP_TIMER_CAPTURE2_REG
 
#define OMAP_TIMER_TICK_POS_REG
 
#define OMAP_TIMER_TICK_NEG_REG
 
#define OMAP_TIMER_TICK_COUNT_REG
 
#define OMAP_TIMER_TICK_INT_MASK_SET_REG   (_OMAP_TIMER_TICK_INT_MASK_SET_OFFSET | (WP_TOCR << WPSHIFT))
 
#define OMAP_TIMER_TICK_INT_MASK_COUNT_REG   (_OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET | (WP_TOWR << WPSHIFT))
 

Functions

int omap_dm_timer_reserve_systimer (int id)
 
struct omap_dm_timeromap_dm_timer_request (void)
 
struct omap_dm_timeromap_dm_timer_request_specific (int timer_id)
 
int omap_dm_timer_free (struct omap_dm_timer *timer)
 
void omap_dm_timer_enable (struct omap_dm_timer *timer)
 
void omap_dm_timer_disable (struct omap_dm_timer *timer)
 
int omap_dm_timer_get_irq (struct omap_dm_timer *timer)
 
u32 omap_dm_timer_modify_idlect_mask (u32 inputmask)
 
struct clkomap_dm_timer_get_fclk (struct omap_dm_timer *timer)
 
int omap_dm_timer_trigger (struct omap_dm_timer *timer)
 
int omap_dm_timer_start (struct omap_dm_timer *timer)
 
int omap_dm_timer_stop (struct omap_dm_timer *timer)
 
int omap_dm_timer_set_source (struct omap_dm_timer *timer, int source)
 
int omap_dm_timer_set_load (struct omap_dm_timer *timer, int autoreload, unsigned int value)
 
int omap_dm_timer_set_load_start (struct omap_dm_timer *timer, int autoreload, unsigned int value)
 
int omap_dm_timer_set_match (struct omap_dm_timer *timer, int enable, unsigned int match)
 
int omap_dm_timer_set_pwm (struct omap_dm_timer *timer, int def_on, int toggle, int trigger)
 
int omap_dm_timer_set_prescaler (struct omap_dm_timer *timer, int prescaler)
 
int omap_dm_timer_set_int_enable (struct omap_dm_timer *timer, unsigned int value)
 
unsigned int omap_dm_timer_read_status (struct omap_dm_timer *timer)
 
int omap_dm_timer_write_status (struct omap_dm_timer *timer, unsigned int value)
 
unsigned int omap_dm_timer_read_counter (struct omap_dm_timer *timer)
 
int omap_dm_timer_write_counter (struct omap_dm_timer *timer, unsigned int value)
 
int omap_dm_timers_active (void)
 
int omap_dm_timer_prepare (struct omap_dm_timer *timer)
 

Macro Definition Documentation

#define _OMAP_TIMER_CAPTURE2_OFFSET   0x44 /* TCAR2, 34xx only */

Definition at line 193 of file dmtimer.h.

#define _OMAP_TIMER_CAPTURE_OFFSET   0x3c

Definition at line 191 of file dmtimer.h.

#define _OMAP_TIMER_COUNTER_OFFSET   0x28

Definition at line 175 of file dmtimer.h.

#define _OMAP_TIMER_CTRL_OFFSET   0x24

Definition at line 161 of file dmtimer.h.

#define _OMAP_TIMER_IF_CTRL_OFFSET   0x40

Definition at line 192 of file dmtimer.h.

#define _OMAP_TIMER_LOAD_OFFSET   0x2c

Definition at line 176 of file dmtimer.h.

#define _OMAP_TIMER_MATCH_OFFSET   0x38

Definition at line 190 of file dmtimer.h.

#define _OMAP_TIMER_TICK_COUNT_OFFSET   0x50 /* TCVR, 34xx only */

Definition at line 196 of file dmtimer.h.

#define _OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET   0x58 /* TOWR, 34xx only */

Definition at line 198 of file dmtimer.h.

#define _OMAP_TIMER_TICK_INT_MASK_SET_OFFSET   0x54 /* TOCR, 34xx only */

Definition at line 197 of file dmtimer.h.

#define _OMAP_TIMER_TICK_NEG_OFFSET   0x4c /* TNIR, 34xx only */

Definition at line 195 of file dmtimer.h.

#define _OMAP_TIMER_TICK_POS_OFFSET   0x48 /* TPIR, 34xx only */

Definition at line 194 of file dmtimer.h.

#define _OMAP_TIMER_TRIGGER_OFFSET   0x30

Definition at line 177 of file dmtimer.h.

#define _OMAP_TIMER_WAKEUP_EN_OFFSET   0x20

Definition at line 160 of file dmtimer.h.

#define _OMAP_TIMER_WRITE_PEND_OFFSET   0x34

Definition at line 178 of file dmtimer.h.

#define OMAP_TIMER_ALWON   0x40000000

Definition at line 60 of file dmtimer.h.

#define OMAP_TIMER_CAPTURE2_REG
Value:

Definition at line 230 of file dmtimer.h.

#define OMAP_TIMER_CAPTURE_REG
Value:

Definition at line 224 of file dmtimer.h.

#define OMAP_TIMER_COUNTER_REG
Value:

Definition at line 209 of file dmtimer.h.

#define OMAP_TIMER_CTRL_AR   (1 << 1) /* auto-reload enable */

Definition at line 173 of file dmtimer.h.

#define OMAP_TIMER_CTRL_CAPTMODE   (1 << 13)

Definition at line 163 of file dmtimer.h.

#define OMAP_TIMER_CTRL_CE   (1 << 6) /* compare enable */

Definition at line 169 of file dmtimer.h.

#define OMAP_TIMER_CTRL_GPOCFG   (1 << 14)

Definition at line 162 of file dmtimer.h.

#define OMAP_TIMER_CTRL_POSTED   (1 << 2)

Definition at line 172 of file dmtimer.h.

#define OMAP_TIMER_CTRL_PRE   (1 << 5) /* prescaler enable */

Definition at line 170 of file dmtimer.h.

#define OMAP_TIMER_CTRL_PT   (1 << 12)

Definition at line 164 of file dmtimer.h.

#define OMAP_TIMER_CTRL_PTV_SHIFT   2 /* prescaler value shift */

Definition at line 171 of file dmtimer.h.

#define OMAP_TIMER_CTRL_REG
Value:

Definition at line 206 of file dmtimer.h.

#define OMAP_TIMER_CTRL_SCPWM   (1 << 7)

Definition at line 168 of file dmtimer.h.

#define OMAP_TIMER_CTRL_ST   (1 << 0) /* start timer */

Definition at line 174 of file dmtimer.h.

#define OMAP_TIMER_CTRL_TCM_BOTHEDGES   (0x3 << 8)

Definition at line 167 of file dmtimer.h.

#define OMAP_TIMER_CTRL_TCM_HIGHTOLOW   (0x2 << 8)

Definition at line 166 of file dmtimer.h.

#define OMAP_TIMER_CTRL_TCM_LOWTOHIGH   (0x1 << 8)

Definition at line 165 of file dmtimer.h.

#define OMAP_TIMER_HAS_DSP_IRQ   0x08000000

Definition at line 63 of file dmtimer.h.

#define OMAP_TIMER_HAS_PWM   0x20000000

Definition at line 61 of file dmtimer.h.

#define OMAP_TIMER_ID_OFFSET   0x00

Definition at line 140 of file dmtimer.h.

#define OMAP_TIMER_IF_CTRL_REG
Value:

Definition at line 227 of file dmtimer.h.

#define OMAP_TIMER_INT_CAPTURE   (1 << 2)

Definition at line 49 of file dmtimer.h.

#define OMAP_TIMER_INT_MATCH   (1 << 0)

Definition at line 51 of file dmtimer.h.

#define OMAP_TIMER_INT_OVERFLOW   (1 << 1)

Definition at line 50 of file dmtimer.h.

#define OMAP_TIMER_LOAD_REG
Value:

Definition at line 212 of file dmtimer.h.

#define OMAP_TIMER_MATCH_REG
Value:

Definition at line 221 of file dmtimer.h.

#define OMAP_TIMER_NEEDS_RESET   0x10000000

Definition at line 62 of file dmtimer.h.

#define OMAP_TIMER_OCP_CFG_OFFSET   0x10

Definition at line 141 of file dmtimer.h.

#define OMAP_TIMER_SECURE   0x80000000

Definition at line 59 of file dmtimer.h.

#define OMAP_TIMER_SRC_32_KHZ   0x01

Definition at line 45 of file dmtimer.h.

#define OMAP_TIMER_SRC_EXT_CLK   0x02

Definition at line 46 of file dmtimer.h.

#define OMAP_TIMER_SRC_SYS_CLK   0x00

Definition at line 44 of file dmtimer.h.

#define OMAP_TIMER_TICK_COUNT_REG
Value:

Definition at line 239 of file dmtimer.h.

#define OMAP_TIMER_TICK_INT_MASK_COUNT_REG   (_OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET | (WP_TOWR << WPSHIFT))

Definition at line 245 of file dmtimer.h.

#define OMAP_TIMER_TICK_INT_MASK_SET_REG   (_OMAP_TIMER_TICK_INT_MASK_SET_OFFSET | (WP_TOCR << WPSHIFT))

Definition at line 242 of file dmtimer.h.

#define OMAP_TIMER_TICK_NEG_REG
Value:

Definition at line 236 of file dmtimer.h.

#define OMAP_TIMER_TICK_POS_REG
Value:

Definition at line 233 of file dmtimer.h.

#define OMAP_TIMER_TRIGGER_NONE   0x00

Definition at line 54 of file dmtimer.h.

#define OMAP_TIMER_TRIGGER_OVERFLOW   0x01

Definition at line 55 of file dmtimer.h.

#define OMAP_TIMER_TRIGGER_OVERFLOW_AND_COMPARE   0x02

Definition at line 56 of file dmtimer.h.

#define OMAP_TIMER_TRIGGER_REG
Value:

Definition at line 215 of file dmtimer.h.

#define OMAP_TIMER_V1_INT_EN_OFFSET   0x1c

Definition at line 145 of file dmtimer.h.

#define OMAP_TIMER_V1_STAT_OFFSET   0x18

Definition at line 144 of file dmtimer.h.

#define OMAP_TIMER_V1_SYS_STAT_OFFSET   0x14

Definition at line 143 of file dmtimer.h.

#define OMAP_TIMER_V2_FUNC_OFFSET   0x14

Definition at line 158 of file dmtimer.h.

#define OMAP_TIMER_V2_IRQENABLE_CLR   0x30

Definition at line 150 of file dmtimer.h.

#define OMAP_TIMER_V2_IRQENABLE_SET   0x2c

Definition at line 149 of file dmtimer.h.

#define OMAP_TIMER_V2_IRQSTATUS   0x28

Definition at line 148 of file dmtimer.h.

#define OMAP_TIMER_V2_IRQSTATUS_RAW   0x24

Definition at line 147 of file dmtimer.h.

#define OMAP_TIMER_WAKEUP_EN_REG
Value:

Definition at line 203 of file dmtimer.h.

#define OMAP_TIMER_WRITE_PEND_REG
Value:

Definition at line 218 of file dmtimer.h.

#define WP_NONE   0 /* no write pending bit */

Definition at line 179 of file dmtimer.h.

#define WP_TCLR   (1 << 0)

Definition at line 180 of file dmtimer.h.

#define WP_TCRR   (1 << 1)

Definition at line 181 of file dmtimer.h.

#define WP_TCVR   (1 << 7)

Definition at line 187 of file dmtimer.h.

#define WP_TLDR   (1 << 2)

Definition at line 182 of file dmtimer.h.

#define WP_TMAR   (1 << 4)

Definition at line 184 of file dmtimer.h.

#define WP_TNIR   (1 << 6)

Definition at line 186 of file dmtimer.h.

#define WP_TOCR   (1 << 8)

Definition at line 188 of file dmtimer.h.

#define WP_TOWR   (1 << 9)

Definition at line 189 of file dmtimer.h.

#define WP_TPIR   (1 << 5)

Definition at line 185 of file dmtimer.h.

#define WP_TTGR   (1 << 3)

Definition at line 183 of file dmtimer.h.

#define WPSHIFT   16

Definition at line 201 of file dmtimer.h.

Function Documentation

void omap_dm_timer_disable ( struct omap_dm_timer timer)

Definition at line 259 of file dmtimer.c.

void omap_dm_timer_enable ( struct omap_dm_timer timer)

Definition at line 253 of file dmtimer.c.

int omap_dm_timer_free ( struct omap_dm_timer timer)

Definition at line 240 of file dmtimer.c.

struct clk* omap_dm_timer_get_fclk ( struct omap_dm_timer timer)
read

Definition at line 311 of file dmtimer.c.

int omap_dm_timer_get_irq ( struct omap_dm_timer timer)

Definition at line 265 of file dmtimer.c.

u32 omap_dm_timer_modify_idlect_mask ( u32  inputmask)

Definition at line 319 of file dmtimer.c.

int omap_dm_timer_prepare ( struct omap_dm_timer timer)

Definition at line 136 of file dmtimer.c.

unsigned int omap_dm_timer_read_counter ( struct omap_dm_timer timer)

Definition at line 640 of file dmtimer.c.

unsigned int omap_dm_timer_read_status ( struct omap_dm_timer timer)

Definition at line 613 of file dmtimer.c.

struct omap_dm_timer* omap_dm_timer_request ( void  )
read

Definition at line 177 of file dmtimer.c.

struct omap_dm_timer* omap_dm_timer_request_specific ( int  timer_id)
read

Definition at line 209 of file dmtimer.c.

int omap_dm_timer_reserve_systimer ( int  id)

Definition at line 167 of file dmtimer.c.

int omap_dm_timer_set_int_enable ( struct omap_dm_timer timer,
unsigned int  value 
)

Definition at line 596 of file dmtimer.c.

int omap_dm_timer_set_load ( struct omap_dm_timer timer,
int  autoreload,
unsigned int  value 
)

Definition at line 460 of file dmtimer.c.

int omap_dm_timer_set_load_start ( struct omap_dm_timer timer,
int  autoreload,
unsigned int  value 
)

Definition at line 487 of file dmtimer.c.

int omap_dm_timer_set_match ( struct omap_dm_timer timer,
int  enable,
unsigned int  match 
)

Definition at line 522 of file dmtimer.c.

int omap_dm_timer_set_prescaler ( struct omap_dm_timer timer,
int  prescaler 
)

Definition at line 573 of file dmtimer.c.

int omap_dm_timer_set_pwm ( struct omap_dm_timer timer,
int  def_on,
int  toggle,
int  trigger 
)

Definition at line 547 of file dmtimer.c.

int omap_dm_timer_set_source ( struct omap_dm_timer timer,
int  source 
)

Definition at line 397 of file dmtimer.c.

int omap_dm_timer_start ( struct omap_dm_timer timer)

Definition at line 341 of file dmtimer.c.

int omap_dm_timer_stop ( struct omap_dm_timer timer)

Definition at line 368 of file dmtimer.c.

int omap_dm_timer_trigger ( struct omap_dm_timer timer)

Definition at line 329 of file dmtimer.c.

int omap_dm_timer_write_counter ( struct omap_dm_timer timer,
unsigned int  value 
)

Definition at line 651 of file dmtimer.c.

int omap_dm_timer_write_status ( struct omap_dm_timer timer,
unsigned int  value 
)

Definition at line 628 of file dmtimer.c.

int omap_dm_timers_active ( void  )

Definition at line 666 of file dmtimer.c.