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