xref: /openbmc/qemu/hw/arm/strongarm.h (revision fcf5ef2a)
1 #ifndef STRONGARM_H
2 #define STRONGARM_H
3 
4 #include "exec/memory.h"
5 #include "target/arm/cpu-qom.h"
6 
7 #define SA_CS0          0x00000000
8 #define SA_CS1          0x08000000
9 #define SA_CS2          0x10000000
10 #define SA_CS3          0x18000000
11 #define SA_PCMCIA_CS0   0x20000000
12 #define SA_PCMCIA_CS1   0x30000000
13 #define SA_CS4          0x40000000
14 #define SA_CS5          0x48000000
15 /* system registers here */
16 #define SA_SDCS0        0xc0000000
17 #define SA_SDCS1        0xc8000000
18 #define SA_SDCS2        0xd0000000
19 #define SA_SDCS3        0xd8000000
20 
21 enum {
22     SA_PIC_GPIO0_EDGE = 0,
23     SA_PIC_GPIO1_EDGE,
24     SA_PIC_GPIO2_EDGE,
25     SA_PIC_GPIO3_EDGE,
26     SA_PIC_GPIO4_EDGE,
27     SA_PIC_GPIO5_EDGE,
28     SA_PIC_GPIO6_EDGE,
29     SA_PIC_GPIO7_EDGE,
30     SA_PIC_GPIO8_EDGE,
31     SA_PIC_GPIO9_EDGE,
32     SA_PIC_GPIO10_EDGE,
33     SA_PIC_GPIOX_EDGE,
34     SA_PIC_LCD,
35     SA_PIC_UDC,
36     SA_PIC_RSVD1,
37     SA_PIC_UART1,
38     SA_PIC_UART2,
39     SA_PIC_UART3,
40     SA_PIC_MCP,
41     SA_PIC_SSP,
42     SA_PIC_DMA_CH0,
43     SA_PIC_DMA_CH1,
44     SA_PIC_DMA_CH2,
45     SA_PIC_DMA_CH3,
46     SA_PIC_DMA_CH4,
47     SA_PIC_DMA_CH5,
48     SA_PIC_OSTC0,
49     SA_PIC_OSTC1,
50     SA_PIC_OSTC2,
51     SA_PIC_OSTC3,
52     SA_PIC_RTC_HZ,
53     SA_PIC_RTC_ALARM,
54 };
55 
56 typedef struct {
57     ARMCPU *cpu;
58     MemoryRegion sdram;
59     DeviceState *pic;
60     DeviceState *gpio;
61     DeviceState *ppc;
62     DeviceState *ssp;
63     SSIBus *ssp_bus;
64 } StrongARMState;
65 
66 StrongARMState *sa1110_init(MemoryRegion *sysmem,
67                             unsigned int sdram_size, const char *rev);
68 
69 #endif
70