xref: /qemu/include/hw/misc/bcm2835_property.h (revision db1015e92e04835c9eb50c29625fe566d1202dbd)
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