xref: /openbmc/qemu/include/hw/arm/bcm2836.h (revision 4a09d0bb)
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     uint32_t enabled_cpus;
29 
30     ARMCPU cpus[BCM2836_NCPUS];
31     BCM2836ControlState control;
32     BCM2835PeripheralState peripherals;
33 } BCM2836State;
34 
35 #endif /* BCM2836_H */
36