00001 #ifndef QEMU_DEVICES_H
00002 #define QEMU_DEVICES_H
00003
00004
00005
00006
00007 void smc91c111_init(NICInfo *, uint32_t, qemu_irq);
00008
00009
00010 int ssd0323_xfer_ssi(void *opaque, int data);
00011 void *ssd0323_init(qemu_irq *cmd_p);
00012
00013
00014 struct ads7846_state_s;
00015 uint32_t ads7846_read(void *opaque);
00016 void ads7846_write(void *opaque, uint32_t value);
00017 struct ads7846_state_s *ads7846_init(qemu_irq penirq);
00018
00019
00020 struct uwire_slave_s;
00021 struct mouse_transform_info_s;
00022 struct uwire_slave_s *tsc2102_init(qemu_irq pint, AudioState *audio);
00023 struct uwire_slave_s *tsc2301_init(qemu_irq penirq, qemu_irq kbirq,
00024 qemu_irq dav, AudioState *audio);
00025 struct i2s_codec_s *tsc210x_codec(struct uwire_slave_s *chip);
00026 uint32_t tsc210x_txrx(void *opaque, uint32_t value, int len);
00027 void tsc210x_set_transform(struct uwire_slave_s *chip,
00028 struct mouse_transform_info_s *info);
00029 void tsc210x_key_event(struct uwire_slave_s *chip, int key, int down);
00030
00031
00032 void *tsc2005_init(qemu_irq pintdav);
00033 uint32_t tsc2005_txrx(void *opaque, uint32_t value, int len);
00034 void tsc2005_set_transform(void *opaque, struct mouse_transform_info_s *info);
00035
00036
00037 void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode);
00038
00039
00040 void *s1d13745_init(qemu_irq gpio_int);
00041 void s1d13745_write(void *opaque, int dc, uint16_t value);
00042 void s1d13745_write_block(void *opaque, int dc,
00043 void *buf, size_t len, int pitch);
00044 uint16_t s1d13745_read(void *opaque, int dc);
00045
00046
00047 struct cbus_s {
00048 qemu_irq clk;
00049 qemu_irq dat;
00050 qemu_irq sel;
00051 };
00052 struct cbus_s *cbus_init(qemu_irq dat_out);
00053 void cbus_attach(struct cbus_s *bus, void *slave_opaque);
00054
00055 void *retu_init(qemu_irq irq, int vilma);
00056 void *tahvo_init(qemu_irq irq, int betty);
00057
00058 void retu_key_event(void *retu, int state);
00059
00060
00061 struct tusb_s;
00062 struct tusb_s *tusb6010_init(qemu_irq intr);
00063 int tusb6010_sync_io(struct tusb_s *s);
00064 int tusb6010_async_io(struct tusb_s *s);
00065 void tusb6010_power(struct tusb_s *s, int on);
00066
00067
00068 struct tc6393xb_s;
00069 #define TC6393XB_RAM 0x110000
00070 struct tc6393xb_s *tc6393xb_init(uint32_t base, qemu_irq irq);
00071 void tc6393xb_gpio_out_set(struct tc6393xb_s *s, int line,
00072 qemu_irq handler);
00073 qemu_irq *tc6393xb_gpio_in_get(struct tc6393xb_s *s);
00074 qemu_irq tc6393xb_l3v_get(struct tc6393xb_s *s);
00075
00076
00077 void sm501_init(uint32_t base, unsigned long local_mem_base,
00078 uint32_t local_mem_bytes, CharDriverState *chr);
00079 #endif