bcm2835_dma: refactor to use header file
[qemu/ar7.git] / include / hw / dma / bcm2835_dma.h
blob9b8bc6e934aa5ad501f2cc1f98a80f6dc81fa0a6
1 /*
2 * Raspberry Pi emulation (c) 2012 Gregory Estrade
3 * Upstreaming code cleanup [including bcm2835_*] (c) 2013 Jan Petrous
5 * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
6 * Written by Andrew Baumann
8 * This code is licensed under the GNU GPLv2 and later.
9 */
11 #ifndef BCM2835_DMA_H
12 #define BCM2835_DMA_H
14 #include "qemu-common.h"
15 #include "exec/address-spaces.h"
16 #include "hw/sysbus.h"
18 typedef struct {
19 uint32_t cs;
20 uint32_t conblk_ad;
21 uint32_t ti;
22 uint32_t source_ad;
23 uint32_t dest_ad;
24 uint32_t txfr_len;
25 uint32_t stride;
26 uint32_t nextconbk;
27 uint32_t debug;
29 qemu_irq irq;
30 } BCM2835DmaChan;
32 #define TYPE_BCM2835_DMA "bcm2835_dma"
33 #define BCM2835_DMA(obj) \
34 OBJECT_CHECK(BCM2835DmaState, (obj), TYPE_BCM2835_DMA)
36 typedef struct {
37 SysBusDevice busdev;
38 MemoryRegion iomem0_14;
39 MemoryRegion iomem15;
40 MemoryRegion *dma_mr;
41 AddressSpace dma_as;
43 BCM2835DmaChan chan[16];
44 uint32_t int_status;
45 uint32_t enable;
46 } BCM2835DmaState;
48 #endif