]> git.proxmox.com Git - mirror_qemu.git/blob - include/hw/misc/bcm2835_mbox.h
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' 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
12 #define TYPE_BCM2835_MBOX "bcm2835-mbox"
13 #define BCM2835_MBOX(obj) \
14 OBJECT_CHECK(BCM2835MboxState, (obj), TYPE_BCM2835_MBOX)
15
16 typedef struct {
17 uint32_t reg[MBOX_SIZE];
18 uint32_t count;
19 uint32_t status;
20 uint32_t config;
21 } BCM2835Mbox;
22
23 typedef struct {
24 /*< private >*/
25 SysBusDevice busdev;
26 /*< public >*/
27 MemoryRegion *mbox_mr;
28 AddressSpace mbox_as;
29 MemoryRegion iomem;
30 qemu_irq arm_irq;
31
32 bool mbox_irq_disabled;
33 bool available[MBOX_CHAN_COUNT];
34 BCM2835Mbox mbox[2];
35 } BCM2835MboxState;
36
37 #endif