xref: /openbmc/qemu/include/hw/timer/bcm2835_systmr.h (revision 8fa3b702)
1 /*
2  * BCM2835 SYS timer emulation
3  *
4  * Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
5  *
6  * SPDX-License-Identifier: GPL-2.0-or-later
7  */
8 
9 #ifndef BCM2835_SYSTIMER_H
10 #define BCM2835_SYSTIMER_H
11 
12 #include "hw/sysbus.h"
13 #include "hw/irq.h"
14 #include "qom/object.h"
15 
16 #define TYPE_BCM2835_SYSTIMER "bcm2835-sys-timer"
17 typedef struct BCM2835SystemTimerState BCM2835SystemTimerState;
18 DECLARE_INSTANCE_CHECKER(BCM2835SystemTimerState, BCM2835_SYSTIMER,
19                          TYPE_BCM2835_SYSTIMER)
20 
21 struct BCM2835SystemTimerState {
22     /*< private >*/
23     SysBusDevice parent_obj;
24 
25     /*< public >*/
26     MemoryRegion iomem;
27     qemu_irq irq;
28 
29     struct {
30         uint32_t status;
31         uint32_t compare[4];
32     } reg;
33 };
34 
35 #endif
36