Statistics
| Branch: | Revision:

root / hw / primecell.h @ 5d794885

History | View | Annotate | Download (1.5 kB)

1 87ecb68b pbrook
#ifndef PRIMECELL_H
2 87ecb68b pbrook
#define PRIMECELL_H
3 87ecb68b pbrook
4 87ecb68b pbrook
/* Declarations for ARM PrimeCell based periperals.  */
5 87ecb68b pbrook
/* Also includes some devices that are currently only used by the
6 87ecb68b pbrook
   ARM boards.  */
7 87ecb68b pbrook
8 87ecb68b pbrook
/* pl031.c */
9 87ecb68b pbrook
void pl031_init(uint32_t base, qemu_irq irq);
10 87ecb68b pbrook
11 87ecb68b pbrook
/* pl110.c */
12 87ecb68b pbrook
void *pl110_init(DisplayState *ds, uint32_t base, qemu_irq irq, int);
13 87ecb68b pbrook
14 87ecb68b pbrook
/* pl011.c */
15 87ecb68b pbrook
enum pl011_type {
16 87ecb68b pbrook
    PL011_ARM,
17 87ecb68b pbrook
    PL011_LUMINARY
18 87ecb68b pbrook
};
19 87ecb68b pbrook
20 87ecb68b pbrook
void pl011_init(uint32_t base, qemu_irq irq, CharDriverState *chr,
21 87ecb68b pbrook
                enum pl011_type type);
22 87ecb68b pbrook
23 87ecb68b pbrook
/* pl022.c */
24 775616c3 pbrook
typedef int (*ssi_xfer_cb)(void *, int);
25 775616c3 pbrook
void pl022_init(uint32_t base, qemu_irq irq, ssi_xfer_cb xfer_cb,
26 87ecb68b pbrook
                void *opaque);
27 87ecb68b pbrook
28 87ecb68b pbrook
/* pl050.c */
29 87ecb68b pbrook
void pl050_init(uint32_t base, qemu_irq irq, int is_mouse);
30 87ecb68b pbrook
31 87ecb68b pbrook
/* pl061.c */
32 775616c3 pbrook
void pl061_float_high(void *opaque, uint8_t mask);
33 87ecb68b pbrook
qemu_irq *pl061_init(uint32_t base, qemu_irq irq, qemu_irq **out);
34 87ecb68b pbrook
35 87ecb68b pbrook
/* pl080.c */
36 87ecb68b pbrook
void *pl080_init(uint32_t base, qemu_irq irq, int nchannels);
37 87ecb68b pbrook
38 87ecb68b pbrook
/* pl181.c */
39 87ecb68b pbrook
void pl181_init(uint32_t base, BlockDriverState *bd,
40 87ecb68b pbrook
                qemu_irq irq0, qemu_irq irq1);
41 87ecb68b pbrook
42 87ecb68b pbrook
/* pl190.c */
43 87ecb68b pbrook
qemu_irq *pl190_init(uint32_t base, qemu_irq irq, qemu_irq fiq);
44 87ecb68b pbrook
45 87ecb68b pbrook
/* realview_gic.c */
46 87ecb68b pbrook
qemu_irq *realview_gic_init(uint32_t base, qemu_irq parent_irq);
47 87ecb68b pbrook
48 87ecb68b pbrook
/* mpcore.c */
49 87ecb68b pbrook
extern qemu_irq *mpcore_irq_init(qemu_irq *cpu_irq);
50 87ecb68b pbrook
51 87ecb68b pbrook
/* arm-timer.c */
52 87ecb68b pbrook
void sp804_init(uint32_t base, qemu_irq irq);
53 87ecb68b pbrook
void icp_pit_init(uint32_t base, qemu_irq *pic, int irq);
54 87ecb68b pbrook
55 87ecb68b pbrook
/* arm_sysctl.c */
56 87ecb68b pbrook
void arm_sysctl_init(uint32_t base, uint32_t sys_id);
57 87ecb68b pbrook
58 87ecb68b pbrook
/* versatile_pci.c */
59 87ecb68b pbrook
PCIBus *pci_vpb_init(qemu_irq *pic, int irq, int realview);
60 87ecb68b pbrook
61 87ecb68b pbrook
#endif