pi: cross-port refactoring/cleanup from private branch used for ongoing upstreaming
[qemu/ar7.git] / include / hw / intc / bcm2835_ic.h
blobd897f44da1b013aca11ccb09ac34f0d48a6b8212
1 /*
2 * Raspberry Pi emulation (c) 2012 Gregory Estrade
3 * This code is licensed under the GNU GPLv2 and later.
4 */
6 #ifndef BCM2835_IC_H
7 #define BCM2835_IC_H
9 #include "hw/sysbus.h"
11 #define TYPE_BCM2835_IC "bcm2835_ic"
12 #define BCM2835_IC(obj) OBJECT_CHECK(BCM2835ICState, (obj), TYPE_BCM2835_IC)
14 #define BCM2835_IC_GPU_IRQ "gpu-irq"
15 #define BCM2835_IC_ARM_IRQ "arm-irq"
17 typedef struct BCM2835ICState {
18 /*< private >*/
19 SysBusDevice busdev;
20 /*< public >*/
22 MemoryRegion iomem;
24 /* 64 GPU IRQs + 8 ARM IRQs = 72 total (GPU first) */
25 uint64_t gpu_irq_level, gpu_irq_enable;
26 uint8_t arm_irq_level, arm_irq_enable;
27 bool fiq_enable;
28 uint8_t fiq_select;
29 qemu_irq irq;
30 qemu_irq fiq;
31 } BCM2835ICState;
33 #endif