1*a331dd02SPhilippe Mathieu-Daudé /* 2*a331dd02SPhilippe Mathieu-Daudé * TI touchscreen controller 3*a331dd02SPhilippe Mathieu-Daudé * 4*a331dd02SPhilippe Mathieu-Daudé * Copyright (c) 2006 Andrzej Zaborowski 5*a331dd02SPhilippe Mathieu-Daudé * Copyright (C) 2008 Nokia Corporation 6*a331dd02SPhilippe Mathieu-Daudé * 7*a331dd02SPhilippe Mathieu-Daudé * This work is licensed under the terms of the GNU GPL, version 2 or later. 8*a331dd02SPhilippe Mathieu-Daudé * See the COPYING file in the top-level directory. 9*a331dd02SPhilippe Mathieu-Daudé */ 10*a331dd02SPhilippe Mathieu-Daudé 11*a331dd02SPhilippe Mathieu-Daudé #ifndef HW_INPUT_TSC2XXX_H 12*a331dd02SPhilippe Mathieu-Daudé #define HW_INPUT_TSC2XXX_H 13*a331dd02SPhilippe Mathieu-Daudé 14*a331dd02SPhilippe Mathieu-Daudé #include "hw/irq.h" 15*a331dd02SPhilippe Mathieu-Daudé #include "ui/console.h" 16*a331dd02SPhilippe Mathieu-Daudé 17*a331dd02SPhilippe Mathieu-Daudé typedef struct uWireSlave { 18*a331dd02SPhilippe Mathieu-Daudé uint16_t (*receive)(void *opaque); 19*a331dd02SPhilippe Mathieu-Daudé void (*send)(void *opaque, uint16_t data); 20*a331dd02SPhilippe Mathieu-Daudé void *opaque; 21*a331dd02SPhilippe Mathieu-Daudé } uWireSlave; 22*a331dd02SPhilippe Mathieu-Daudé 23*a331dd02SPhilippe Mathieu-Daudé /* tsc210x.c */ 24*a331dd02SPhilippe Mathieu-Daudé uWireSlave *tsc2102_init(qemu_irq pint); 25*a331dd02SPhilippe Mathieu-Daudé uWireSlave *tsc2301_init(qemu_irq penirq, qemu_irq kbirq, qemu_irq dav); 26*a331dd02SPhilippe Mathieu-Daudé I2SCodec *tsc210x_codec(uWireSlave *chip); 27*a331dd02SPhilippe Mathieu-Daudé uint32_t tsc210x_txrx(void *opaque, uint32_t value, int len); 28*a331dd02SPhilippe Mathieu-Daudé void tsc210x_set_transform(uWireSlave *chip, MouseTransformInfo *info); 29*a331dd02SPhilippe Mathieu-Daudé void tsc210x_key_event(uWireSlave *chip, int key, int down); 30*a331dd02SPhilippe Mathieu-Daudé 31*a331dd02SPhilippe Mathieu-Daudé /* tsc2005.c */ 32*a331dd02SPhilippe Mathieu-Daudé void *tsc2005_init(qemu_irq pintdav); 33*a331dd02SPhilippe Mathieu-Daudé uint32_t tsc2005_txrx(void *opaque, uint32_t value, int len); 34*a331dd02SPhilippe Mathieu-Daudé void tsc2005_set_transform(void *opaque, MouseTransformInfo *info); 35*a331dd02SPhilippe Mathieu-Daudé 36*a331dd02SPhilippe Mathieu-Daudé #endif 37