1*a4110027SAndrew Jones /* 2*a4110027SAndrew Jones * Copyright (C) 2020, Red Hat Inc, Andrew Jones <drjones@redhat.com> 3*a4110027SAndrew Jones * 4*a4110027SAndrew Jones * This work is licensed under the terms of the GNU LGPL, version 2. 5*a4110027SAndrew Jones */ 6*a4110027SAndrew Jones #ifndef _ASMARM_TIMER_H_ 7*a4110027SAndrew Jones #define _ASMARM_TIMER_H_ 8*a4110027SAndrew Jones 9*a4110027SAndrew Jones #define ARCH_TIMER_CTL_ENABLE (1 << 0) 10*a4110027SAndrew Jones #define ARCH_TIMER_CTL_IMASK (1 << 1) 11*a4110027SAndrew Jones #define ARCH_TIMER_CTL_ISTATUS (1 << 2) 12*a4110027SAndrew Jones 13*a4110027SAndrew Jones #ifndef __ASSEMBLY__ 14*a4110027SAndrew Jones 15*a4110027SAndrew Jones struct timer_state { 16*a4110027SAndrew Jones struct { 17*a4110027SAndrew Jones u32 irq; 18*a4110027SAndrew Jones u32 irq_flags; 19*a4110027SAndrew Jones } ptimer; 20*a4110027SAndrew Jones struct { 21*a4110027SAndrew Jones u32 irq; 22*a4110027SAndrew Jones u32 irq_flags; 23*a4110027SAndrew Jones } vtimer; 24*a4110027SAndrew Jones }; 25*a4110027SAndrew Jones extern struct timer_state __timer_state; 26*a4110027SAndrew Jones 27*a4110027SAndrew Jones #define TIMER_PTIMER_IRQ (__timer_state.ptimer.irq) 28*a4110027SAndrew Jones #define TIMER_VTIMER_IRQ (__timer_state.vtimer.irq) 29*a4110027SAndrew Jones 30*a4110027SAndrew Jones #endif /* !__ASSEMBLY__ */ 31*a4110027SAndrew Jones #endif /* _ASMARM_TIMER_H_ */ 32