diff options
Diffstat (limited to 'hw/primecell.h')
-rw-r--r-- | hw/primecell.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/hw/primecell.h b/hw/primecell.h new file mode 100644 index 000000000..072390bf0 --- /dev/null +++ b/hw/primecell.h @@ -0,0 +1,59 @@ +#ifndef PRIMECELL_H +#define PRIMECELL_H + +/* Declarations for ARM PrimeCell based periperals. */ +/* Also includes some devices that are currently only used by the + ARM boards. */ + +/* pl031.c */ +void pl031_init(uint32_t base, qemu_irq irq); + +/* pl110.c */ +void *pl110_init(DisplayState *ds, uint32_t base, qemu_irq irq, int); + +/* pl011.c */ +enum pl011_type { + PL011_ARM, + PL011_LUMINARY +}; + +void pl011_init(uint32_t base, qemu_irq irq, CharDriverState *chr, + enum pl011_type type); + +/* pl022.c */ +void pl022_init(uint32_t base, qemu_irq irq, int (*xfer_cb)(void *, int), + void *opaque); + +/* pl050.c */ +void pl050_init(uint32_t base, qemu_irq irq, int is_mouse); + +/* pl061.c */ +qemu_irq *pl061_init(uint32_t base, qemu_irq irq, qemu_irq **out); + +/* pl080.c */ +void *pl080_init(uint32_t base, qemu_irq irq, int nchannels); + +/* pl181.c */ +void pl181_init(uint32_t base, BlockDriverState *bd, + qemu_irq irq0, qemu_irq irq1); + +/* pl190.c */ +qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq); + +/* realview_gic.c */ +qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq); + +/* mpcore.c */ +extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq); + +/* arm-timer.c */ +void sp804_init(uint32_t base, qemu_irq irq); +void icp_pit_init(uint32_t base, qemu_irq *pic, int irq); + +/* arm_sysctl.c */ +void arm_sysctl_init(uint32_t base, uint32_t sys_id); + +/* versatile_pci.c */ +PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview); + +#endif |