1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef _gp_timer_defs_h
17#define _gp_timer_defs_h
18
19#define _HRT_GP_TIMER_REG_ALIGN 4
20
21#define HIVE_GP_TIMER_RESET_REG_IDX 0
22#define HIVE_GP_TIMER_OVERALL_ENABLE_REG_IDX 1
23#define HIVE_GP_TIMER_ENABLE_REG_IDX(timer) (HIVE_GP_TIMER_OVERALL_ENABLE_REG_IDX + 1 + timer)
24#define HIVE_GP_TIMER_VALUE_REG_IDX(timer, timers) (HIVE_GP_TIMER_ENABLE_REG_IDX(timers) + timer)
25#define HIVE_GP_TIMER_COUNT_TYPE_REG_IDX(timer, timers) (HIVE_GP_TIMER_VALUE_REG_IDX(timers, timers) + timer)
26#define HIVE_GP_TIMER_SIGNAL_SELECT_REG_IDX(timer, timers) (HIVE_GP_TIMER_COUNT_TYPE_REG_IDX(timers, timers) + timer)
27#define HIVE_GP_TIMER_IRQ_TRIGGER_VALUE_REG_IDX(irq, timers) (HIVE_GP_TIMER_SIGNAL_SELECT_REG_IDX(timers, timers) + irq)
28#define HIVE_GP_TIMER_IRQ_TIMER_SELECT_REG_IDX(irq, timers, irqs) (HIVE_GP_TIMER_IRQ_TRIGGER_VALUE_REG_IDX(irqs, timers) + irq)
29#define HIVE_GP_TIMER_IRQ_ENABLE_REG_IDX(irq, timers, irqs) (HIVE_GP_TIMER_IRQ_TIMER_SELECT_REG_IDX(irqs, timers, irqs) + irq)
30
31#define HIVE_GP_TIMER_COUNT_TYPE_HIGH 0
32#define HIVE_GP_TIMER_COUNT_TYPE_LOW 1
33#define HIVE_GP_TIMER_COUNT_TYPE_POSEDGE 2
34#define HIVE_GP_TIMER_COUNT_TYPE_NEGEDGE 3
35#define HIVE_GP_TIMER_COUNT_TYPES 4
36
37#endif
38