Break up vl.h.
[qemu/mini2440.git] / hw / primecell.h
blob072390bf0fa795bdd306cc564891607c8051d294
1 #ifndef PRIMECELL_H
2 #define PRIMECELL_H
4 /* Declarations for ARM PrimeCell based periperals. */
5 /* Also includes some devices that are currently only used by the
6 ARM boards. */
8 /* pl031.c */
9 void pl031_init(uint32_t base, qemu_irq irq);
11 /* pl110.c */
12 void *pl110_init(DisplayState *ds, uint32_t base, qemu_irq irq, int);
14 /* pl011.c */
15 enum pl011_type {
16 PL011_ARM,
17 PL011_LUMINARY
20 void pl011_init(uint32_t base, qemu_irq irq, CharDriverState *chr,
21 enum pl011_type type);
23 /* pl022.c */
24 void pl022_init(uint32_t base, qemu_irq irq, int (*xfer_cb)(void *, int),
25 void *opaque);
27 /* pl050.c */
28 void pl050_init(uint32_t base, qemu_irq irq, int is_mouse);
30 /* pl061.c */
31 qemu_irq *pl061_init(uint32_t base, qemu_irq irq, qemu_irq **out);
33 /* pl080.c */
34 void *pl080_init(uint32_t base, qemu_irq irq, int nchannels);
36 /* pl181.c */
37 void pl181_init(uint32_t base, BlockDriverState *bd,
38 qemu_irq irq0, qemu_irq irq1);
40 /* pl190.c */
41 qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq);
43 /* realview_gic.c */
44 qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq);
46 /* mpcore.c */
47 extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq);
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);
53 /* arm_sysctl.c */
54 void arm_sysctl_init(uint32_t base, uint32_t sys_id);
56 /* versatile_pci.c */
57 PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview);
59 #endif