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" 14db1015e9SEduardo Habkost #include "qom/object.h" 1504f1ab15SAndrew Baumann 1604f1ab15SAndrew Baumann #define TYPE_BCM2835_PROPERTY "bcm2835-property" 178063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(BCM2835PropertyState, BCM2835_PROPERTY) 1804f1ab15SAndrew Baumann 19db1015e9SEduardo Habkost struct BCM2835PropertyState { 2004f1ab15SAndrew Baumann /*< private >*/ 2104f1ab15SAndrew Baumann SysBusDevice busdev; 2204f1ab15SAndrew Baumann /*< public >*/ 23355a8cccSGrégory ESTRADE 2404f1ab15SAndrew Baumann MemoryRegion *dma_mr; 2504f1ab15SAndrew Baumann AddressSpace dma_as; 2604f1ab15SAndrew Baumann MemoryRegion iomem; 2704f1ab15SAndrew Baumann qemu_irq mbox_irq; 28355a8cccSGrégory ESTRADE BCM2835FBState *fbdev; 29355a8cccSGrégory ESTRADE 3004f1ab15SAndrew Baumann MACAddr macaddr; 31f0afa731SStephen Warren uint32_t board_rev; 3204f1ab15SAndrew Baumann uint32_t addr; 33*f802ff1eSDaniel Bertalan char *command_line; 3404f1ab15SAndrew Baumann bool pending; 35db1015e9SEduardo Habkost }; 3604f1ab15SAndrew Baumann 3704f1ab15SAndrew Baumann #endif 38