blob: 712b76b7a322bf056741233c5bf98cccc5fa0f0a [file] [log] [blame]
Andrew Baumann04f1ab12016-01-29 14:50:38 -08001/*
2 * Raspberry Pi emulation (c) 2012 Gregory Estrade
Philippe Mathieu-Daudé6111a0c2020-03-23 17:22:30 +00003 *
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
5 * See the COPYING file in the top-level directory.
Andrew Baumann04f1ab12016-01-29 14:50:38 -08006 */
7
8#ifndef BCM2835_PROPERTY_H
9#define BCM2835_PROPERTY_H
10
11#include "hw/sysbus.h"
Andrew Baumann04f1ab12016-01-29 14:50:38 -080012#include "net/net.h"
Grégory ESTRADE355a8cc2016-03-16 17:06:01 +000013#include "hw/display/bcm2835_fb.h"
Eduardo Habkostdb1015e2020-09-03 16:43:22 -040014#include "qom/object.h"
Andrew Baumann04f1ab12016-01-29 14:50:38 -080015
16#define TYPE_BCM2835_PROPERTY "bcm2835-property"
Eduardo Habkost80633962020-09-16 14:25:19 -040017OBJECT_DECLARE_SIMPLE_TYPE(BCM2835PropertyState, BCM2835_PROPERTY)
Andrew Baumann04f1ab12016-01-29 14:50:38 -080018
Eduardo Habkostdb1015e2020-09-03 16:43:22 -040019struct BCM2835PropertyState {
Andrew Baumann04f1ab12016-01-29 14:50:38 -080020 /*< private >*/
21 SysBusDevice busdev;
22 /*< public >*/
Grégory ESTRADE355a8cc2016-03-16 17:06:01 +000023
Andrew Baumann04f1ab12016-01-29 14:50:38 -080024 MemoryRegion *dma_mr;
25 AddressSpace dma_as;
26 MemoryRegion iomem;
27 qemu_irq mbox_irq;
Grégory ESTRADE355a8cc2016-03-16 17:06:01 +000028 BCM2835FBState *fbdev;
29
Andrew Baumann04f1ab12016-01-29 14:50:38 -080030 MACAddr macaddr;
Stephen Warrenf0afa732016-02-11 11:17:32 +000031 uint32_t board_rev;
Andrew Baumann04f1ab12016-01-29 14:50:38 -080032 uint32_t addr;
33 bool pending;
Eduardo Habkostdb1015e2020-09-03 16:43:22 -040034};
Andrew Baumann04f1ab12016-01-29 14:50:38 -080035
36#endif