]> git.proxmox.com Git - mirror_qemu.git/blob - include/hw/intc/aspeed_vic.h
Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging
[mirror_qemu.git] / include / hw / intc / aspeed_vic.h
1 /*
2 * ASPEED Interrupt Controller (New)
3 *
4 * Andrew Jeffery <andrew@aj.id.au>
5 *
6 * Copyright 2016 IBM Corp.
7 *
8 * This code is licensed under the GPL version 2 or later. See
9 * the COPYING file in the top-level directory.
10 *
11 * Need to add SVIC and CVIC support
12 */
13 #ifndef ASPEED_VIC_H
14 #define ASPEED_VIC_H
15
16 #include "hw/sysbus.h"
17
18 #define TYPE_ASPEED_VIC "aspeed.vic"
19 #define ASPEED_VIC(obj) OBJECT_CHECK(AspeedVICState, (obj), TYPE_ASPEED_VIC)
20
21 #define ASPEED_VIC_NR_IRQS 51
22
23 typedef struct AspeedVICState {
24 /*< private >*/
25 SysBusDevice parent_obj;
26
27 /*< public >*/
28 MemoryRegion iomem;
29 qemu_irq irq;
30 qemu_irq fiq;
31
32 uint64_t level;
33 uint64_t raw;
34 uint64_t select;
35 uint64_t enable;
36 uint64_t trigger;
37
38 /* 0=edge, 1=level */
39 uint64_t sense;
40
41 /* 0=single-edge, 1=dual-edge */
42 uint64_t dual_edge;
43
44 /* 0=low-sensitive/falling-edge, 1=high-sensitive/rising-edge */
45 uint64_t event;
46 } AspeedVICState;
47
48 #endif /* ASPEED_VIC_H */