104f1ab15SAndrew Baumann /* 204f1ab15SAndrew Baumann * Raspberry Pi emulation (c) 2012 Gregory Estrade 36111a0c0SPhilippe Mathieu-Daudé * 46111a0c0SPhilippe Mathieu-Daudé * This work is licensed under the terms of the GNU GPL, version 2 or later. 56111a0c0SPhilippe Mathieu-Daudé * See the COPYING file in the top-level directory. 604f1ab15SAndrew Baumann */ 704f1ab15SAndrew Baumann 804f1ab15SAndrew Baumann #ifndef BCM2835_PROPERTY_H 904f1ab15SAndrew Baumann #define BCM2835_PROPERTY_H 1004f1ab15SAndrew Baumann 1104f1ab15SAndrew Baumann #include "hw/sysbus.h" 1204f1ab15SAndrew Baumann #include "net/net.h" 13355a8cccSGrégory ESTRADE #include "hw/display/bcm2835_fb.h" 14*db1015e9SEduardo Habkost #include "qom/object.h" 1504f1ab15SAndrew Baumann 1604f1ab15SAndrew Baumann #define TYPE_BCM2835_PROPERTY "bcm2835-property" 17*db1015e9SEduardo Habkost typedef struct BCM2835PropertyState BCM2835PropertyState; 1804f1ab15SAndrew Baumann #define BCM2835_PROPERTY(obj) \ 1904f1ab15SAndrew Baumann OBJECT_CHECK(BCM2835PropertyState, (obj), TYPE_BCM2835_PROPERTY) 2004f1ab15SAndrew Baumann 21*db1015e9SEduardo Habkost struct BCM2835PropertyState { 2204f1ab15SAndrew Baumann /*< private >*/ 2304f1ab15SAndrew Baumann SysBusDevice busdev; 2404f1ab15SAndrew Baumann /*< public >*/ 25355a8cccSGrégory ESTRADE 2604f1ab15SAndrew Baumann MemoryRegion *dma_mr; 2704f1ab15SAndrew Baumann AddressSpace dma_as; 2804f1ab15SAndrew Baumann MemoryRegion iomem; 2904f1ab15SAndrew Baumann qemu_irq mbox_irq; 30355a8cccSGrégory ESTRADE BCM2835FBState *fbdev; 31355a8cccSGrégory ESTRADE 3204f1ab15SAndrew Baumann MACAddr macaddr; 33f0afa731SStephen Warren uint32_t board_rev; 3404f1ab15SAndrew Baumann uint32_t addr; 3504f1ab15SAndrew Baumann bool pending; 36*db1015e9SEduardo Habkost }; 3704f1ab15SAndrew Baumann 3804f1ab15SAndrew Baumann #endif 39