xref: /qemu/include/hw/misc/bcm2835_property.h (revision 355a8ccc5c57b7ce8758585e2d5d8b7f82b38bec)
104f1ab15SAndrew Baumann /*
204f1ab15SAndrew Baumann  * Raspberry Pi emulation (c) 2012 Gregory Estrade
304f1ab15SAndrew Baumann  * This code is licensed under the GNU GPLv2 and later.
404f1ab15SAndrew Baumann  */
504f1ab15SAndrew Baumann 
604f1ab15SAndrew Baumann #ifndef BCM2835_PROPERTY_H
704f1ab15SAndrew Baumann #define BCM2835_PROPERTY_H
804f1ab15SAndrew Baumann 
904f1ab15SAndrew Baumann #include "hw/sysbus.h"
1004f1ab15SAndrew Baumann #include "exec/address-spaces.h"
1104f1ab15SAndrew Baumann #include "net/net.h"
12*355a8cccSGrégory ESTRADE #include "hw/display/bcm2835_fb.h"
1304f1ab15SAndrew Baumann 
1404f1ab15SAndrew Baumann #define TYPE_BCM2835_PROPERTY "bcm2835-property"
1504f1ab15SAndrew Baumann #define BCM2835_PROPERTY(obj) \
1604f1ab15SAndrew Baumann         OBJECT_CHECK(BCM2835PropertyState, (obj), TYPE_BCM2835_PROPERTY)
1704f1ab15SAndrew Baumann 
1804f1ab15SAndrew Baumann typedef struct {
1904f1ab15SAndrew Baumann     /*< private >*/
2004f1ab15SAndrew Baumann     SysBusDevice busdev;
2104f1ab15SAndrew Baumann     /*< public >*/
22*355a8cccSGrégory ESTRADE 
2304f1ab15SAndrew Baumann     MemoryRegion *dma_mr;
2404f1ab15SAndrew Baumann     AddressSpace dma_as;
2504f1ab15SAndrew Baumann     MemoryRegion iomem;
2604f1ab15SAndrew Baumann     qemu_irq mbox_irq;
27*355a8cccSGrégory ESTRADE     BCM2835FBState *fbdev;
28*355a8cccSGrégory ESTRADE 
2904f1ab15SAndrew Baumann     MACAddr macaddr;
30f0afa731SStephen Warren     uint32_t board_rev;
3104f1ab15SAndrew Baumann     uint32_t addr;
3204f1ab15SAndrew Baumann     bool pending;
3304f1ab15SAndrew Baumann } BCM2835PropertyState;
3404f1ab15SAndrew Baumann 
3504f1ab15SAndrew Baumann #endif
36