xref: /openbmc/qemu/include/hw/timer/armv7m_systick.h (revision 438c78da)
1 /*
2  * ARMv7M SysTick timer
3  *
4  * Copyright (c) 2006-2007 CodeSourcery.
5  * Written by Paul Brook
6  * Copyright (c) 2017 Linaro Ltd
7  * Written by Peter Maydell
8  *
9  * This code is licensed under the GPL (version 2 or later).
10  */
11 
12 #ifndef HW_TIMER_ARMV7M_SYSTICK_H
13 #define HW_TIMER_ARMV7M_SYSTICK_H
14 
15 #include "hw/sysbus.h"
16 
17 #define TYPE_SYSTICK "armv7m_systick"
18 
19 #define SYSTICK(obj) OBJECT_CHECK(SysTickState, (obj), TYPE_SYSTICK)
20 
21 typedef struct SysTickState {
22     /*< private >*/
23     SysBusDevice parent_obj;
24     /*< public >*/
25 
26     uint32_t control;
27     uint32_t reload;
28     int64_t tick;
29     QEMUTimer *timer;
30     MemoryRegion iomem;
31     qemu_irq irq;
32 } SysTickState;
33 
34 #endif
35