]>
Commit | Line | Data |
---|---|---|
7c62aeb8 AB |
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 | * | |
6111a0c0 PMD |
8 | * This work is licensed under the terms of the GNU GPL, version 2 or later. |
9 | * See the COPYING file in the top-level directory. | |
7c62aeb8 AB |
10 | */ |
11 | ||
12 | #ifndef BCM2835_PERIPHERALS_H | |
13 | #define BCM2835_PERIPHERALS_H | |
14 | ||
7c62aeb8 | 15 | #include "hw/sysbus.h" |
0a21950e | 16 | #include "hw/char/pl011.h" |
97398d90 | 17 | #include "hw/char/bcm2835_aux.h" |
5e9c2a8d | 18 | #include "hw/display/bcm2835_fb.h" |
6717f587 | 19 | #include "hw/dma/bcm2835_dma.h" |
7c62aeb8 AB |
20 | #include "hw/intc/bcm2835_ic.h" |
21 | #include "hw/misc/bcm2835_property.h" | |
54a5ba13 | 22 | #include "hw/misc/bcm2835_rng.h" |
7c62aeb8 | 23 | #include "hw/misc/bcm2835_mbox.h" |
3d46938b | 24 | #include "hw/misc/bcm2835_mphi.h" |
d442d95f | 25 | #include "hw/misc/bcm2835_thermal.h" |
7c62aeb8 | 26 | #include "hw/sd/sdhci.h" |
1eeb5c7d CD |
27 | #include "hw/sd/bcm2835_sdhost.h" |
28 | #include "hw/gpio/bcm2835_gpio.h" | |
0e5bbd74 | 29 | #include "hw/timer/bcm2835_systmr.h" |
60bf734e | 30 | #include "hw/usb/hcd-dwc2.h" |
00cbd5bd | 31 | #include "hw/misc/unimp.h" |
db1015e9 | 32 | #include "qom/object.h" |
7c62aeb8 AB |
33 | |
34 | #define TYPE_BCM2835_PERIPHERALS "bcm2835-peripherals" | |
8063396b | 35 | OBJECT_DECLARE_SIMPLE_TYPE(BCM2835PeripheralState, BCM2835_PERIPHERALS) |
7c62aeb8 | 36 | |
db1015e9 | 37 | struct BCM2835PeripheralState { |
7c62aeb8 AB |
38 | /*< private >*/ |
39 | SysBusDevice parent_obj; | |
40 | /*< public >*/ | |
41 | ||
42 | MemoryRegion peri_mr, peri_mr_alias, gpu_bus_mr, mbox_mr; | |
43 | MemoryRegion ram_alias[4]; | |
44 | qemu_irq irq, fiq; | |
45 | ||
0e5bbd74 | 46 | BCM2835SystemTimerState systmr; |
3d46938b | 47 | BCM2835MphiState mphi; |
00cbd5bd PMD |
48 | UnimplementedDeviceState armtmr; |
49 | UnimplementedDeviceState cprman; | |
50 | UnimplementedDeviceState a2w; | |
948770b0 | 51 | PL011State uart0; |
97398d90 | 52 | BCM2835AuxState aux; |
5e9c2a8d | 53 | BCM2835FBState fb; |
6717f587 | 54 | BCM2835DMAState dma; |
7c62aeb8 AB |
55 | BCM2835ICState ic; |
56 | BCM2835PropertyState property; | |
54a5ba13 | 57 | BCM2835RngState rng; |
7c62aeb8 AB |
58 | BCM2835MboxState mboxes; |
59 | SDHCIState sdhci; | |
1eeb5c7d CD |
60 | BCM2835SDHostState sdhost; |
61 | BCM2835GpioState gpio; | |
d442d95f | 62 | Bcm2835ThermalState thermal; |
00cbd5bd PMD |
63 | UnimplementedDeviceState i2s; |
64 | UnimplementedDeviceState spi[1]; | |
65 | UnimplementedDeviceState i2c[3]; | |
66 | UnimplementedDeviceState otp; | |
67 | UnimplementedDeviceState dbus; | |
68 | UnimplementedDeviceState ave0; | |
69 | UnimplementedDeviceState bscsl; | |
70 | UnimplementedDeviceState smi; | |
60bf734e | 71 | DWC2State dwc2; |
00cbd5bd | 72 | UnimplementedDeviceState sdramc; |
db1015e9 | 73 | }; |
7c62aeb8 AB |
74 | |
75 | #endif /* BCM2835_PERIPHERALS_H */ |