]> git.ipfire.org Git - thirdparty/qemu.git/blame - include/hw/sparc/sparc32_dma.h
Use OBJECT_DECLARE_SIMPLE_TYPE when possible
[thirdparty/qemu.git] / include / hw / sparc / sparc32_dma.h
CommitLineData
87ecb68b
PB
1#ifndef SPARC32_DMA_H
2#define SPARC32_DMA_H
3
9db2cf3f 4#include "hw/sysbus.h"
7f773ff5 5#include "hw/scsi/esp.h"
e6ca02a4 6#include "hw/net/lance.h"
db1015e9 7#include "qom/object.h"
9db2cf3f
MCA
8
9#define DMA_REGS 4
10
11#define TYPE_SPARC32_DMA_DEVICE "sparc32-dma-device"
8063396b 12OBJECT_DECLARE_SIMPLE_TYPE(DMADeviceState, SPARC32_DMA_DEVICE)
9db2cf3f 13
9db2cf3f
MCA
14
15struct DMADeviceState {
16 SysBusDevice parent_obj;
17
18 MemoryRegion iomem;
19 uint32_t dmaregs[DMA_REGS];
20 qemu_irq irq;
21 void *iommu;
22 qemu_irq gpio[2];
9db2cf3f
MCA
23};
24
25#define TYPE_SPARC32_ESPDMA_DEVICE "sparc32-espdma"
8063396b 26OBJECT_DECLARE_SIMPLE_TYPE(ESPDMADeviceState, SPARC32_ESPDMA_DEVICE)
9db2cf3f 27
db1015e9 28struct ESPDMADeviceState {
9db2cf3f 29 DMADeviceState parent_obj;
7f773ff5
MCA
30
31 SysBusESPState *esp;
db1015e9 32};
9db2cf3f
MCA
33
34#define TYPE_SPARC32_LEDMA_DEVICE "sparc32-ledma"
8063396b 35OBJECT_DECLARE_SIMPLE_TYPE(LEDMADeviceState, SPARC32_LEDMA_DEVICE)
9db2cf3f 36
db1015e9 37struct LEDMADeviceState {
9db2cf3f 38 DMADeviceState parent_obj;
e6ca02a4
MCA
39
40 SysBusPCNetState *lance;
db1015e9 41};
9db2cf3f 42
6aa62ed6 43#define TYPE_SPARC32_DMA "sparc32-dma"
8063396b 44OBJECT_DECLARE_SIMPLE_TYPE(SPARC32DMAState, SPARC32_DMA)
6aa62ed6 45
db1015e9 46struct SPARC32DMAState {
6aa62ed6
MCA
47 SysBusDevice parent_obj;
48
49 MemoryRegion dmamem;
4ca3d368 50 MemoryRegion ledma_alias;
6aa62ed6
MCA
51 ESPDMADeviceState *espdma;
52 LEDMADeviceState *ledma;
db1015e9 53};
6aa62ed6 54
87ecb68b 55/* sparc32_dma.c */
a8170e5e 56void ledma_memory_read(void *opaque, hwaddr addr,
87ecb68b 57 uint8_t *buf, int len, int do_bswap);
a8170e5e 58void ledma_memory_write(void *opaque, hwaddr addr,
87ecb68b
PB
59 uint8_t *buf, int len, int do_bswap);
60void espdma_memory_read(void *opaque, uint8_t *buf, int len);
61void espdma_memory_write(void *opaque, uint8_t *buf, int len);
62
63#endif