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 44