00001 #ifndef PRIMECELL_H
00002 #define PRIMECELL_H
00003
00004
00005
00006
00007
00008
00009 void pl031_init(uint32_t base, qemu_irq irq);
00010
00011
00012 void *pl110_init(uint32_t base, qemu_irq irq, int);
00013
00014
00015 enum pl011_type {
00016 PL011_ARM,
00017 PL011_LUMINARY
00018 };
00019
00020 void pl011_init(uint32_t base, qemu_irq irq, CharDriverState *chr,
00021 enum pl011_type type);
00022
00023
00024 typedef int (*ssi_xfer_cb)(void *, int);
00025 void pl022_init(uint32_t base, qemu_irq irq, ssi_xfer_cb xfer_cb,
00026 void *opaque);
00027
00028
00029 void pl050_init(uint32_t base, qemu_irq irq, int is_mouse);
00030
00031
00032 void pl061_float_high(void *opaque, uint8_t mask);
00033 qemu_irq *pl061_init(uint32_t base, qemu_irq irq, qemu_irq **out);
00034
00035
00036 void *pl080_init(uint32_t base, qemu_irq irq, int nchannels);
00037
00038
00039 void pl181_init(uint32_t base, BlockDriverState *bd,
00040 qemu_irq irq0, qemu_irq irq1);
00041
00042
00043 qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq);
00044
00045
00046 qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq);
00047
00048
00049 extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq);
00050
00051
00052 void sp804_init(uint32_t base, qemu_irq irq);
00053 void icp_pit_init(uint32_t base, qemu_irq *pic, int irq);
00054
00055
00056 void arm_sysctl_init(uint32_t base, uint32_t sys_id);
00057
00058
00059 PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview);
00060
00061 #endif