1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  */
6 
7 #ifndef _gp_timer_defs_h
8 #define _gp_timer_defs_h
9 
10 #define _HRT_GP_TIMER_REG_ALIGN 4
11 
12 #define HIVE_GP_TIMER_RESET_REG_IDX                              0
13 #define HIVE_GP_TIMER_OVERALL_ENABLE_REG_IDX                     1
14 #define HIVE_GP_TIMER_ENABLE_REG_IDX(timer)                     (HIVE_GP_TIMER_OVERALL_ENABLE_REG_IDX + 1 + timer)
15 #define HIVE_GP_TIMER_VALUE_REG_IDX(timer, timers)               (HIVE_GP_TIMER_ENABLE_REG_IDX(timers) + timer)
16 #define HIVE_GP_TIMER_COUNT_TYPE_REG_IDX(timer, timers)          (HIVE_GP_TIMER_VALUE_REG_IDX(timers, timers) + timer)
17 #define HIVE_GP_TIMER_SIGNAL_SELECT_REG_IDX(timer, timers)       (HIVE_GP_TIMER_COUNT_TYPE_REG_IDX(timers, timers) + timer)
18 #define HIVE_GP_TIMER_IRQ_TRIGGER_VALUE_REG_IDX(irq, timers)     (HIVE_GP_TIMER_SIGNAL_SELECT_REG_IDX(timers, timers) + irq)
19 #define HIVE_GP_TIMER_IRQ_TIMER_SELECT_REG_IDX(irq, timers, irqs) (HIVE_GP_TIMER_IRQ_TRIGGER_VALUE_REG_IDX(irqs, timers) + irq)
20 #define HIVE_GP_TIMER_IRQ_ENABLE_REG_IDX(irq, timers, irqs)       (HIVE_GP_TIMER_IRQ_TIMER_SELECT_REG_IDX(irqs, timers, irqs) + irq)
21 
22 #define HIVE_GP_TIMER_COUNT_TYPE_HIGH                            0
23 #define HIVE_GP_TIMER_COUNT_TYPE_LOW                             1
24 #define HIVE_GP_TIMER_COUNT_TYPE_POSEDGE                         2
25 #define HIVE_GP_TIMER_COUNT_TYPE_NEGEDGE                         3
26 #define HIVE_GP_TIMER_COUNT_TYPES                                4
27 
28 #endif /* _gp_timer_defs_h */
29