File size: 922 Bytes
829b19c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * HAL — Timer driver for OMAP3530 GP Timers
 * Uses 26 MHz reference clock
 */

#ifndef FIRMWARE_HAL_TIMER_H
#define FIRMWARE_HAL_TIMER_H

#include "../common/types.h"
#include "../common/platform.h"

typedef struct {
    hw_reg32_t base;
    uint32_t   clock_hz;
} timer_dev_t;

void     timer_init(timer_dev_t *dev, uint32_t base, uint32_t clock_hz);
void     timer_start(timer_dev_t *dev);
void     timer_stop(timer_dev_t *dev);
void     timer_set_period_ms(timer_dev_t *dev, uint32_t ms);
void     timer_set_period_us(timer_dev_t *dev, uint32_t us);
uint32_t timer_get_count(timer_dev_t *dev);
void     timer_reset(timer_dev_t *dev);
int      timer_expired(timer_dev_t *dev);
void     timer_clear_irq(timer_dev_t *dev);
void     timer_enable_irq(timer_dev_t *dev);
void     timer_delay_ms(timer_dev_t *dev, uint32_t ms);
void     timer_delay_us(timer_dev_t *dev, uint32_t us);

#endif /* FIRMWARE_HAL_TIMER_H */