xref: /openbmc/qemu/include/hw/input/tsc2xxx.h (revision a331dd02)
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