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