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*5d5f1b60SRayhan Faizel #include "hw/nvram/bcm2835_otp.h" 15db1015e9SEduardo Habkost #include "qom/object.h" 1604f1ab15SAndrew Baumann 1704f1ab15SAndrew Baumann #define TYPE_BCM2835_PROPERTY "bcm2835-property" 188063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(BCM2835PropertyState, BCM2835_PROPERTY) 1904f1ab15SAndrew Baumann 20db1015e9SEduardo Habkost struct BCM2835PropertyState { 2104f1ab15SAndrew Baumann /*< private >*/ 2204f1ab15SAndrew Baumann SysBusDevice busdev; 2304f1ab15SAndrew Baumann /*< public >*/ 24355a8cccSGrégory ESTRADE 2504f1ab15SAndrew Baumann MemoryRegion *dma_mr; 2604f1ab15SAndrew Baumann AddressSpace dma_as; 2704f1ab15SAndrew Baumann MemoryRegion iomem; 2804f1ab15SAndrew Baumann qemu_irq mbox_irq; 29355a8cccSGrégory ESTRADE BCM2835FBState *fbdev; 30*5d5f1b60SRayhan Faizel BCM2835OTPState *otp; 31355a8cccSGrégory ESTRADE 3204f1ab15SAndrew Baumann MACAddr macaddr; 33f0afa731SStephen Warren uint32_t board_rev; 3404f1ab15SAndrew Baumann uint32_t addr; 35f802ff1eSDaniel Bertalan char *command_line; 3604f1ab15SAndrew Baumann bool pending; 37db1015e9SEduardo Habkost }; 3804f1ab15SAndrew Baumann 3904f1ab15SAndrew Baumann #endif 40