Add qemu 2.4.0
[kvmfornfv.git] / qemu / include / hw / unicore32 / puv3.h
1 /*
2  * Misc PKUnity SoC declarations
3  *
4  * Copyright (C) 2010-2012 Guan Xuetao
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation, or any later version.
9  * See the COPYING file in the top-level directory.
10  */
11 #ifndef QEMU_HW_PUV3_H
12 #define QEMU_HW_PUV3_H
13
14 #define PUV3_REGS_OFFSET        (0x1000) /* 4K is reasonable */
15
16 /* PKUnity System bus (AHB): 0xc0000000 - 0xedffffff (640MB) */
17 #define PUV3_DMA_BASE           (0xc0200000) /* AHB-4 */
18
19 /* PKUnity Peripheral bus (APB): 0xee000000 - 0xefffffff (128MB) */
20 #define PUV3_GPIO_BASE          (0xee500000) /* APB-5 */
21 #define PUV3_INTC_BASE          (0xee600000) /* APB-6 */
22 #define PUV3_OST_BASE           (0xee800000) /* APB-8 */
23 #define PUV3_PM_BASE            (0xeea00000) /* APB-10 */
24 #define PUV3_PS2_BASE           (0xeeb00000) /* APB-11 */
25
26 /* Hardware interrupts */
27 #define PUV3_IRQS_NR            (32)
28
29 #define PUV3_IRQS_GPIOLOW0      (0)
30 #define PUV3_IRQS_GPIOLOW1      (1)
31 #define PUV3_IRQS_GPIOLOW2      (2)
32 #define PUV3_IRQS_GPIOLOW3      (3)
33 #define PUV3_IRQS_GPIOLOW4      (4)
34 #define PUV3_IRQS_GPIOLOW5      (5)
35 #define PUV3_IRQS_GPIOLOW6      (6)
36 #define PUV3_IRQS_GPIOLOW7      (7)
37 #define PUV3_IRQS_GPIOHIGH      (8)
38 #define PUV3_IRQS_PS2_KBD       (22)
39 #define PUV3_IRQS_PS2_AUX       (23)
40 #define PUV3_IRQS_OST0          (26)
41
42 /* All puv3_*.c use DPRINTF for debug. */
43 #ifdef DEBUG_PUV3
44 #define DPRINTF(fmt, ...) printf("%s: " fmt , __func__, ## __VA_ARGS__)
45 #else
46 #define DPRINTF(fmt, ...) do {} while (0)
47 #endif
48
49 #endif /* !QEMU_HW_PUV3_H */