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