]> git.proxmox.com Git - mirror_qemu.git/blob - include/hw/misc/bcm2835_mbox.h
Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-signed' into staging
[mirror_qemu.git] / include / hw / misc / bcm2835_mbox.h
1 /*
2 * Raspberry Pi emulation (c) 2012 Gregory Estrade
3 * This code is licensed under the GNU GPLv2 and later.
4 */
5
6 #ifndef BCM2835_MBOX_H
7 #define BCM2835_MBOX_H
8
9 #include "bcm2835_mbox_defs.h"
10 #include "hw/sysbus.h"
11 #include "exec/address-spaces.h"
12
13 #define TYPE_BCM2835_MBOX "bcm2835-mbox"
14 #define BCM2835_MBOX(obj) \
15 OBJECT_CHECK(BCM2835MboxState, (obj), TYPE_BCM2835_MBOX)
16
17 typedef struct {
18 uint32_t reg[MBOX_SIZE];
19 uint32_t count;
20 uint32_t status;
21 uint32_t config;
22 } BCM2835Mbox;
23
24 typedef struct {
25 /*< private >*/
26 SysBusDevice busdev;
27 /*< public >*/
28 MemoryRegion *mbox_mr;
29 AddressSpace mbox_as;
30 MemoryRegion iomem;
31 qemu_irq arm_irq;
32
33 bool mbox_irq_disabled;
34 bool available[MBOX_CHAN_COUNT];
35 BCM2835Mbox mbox[2];
36 } BCM2835MboxState;
37
38 #endif