1 /* 2 * TI touchscreen controller 3 * 4 * Copyright (c) 2006 Andrzej Zaborowski 5 * Copyright (C) 2008 Nokia Corporation 6 * 7 * This work is licensed under the terms of the GNU GPL, version 2 or later. 8 * See the COPYING file in the top-level directory. 9 */ 10 11 #ifndef HW_INPUT_TSC2XXX_H 12 #define HW_INPUT_TSC2XXX_H 13 14 typedef struct MouseTransformInfo { 15 /* Touchscreen resolution */ 16 int x; 17 int y; 18 /* Calibration values as used/generated by tslib */ 19 int a[7]; 20 } MouseTransformInfo; 21 22 typedef struct uWireSlave { 23 uint16_t (*receive)(void *opaque); 24 void (*send)(void *opaque, uint16_t data); 25 void *opaque; 26 } uWireSlave; 27 28 /* tsc210x.c */ 29 uWireSlave *tsc2102_init(qemu_irq pint); 30 uWireSlave *tsc2301_init(qemu_irq penirq, qemu_irq kbirq, qemu_irq dav); 31 I2SCodec *tsc210x_codec(uWireSlave *chip); 32 uint32_t tsc210x_txrx(void *opaque, uint32_t value, int len); 33 void tsc210x_set_transform(uWireSlave *chip, const MouseTransformInfo *info); 34 void tsc210x_key_event(uWireSlave *chip, int key, int down); 35 36 /* tsc2005.c */ 37 void *tsc2005_init(qemu_irq pintdav); 38 uint32_t tsc2005_txrx(void *opaque, uint32_t value, int len); 39 void tsc2005_set_transform(void *opaque, const MouseTransformInfo *info); 40 41 #endif 42