apic: move target-dependent definitions to cpu.h
[qemu.git] / include / hw / display / bcm2835_fb.h
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 BCM2835_FB_H
12 #define BCM2835_FB_H
13
14 #include "hw/sysbus.h"
15 #include "exec/address-spaces.h"
16 #include "ui/console.h"
17
18 #define TYPE_BCM2835_FB "bcm2835-fb"
19 #define BCM2835_FB(obj) OBJECT_CHECK(BCM2835FBState, (obj), TYPE_BCM2835_FB)
20
21 typedef struct {
22 /*< private >*/
23 SysBusDevice busdev;
24 /*< public >*/
25
26 uint32_t vcram_base, vcram_size;
27 MemoryRegion *dma_mr;
28 AddressSpace dma_as;
29 MemoryRegion iomem;
30 MemoryRegionSection fbsection;
31 QemuConsole *con;
32 qemu_irq mbox_irq;
33
34 bool lock, invalidate, pending;
35 uint32_t xres, yres;
36 uint32_t xres_virtual, yres_virtual;
37 uint32_t xoffset, yoffset;
38 uint32_t bpp;
39 uint32_t base, pitch, size;
40 uint32_t pixo, alpha;
41 } BCM2835FBState;
42
43 void bcm2835_fb_reconfigure(BCM2835FBState *s, uint32_t *xres, uint32_t *yres,
44 uint32_t *xoffset, uint32_t *yoffset, uint32_t *bpp,
45 uint32_t *pixo, uint32_t *alpha);
46
47 #endif