de28916bfa07c36e36b4aa666a63497544a08643
[qemu] / hw / primecell.h
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 /* pl022.c */
9 typedef int (*ssi_xfer_cb)(void *, int);
10 void pl022_init(uint32_t base, qemu_irq irq, ssi_xfer_cb xfer_cb,
11                 void *opaque);
12
13 /* pl061.c */
14 void pl061_float_high(void *opaque, uint8_t mask);
15 qemu_irq *pl061_init(uint32_t base, qemu_irq irq, qemu_irq **out);
16
17 /* pl080.c */
18 void *pl080_init(uint32_t base, qemu_irq irq, int nchannels);
19
20 /* pl181.c */
21 void pl181_init(uint32_t base, BlockDriverState *bd,
22                 qemu_irq irq0, qemu_irq irq1);
23
24 /* pl190.c */
25 qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq);
26
27 /* realview_gic.c */
28 qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq);
29
30 /* mpcore.c */
31 extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq);
32
33 /* arm-timer.c */
34 void sp804_init(uint32_t base, qemu_irq irq);
35 void icp_pit_init(uint32_t base, qemu_irq *pic, int irq);
36
37 /* arm_sysctl.c */
38 void arm_sysctl_init(uint32_t base, uint32_t sys_id);
39
40 /* versatile_pci.c */
41 PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview);
42
43 #endif