| /* |
| * Raspberry Pi emulation (c) 2012 Gregory Estrade |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| * See the COPYING file in the top-level directory. |
| */ |
| |
| #ifndef BCM2835_IC_H |
| #define BCM2835_IC_H |
| |
| #include "hw/sysbus.h" |
| #include "qom/object.h" |
| |
| #define TYPE_BCM2835_IC "bcm2835-ic" |
| OBJECT_DECLARE_SIMPLE_TYPE(BCM2835ICState, BCM2835_IC) |
| |
| #define BCM2835_IC_GPU_IRQ "gpu-irq" |
| #define BCM2835_IC_ARM_IRQ "arm-irq" |
| |
| struct BCM2835ICState { |
| /*< private >*/ |
| SysBusDevice busdev; |
| /*< public >*/ |
| |
| MemoryRegion iomem; |
| qemu_irq irq; |
| qemu_irq fiq; |
| |
| /* 64 GPU IRQs + 8 ARM IRQs = 72 total (GPU first) */ |
| uint64_t gpu_irq_level, gpu_irq_enable; |
| uint8_t arm_irq_level, arm_irq_enable; |
| bool fiq_enable; |
| uint8_t fiq_select; |
| }; |
| |
| #endif |