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