xref: /openbmc/qemu/include/hw/arm/bcm2836.h (revision dc5bd18f)
1 /*
2  * Raspberry Pi emulation (c) 2012 Gregory Estrade
3  * Upstreaming code cleanup [including bcm2835_*] (c) 2013 Jan Petrous
4  *
5  * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
6  * Written by Andrew Baumann
7  *
8  * This code is licensed under the GNU GPLv2 and later.
9  */
10 
11 #ifndef BCM2836_H
12 #define BCM2836_H
13 
14 #include "hw/arm/arm.h"
15 #include "hw/arm/bcm2835_peripherals.h"
16 #include "hw/intc/bcm2836_control.h"
17 
18 #define TYPE_BCM2836 "bcm2836"
19 #define BCM2836(obj) OBJECT_CHECK(BCM2836State, (obj), TYPE_BCM2836)
20 
21 #define BCM2836_NCPUS 4
22 
23 typedef struct BCM2836State {
24     /*< private >*/
25     DeviceState parent_obj;
26     /*< public >*/
27 
28     char *cpu_type;
29     uint32_t enabled_cpus;
30 
31     ARMCPU cpus[BCM2836_NCPUS];
32     BCM2836ControlState control;
33     BCM2835PeripheralState peripherals;
34 } BCM2836State;
35 
36 #endif /* BCM2836_H */
37