bcm2835_mbox.h (833B)
1/* 2 * Raspberry Pi emulation (c) 2012 Gregory Estrade 3 * 4 * This work is licensed under the terms of the GNU GPL, version 2 or later. 5 * See the COPYING file in the top-level directory. 6 */ 7 8#ifndef BCM2835_MBOX_H 9#define BCM2835_MBOX_H 10 11#include "bcm2835_mbox_defs.h" 12#include "hw/sysbus.h" 13#include "qom/object.h" 14 15#define TYPE_BCM2835_MBOX "bcm2835-mbox" 16OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MboxState, BCM2835_MBOX) 17 18typedef struct { 19 uint32_t reg[MBOX_SIZE]; 20 uint32_t count; 21 uint32_t status; 22 uint32_t config; 23} BCM2835Mbox; 24 25struct BCM2835MboxState { 26 /*< private >*/ 27 SysBusDevice busdev; 28 /*< public >*/ 29 MemoryRegion *mbox_mr; 30 AddressSpace mbox_as; 31 MemoryRegion iomem; 32 qemu_irq arm_irq; 33 34 bool mbox_irq_disabled; 35 bool available[MBOX_CHAN_COUNT]; 36 BCM2835Mbox mbox[2]; 37}; 38 39#endif