Commit | Line | Data |
---|---|---|
87ecb68b PB |
1 | #ifndef PRIMECELL_H |
2 | #define PRIMECELL_H | |
3 | ||
4 | /* Declarations for ARM PrimeCell based periperals. */ | |
5 | /* Also includes some devices that are currently only used by the | |
6 | ARM boards. */ | |
7 | ||
8 | /* pl031.c */ | |
9 | void pl031_init(uint32_t base, qemu_irq irq); | |
10 | ||
11 | /* pl110.c */ | |
12 | void *pl110_init(DisplayState *ds, uint32_t base, qemu_irq irq, int); | |
13 | ||
14 | /* pl011.c */ | |
15 | enum pl011_type { | |
16 | PL011_ARM, | |
17 | PL011_LUMINARY | |
18 | }; | |
19 | ||
20 | void pl011_init(uint32_t base, qemu_irq irq, CharDriverState *chr, | |
21 | enum pl011_type type); | |
22 | ||
23 | /* pl022.c */ | |
24 | void pl022_init(uint32_t base, qemu_irq irq, int (*xfer_cb)(void *, int), | |
25 | void *opaque); | |
26 | ||
27 | /* pl050.c */ | |
28 | void pl050_init(uint32_t base, qemu_irq irq, int is_mouse); | |
29 | ||
30 | /* pl061.c */ | |
31 | qemu_irq *pl061_init(uint32_t base, qemu_irq irq, qemu_irq **out); | |
32 | ||
33 | /* pl080.c */ | |
34 | void *pl080_init(uint32_t base, qemu_irq irq, int nchannels); | |
35 | ||
36 | /* pl181.c */ | |
37 | void pl181_init(uint32_t base, BlockDriverState *bd, | |
38 | qemu_irq irq0, qemu_irq irq1); | |
39 | ||
40 | /* pl190.c */ | |
41 | qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq); | |
42 | ||
43 | /* realview_gic.c */ | |
44 | qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq); | |
45 | ||
46 | /* mpcore.c */ | |
47 | extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq); | |
48 | ||
49 | /* arm-timer.c */ | |
50 | void sp804_init(uint32_t base, qemu_irq irq); | |
51 | void icp_pit_init(uint32_t base, qemu_irq *pic, int irq); | |
52 | ||
53 | /* arm_sysctl.c */ | |
54 | void arm_sysctl_init(uint32_t base, uint32_t sys_id); | |
55 | ||
56 | /* versatile_pci.c */ | |
57 | PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview); | |
58 | ||
59 | #endif |