xref: /qemu/include/hw/arm/primecell.h (revision aa9311d8cbd6250b9443b0f12b85d8176ec057ca)
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 /* pl190.c */
21 qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq);
22 
23 /* realview_gic.c */
24 qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq);
25 
26 /* mpcore.c */
27 extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq);
28 
29 /* arm-timer.c */
30 void sp804_init(uint32_t base, qemu_irq irq);
31 void icp_pit_init(uint32_t base, qemu_irq *pic, int irq);
32 
33 /* arm_sysctl.c */
34 void arm_sysctl_init(uint32_t base, uint32_t sys_id);
35 
36 /* versatile_pci.c */
37 PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview);
38 
39 #endif
40