blob: d34542c044b41b8f46f595e6de4eab8e2026e0e4 [file] [log] [blame]
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001/* Header file for:
2 * Cypress TrueTouch(TM) Standard Product touchscreen drivers.
3 * include/linux/cyttsp.h
4 *
5 * Copyright (C) 2009, 2010 Cypress Semiconductor, Inc.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2, and only version 2, as published by the
10 * Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 *
21 * Cypress reserves the right to make changes without further notice
22 * to the materials described herein. Cypress does not assume any
23 * liability arising out of the application described herein.
24 *
25 * Contact Cypress Semiconductor at www.cypress.com
26 *
27 */
28
29
30#ifndef __CYTTSP_H__
31#define __CYTTSP_H__
32
33#include <linux/input.h>
34#include <linux/timer.h>
35#include <linux/workqueue.h>
36#include <linux/kernel.h>
37#include <linux/delay.h>
38
39#include <asm/mach-types.h>
40
41#define CYPRESS_TTSP_NAME "cyttsp"
42#define CY_I2C_NAME "cyttsp-i2c"
43#define CY_SPI_NAME "cyttsp-spi"
44
45#ifdef CY_DECLARE_GLOBALS
46 uint32_t cyttsp_tsdebug;
47 module_param_named(tsdebug, cyttsp_tsdebug, uint, 0664);
48 uint32_t cyttsp_tsxdebug;
49 module_param_named(tsxdebug, cyttsp_tsxdebug, uint, 0664);
50
51 uint32_t cyttsp_disable_touch;
52 module_param_named(disable_touch, cyttsp_disable_touch, uint, 0664);
53#else
54 extern uint32_t cyttsp_tsdebug;
55 extern uint32_t cyttsp_tsxdebug;
56 extern uint32_t cyttsp_disable_touch;
57#endif
58
59
60
61/******************************************************************************
62 * Global Control, Used to control the behavior of the driver
63 */
64
65/* defines for Gen2 (Txx2xx); Gen3 (Txx3xx)
66 * use these defines to set cyttsp_platform_data.gen in board config file
67 */
68#define CY_GEN2 2
69#define CY_GEN3 3
70
71/* define for using I2C driver
72 */
73#define CY_USE_I2C_DRIVER
74
75/* defines for using SPI driver */
76/*
77#define CY_USE_SPI_DRIVER
78 */
79#define CY_SPI_DFLT_SPEED_HZ 1000000
80#define CY_SPI_MAX_SPEED_HZ 4000000
81#define CY_SPI_SPEED_HZ CY_SPI_DFLT_SPEED_HZ
82#define CY_SPI_BITS_PER_WORD 8
83#define CY_SPI_DAV 139 /* set correct gpio id */
84#define CY_SPI_BUFSIZE 512
85
86/* Voltage and Current ratings */
87#define CY_TMA300_VTG_MAX_UV 5500000
88#define CY_TMA300_VTG_MIN_UV 1710000
89#define CY_TMA300_CURR_24HZ_UA 17500
90#define CY_I2C_VTG_MAX_UV 1800000
91#define CY_I2C_VTG_MIN_UV 1800000
92#define CY_I2C_CURR_UA 9630
93
94
95/* define for inclusion of TTSP App Update Load File
96 * use this define if update to the TTSP Device is desired
97 */
98/*
99#define CY_INCLUDE_LOAD_FILE
100*/
101
102/* define if force new load file for bootloader load */
103/*
104#define CY_FORCE_FW_UPDATE
105*/
106
107/* undef for production use */
108/*
109#define CY_USE_DEBUG
110*/
111
112/* undef for irq use; use this define in the board configuration file */
113/*
114#define CY_USE_TIMER
115 */
116
117/* undef to allow use of extra debug capability */
118/*
119#define CY_ALLOW_EXTRA_DEBUG
120*/
121
122/* undef to remove additional debug prints */
123/*
124#define CY_USE_EXTRA_DEBUG
125*/
126
127/* undef to remove additional debug prints */
128/*
129#define CY_USE_EXTRA_DEBUG1
130 */
131
132/* undef to use operational touch timer jiffies; else use test jiffies */
133/*
134 */
135#define CY_USE_TIMER_DEBUG
136
137/* define to use canned test data */
138/*
139#define CY_USE_TEST_DATA
140 */
141
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700142/* define if gesture signaling is used
143 * and which gesture groups to use
144 */
145/*
146#define CY_USE_GEST
147#define CY_USE_GEST_GRP1
148#define CY_USE_GEST_GRP2
149#define CY_USE_GEST_GRP3
150#define CY_USE_GEST_GRP4
151 */
152/* Active distance in pixels for a gesture to be reported
153 * if set to 0, then all gesture movements are reported
154 */
155#define CY_ACT_DIST_DFLT 8
156#define CY_ACT_DIST CY_ACT_DIST_DFLT
157
158/* define if MT signals are desired */
159/*
160*/
161#define CY_USE_MT_SIGNALS
162
163/* define if MT tracking id signals are used */
164/*
165#define CY_USE_MT_TRACK_ID
166 */
167
168/* define if ST signals are required */
169/*
170*/
171#define CY_USE_ST_SIGNALS
172
173/* define to send handshake to device */
174/*
175*/
176#define CY_USE_HNDSHK
177
178/* define if log all raw motion signals to a sysfs file */
179/*
180#define CY_LOG_TO_FILE
181*/
182
183
184/* End of the Global Control section
185 ******************************************************************************
186 */
187#define CY_DIFF(m, n) ((m) != (n))
188
189#ifdef CY_LOG_TO_FILE
190 #define cyttsp_openlog() /* use sysfs */
191#else
192 #define cyttsp_openlog()
193#endif /* CY_LOG_TO_FILE */
194
195/* see kernel.h for pr_xxx def'ns */
196#define cyttsp_info(f, a...) pr_info("%s:" f, __func__ , ## a)
197#define cyttsp_error(f, a...) pr_err("%s:" f, __func__ , ## a)
198#define cyttsp_alert(f, a...) pr_alert("%s:" f, __func__ , ## a)
199
200#ifdef CY_USE_DEBUG
201 #define cyttsp_debug(f, a...) pr_alert("%s:" f, __func__ , ## a)
202#else
203 #define cyttsp_debug(f, a...) {if (cyttsp_tsdebug) \
204 pr_alert("%s:" f, __func__ , ## a); }
205#endif /* CY_USE_DEBUG */
206
207#ifdef CY_ALLOW_EXTRA_DEBUG
208#ifdef CY_USE_EXTRA_DEBUG
209 #define cyttsp_xdebug(f, a...) pr_alert("%s:" f, __func__ , ## a)
210#else
211 #define cyttsp_xdebug(f, a...) {if (cyttsp_tsxdebug) \
212 pr_alert("%s:" f, __func__ , ## a); }
213#endif /* CY_USE_EXTRA_DEBUG */
214
215#ifdef CY_USE_EXTRA_DEBUG1
216 #define cyttsp_xdebug1(f, a...) pr_alert("%s:" f, __func__ , ## a)
217#else
218 #define cyttsp_xdebug1(f, a...)
219#endif /* CY_USE_EXTRA_DEBUG1 */
220#else
221 #define cyttsp_xdebug(f, a...)
222 #define cyttsp_xdebug1(f, a...)
223#endif /* CY_ALLOW_EXTRA_DEBUG */
224
225#ifdef CY_USE_TIMER_DEBUG
226 #define TOUCHSCREEN_TIMEOUT (msecs_to_jiffies(1000))
227#else
228 #define TOUCHSCREEN_TIMEOUT (msecs_to_jiffies(28))
229#endif
230
231/* reduce extra signals in MT only build
232 * be careful not to lose backward compatibility for pre-MT apps
233 */
234#ifdef CY_USE_ST_SIGNALS
235 #define CY_USE_ST 1
236#else
237 #define CY_USE_ST 0
238#endif /* CY_USE_ST_SIGNALS */
239
240/* rely on kernel input.h to define Multi-Touch capability */
241/* if input.h defines the Multi-Touch signals, then use MT */
242#if defined(ABS_MT_TOUCH_MAJOR) && defined(CY_USE_MT_SIGNALS)
243 #define CY_USE_MT 1
244 #define CY_MT_SYNC(input) input_mt_sync(input)
245#else
246 #define CY_USE_MT 0
247 #define CY_MT_SYNC(input)
248 /* the following includes are provided to ensure a compile;
249 * the code that compiles with these defines will not be executed if
250 * the CY_USE_MT is properly used in the platform structure init
251 */
252 #ifndef ABS_MT_TOUCH_MAJOR
253 #define ABS_MT_TOUCH_MAJOR 0x30 /* touching ellipse */
254 #define ABS_MT_TOUCH_MINOR 0x31 /* (omit if circular) */
255 #define ABS_MT_WIDTH_MAJOR 0x32 /* approaching ellipse */
256 #define ABS_MT_WIDTH_MINOR 0x33 /* (omit if circular) */
257 #define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */
258 #define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
259 #define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
260 #define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */
261 #define ABS_MT_BLOB_ID 0x38 /* Group set of pkts as blob */
262 #endif /* ABS_MT_TOUCH_MAJOR */
263#endif /* ABS_MT_TOUCH_MAJOR and CY_USE_MT_SIGNALS */
264#if defined(ABS_MT_TRACKING_ID) && defined(CY_USE_MT_TRACK_ID)
265 #define CY_USE_TRACKING_ID 1
266#else
267 #define CY_USE_TRACKING_ID 0
268/* define only if not defined already by system;
269 * value based on linux kernel 2.6.30.10
270 */
271#ifndef ABS_MT_TRACKING_ID
272 #define ABS_MT_TRACKING_ID (ABS_MT_BLOB_ID+1)
273#endif
274#endif /* ABS_MT_TRACKING_ID */
275
Anirudh Ghayal15187772011-06-22 17:39:41 +0530276#define CY_USE_DEEP_SLEEP_SEL 0x80
277#define CY_USE_LOW_POWER_SEL 0x01
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700278
279#ifdef CY_USE_TEST_DATA
280 #define cyttsp_testdat(ray1, ray2, sizeofray) \
281 { \
282 int i; \
283 u8 *up1 = (u8 *)ray1; \
284 u8 *up2 = (u8 *)ray2; \
285 for (i = 0; i < sizeofray; i++) { \
286 up1[i] = up2[i]; \
287 } \
288 }
289#else
290 #define cyttsp_testdat(xy, test_xy, sizeofray)
291#endif /* CY_USE_TEST_DATA */
292
293/* helper macros */
294#define GET_NUM_TOUCHES(x) ((x) & 0x0F)
295#define GET_TOUCH1_ID(x) (((x) & 0xF0) >> 4)
296#define GET_TOUCH2_ID(x) ((x) & 0x0F)
297#define GET_TOUCH3_ID(x) (((x) & 0xF0) >> 4)
298#define GET_TOUCH4_ID(x) ((x) & 0x0F)
299#define IS_LARGE_AREA(x) (((x) & 0x10) >> 4)
300#define FLIP_DATA_FLAG 0x01
301#define REVERSE_X_FLAG 0x02
302#define REVERSE_Y_FLAG 0x04
303#define FLIP_DATA(flags) ((flags) & FLIP_DATA_FLAG)
304#define REVERSE_X(flags) ((flags) & REVERSE_X_FLAG)
305#define REVERSE_Y(flags) ((flags) & REVERSE_Y_FLAG)
306#define FLIP_XY(x, y) { \
307 u16 tmp; \
308 tmp = (x); \
309 (x) = (y); \
310 (y) = tmp; \
311 }
312#define INVERT_X(x, xmax) ((xmax) - (x))
313#define INVERT_Y(y, maxy) ((maxy) - (y))
314#define SET_HSTMODE(reg, mode) ((reg) & (mode))
315#define GET_HSTMODE(reg) ((reg & 0x70) >> 4)
316#define GET_BOOTLOADERMODE(reg) ((reg & 0x10) >> 4)
317
318/* constant definitions */
319/* maximum number of concurrent ST track IDs */
320#define CY_NUM_ST_TCH_ID 2
321
322/* maximum number of concurrent MT track IDs */
323#define CY_NUM_MT_TCH_ID 4
324
325/* maximum number of track IDs */
326#define CY_NUM_TRK_ID 16
327
328#define CY_NTCH 0 /* no touch (lift off) */
329#define CY_TCH 1 /* active touch (touchdown) */
330#define CY_ST_FNGR1_IDX 0
331#define CY_ST_FNGR2_IDX 1
332#define CY_MT_TCH1_IDX 0
333#define CY_MT_TCH2_IDX 1
334#define CY_MT_TCH3_IDX 2
335#define CY_MT_TCH4_IDX 3
336#define CY_XPOS 0
337#define CY_YPOS 1
338#define CY_IGNR_TCH (-1)
339#define CY_SMALL_TOOL_WIDTH 10
340#define CY_LARGE_TOOL_WIDTH 255
341#define CY_REG_BASE 0x00
342#define CY_REG_GEST_SET 0x1E
343#define CY_REG_ACT_INTRVL 0x1D
344#define CY_REG_TCH_TMOUT (CY_REG_ACT_INTRVL+1)
345#define CY_REG_LP_INTRVL (CY_REG_TCH_TMOUT+1)
346#define CY_SOFT_RESET ((1 << 0))
347#define CY_DEEP_SLEEP ((1 << 1))
348#define CY_LOW_POWER ((1 << 2))
349#define CY_MAXZ 255
350#define CY_OK 0
351#define CY_INIT 1
352#define CY_DLY_DFLT 10 /* ms */
353#define CY_DLY_SYSINFO 20 /* ms */
354#define CY_DLY_BL 300
355#define CY_DLY_DNLOAD 100 /* ms */
356#define CY_NUM_RETRY 4 /* max num touch data read */
357
358/* handshake bit in the hst_mode reg */
359#define CY_HNDSHK_BIT 0x80
360#ifdef CY_USE_HNDSHK
361 #define CY_SEND_HNDSHK 1
362#else
363 #define CY_SEND_HNDSHK 0
364#endif
365
366/* Bootloader File 0 offset */
367#define CY_BL_FILE0 0x00
368
369/* Bootloader command directive */
370#define CY_BL_CMD 0xFF
371
372/* Bootloader Initiate Bootload */
373#define CY_BL_INIT_LOAD 0x38
374
375/* Bootloader Write a Block */
376#define CY_BL_WRITE_BLK 0x39
377
378/* Bootloader Terminate Bootload */
379#define CY_BL_TERMINATE 0x3B
380
381/* Bootloader Exit and Verify Checksum command */
382#define CY_BL_EXIT 0xA5
383
384/* Bootloader default keys */
385#define CY_BL_KEY0 0x00
386#define CY_BL_KEY1 0x01
387#define CY_BL_KEY2 0x02
388#define CY_BL_KEY3 0x03
389#define CY_BL_KEY4 0x04
390#define CY_BL_KEY5 0x05
391#define CY_BL_KEY6 0x06
392#define CY_BL_KEY7 0x07
393
394/* Active Power state scanning/processing refresh interval */
395#define CY_ACT_INTRVL_DFLT 0x00
396
397/* touch timeout for the Active power */
398#define CY_TCH_TMOUT_DFLT 0xFF
399
400/* Low Power state scanning/processing refresh interval */
401#define CY_LP_INTRVL_DFLT 0x0A
402
403#define CY_IDLE_STATE 0
404#define CY_ACTIVE_STATE 1
405#define CY_LOW_PWR_STATE 2
406#define CY_SLEEP_STATE 3
407
408/* device mode bits */
409#define CY_OP_MODE 0x00
410#define CY_SYSINFO_MODE 0x10
411
412/* power mode select bits */
413#define CY_SOFT_RESET_MODE 0x01 /* return to Bootloader mode */
414#define CY_DEEP_SLEEP_MODE 0x02
415#define CY_LOW_PWR_MODE 0x04
416
417#define CY_NUM_KEY 8
418
419#ifdef CY_USE_GEST
420 #define CY_USE_GESTURES 1
421#else
422 #define CY_USE_GESTURES 0
423#endif /* CY_USE_GESTURE_SIGNALS */
424
425#ifdef CY_USE_GEST_GRP1
426 #define CY_GEST_GRP1 0x10
427#else
428 #define CY_GEST_GRP1 0x00
429#endif /* CY_USE_GEST_GRP1 */
430#ifdef CY_USE_GEST_GRP2
431 #define CY_GEST_GRP2 0x20
432#else
433 #define CY_GEST_GRP2 0x00
434#endif /* CY_USE_GEST_GRP2 */
435#ifdef CY_USE_GEST_GRP3
436 #define CY_GEST_GRP3 0x40
437#else
438 #define CY_GEST_GRP3 0x00
439#endif /* CY_USE_GEST_GRP3 */
440#ifdef CY_USE_GEST_GRP4
441 #define CY_GEST_GRP4 0x80
442#else
443 #define CY_GEST_GRP4 0x00
444#endif /* CY_USE_GEST_GRP4 */
445
446struct cyttsp_regulator {
447 const char *name;
448 u32 min_uV;
449 u32 max_uV;
450 u32 load_uA;
451};
452
453struct cyttsp_platform_data {
454 u32 panel_maxx;
455 u32 panel_maxy;
456 u32 disp_resx;
457 u32 disp_resy;
458 u32 disp_minx;
459 u32 disp_miny;
460 u32 disp_maxx;
461 u32 disp_maxy;
462 u8 correct_fw_ver;
463 u32 flags;
464 u8 gen;
465 u8 use_st;
466 u8 use_mt;
467 u8 use_hndshk;
468 u8 use_trk_id;
469 u8 use_sleep;
470 u8 use_gestures;
471 u8 gest_set;
472 u8 act_intrvl;
473 u8 tch_tmout;
474 u8 lp_intrvl;
475 u8 power_state;
476 bool wakeup;
477 int sleep_gpio;
478 int resout_gpio;
479 int irq_gpio;
480 struct cyttsp_regulator *regulator_info;
481 u8 num_regulators;
482 const char *fw_fname;
483#ifdef CY_USE_I2C_DRIVER
484 s32 (*init)(struct i2c_client *client);
485 s32 (*resume)(struct i2c_client *client);
486#endif
487#ifdef CY_USE_SPI_DRIVER
488 s32 (*init)(struct spi_device *spi);
489 s32 (*resume)(struct spi_device *spi);
490#endif
491};
492
493/* TrueTouch Standard Product Gen3 (Txx3xx) interface definition */
494struct cyttsp_gen3_xydata_t {
495 u8 hst_mode;
496 u8 tt_mode;
497 u8 tt_stat;
498 u16 x1 __attribute__ ((packed));
499 u16 y1 __attribute__ ((packed));
500 u8 z1;
501 u8 touch12_id;
502 u16 x2 __attribute__ ((packed));
503 u16 y2 __attribute__ ((packed));
504 u8 z2;
505 u8 gest_cnt;
506 u8 gest_id;
507 u16 x3 __attribute__ ((packed));
508 u16 y3 __attribute__ ((packed));
509 u8 z3;
510 u8 touch34_id;
511 u16 x4 __attribute__ ((packed));
512 u16 y4 __attribute__ ((packed));
513 u8 z4;
514 u8 tt_undef[3];
515 u8 gest_set;
516 u8 tt_reserved;
517};
518
519/* TrueTouch Standard Product Gen2 (Txx2xx) interface definition */
520#define CY_GEN2_NOTOUCH 0x03 /* Both touches removed */
521#define CY_GEN2_GHOST 0x02 /* ghost */
522#define CY_GEN2_2TOUCH 0x03 /* 2 touch; no ghost */
523#define CY_GEN2_1TOUCH 0x01 /* 1 touch only */
524#define CY_GEN2_TOUCH2 0x01 /* 1st touch removed;
525 * 2nd touch remains */
526struct cyttsp_gen2_xydata_t {
527 u8 hst_mode;
528 u8 tt_mode;
529 u8 tt_stat;
530 u16 x1 __attribute__ ((packed));
531 u16 y1 __attribute__ ((packed));
532 u8 z1;
533 u8 evnt_idx;
534 u16 x2 __attribute__ ((packed));
535 u16 y2 __attribute__ ((packed));
536 u8 tt_undef1;
537 u8 gest_cnt;
538 u8 gest_id;
539 u8 tt_undef[14];
540 u8 gest_set;
541 u8 tt_reserved;
542};
543
544/* TTSP System Information interface definition */
545struct cyttsp_sysinfo_data_t {
546 u8 hst_mode;
547 u8 mfg_cmd;
548 u8 mfg_stat;
549 u8 cid[3];
550 u8 tt_undef1;
551 u8 uid[8];
552 u8 bl_verh;
553 u8 bl_verl;
554 u8 tts_verh;
555 u8 tts_verl;
556 u8 app_idh;
557 u8 app_idl;
558 u8 app_verh;
559 u8 app_verl;
560 u8 tt_undef[6];
561 u8 act_intrvl;
562 u8 tch_tmout;
563 u8 lp_intrvl;
564};
565
566/* TTSP Bootloader Register Map interface definition */
567#define CY_BL_CHKSUM_OK 0x01
568struct cyttsp_bootloader_data_t {
569 u8 bl_file;
570 u8 bl_status;
571 u8 bl_error;
572 u8 blver_hi;
573 u8 blver_lo;
574 u8 bld_blver_hi;
575 u8 bld_blver_lo;
576 u8 ttspver_hi;
577 u8 ttspver_lo;
578 u8 appid_hi;
579 u8 appid_lo;
580 u8 appver_hi;
581 u8 appver_lo;
582 u8 cid_0;
583 u8 cid_1;
584 u8 cid_2;
585};
586
587#define cyttsp_wake_data_t cyttsp_gen3_xydata_t
588#ifdef CY_DECLARE_GLOBALS
589 #ifdef CY_INCLUDE_LOAD_FILE
590 /* this file declares:
591 * firmware download block array (cyttsp_fw[]),
592 * the number of command block records (cyttsp_fw_records),
593 * and the version variables
594 */
595 #include "cyttsp_fw.h" /* imports cyttsp_fw[] array */
596 #define cyttsp_app_load() 1
597 #ifdef CY_FORCE_FW_UPDATE
598 #define cyttsp_force_fw_load() 1
599 #else
600 #define cyttsp_force_fw_load() 0
601 #endif
602
603 #else
604 /* the following declarations are to allow
605 * some debugging capability
606 */
607 unsigned char cyttsp_fw_tts_verh = 0x00;
608 unsigned char cyttsp_fw_tts_verl = 0x01;
609 unsigned char cyttsp_fw_app_idh = 0x02;
610 unsigned char cyttsp_fw_app_idl = 0x03;
611 unsigned char cyttsp_fw_app_verh = 0x04;
612 unsigned char cyttsp_fw_app_verl = 0x05;
613 unsigned char cyttsp_fw_cid_0 = 0x06;
614 unsigned char cyttsp_fw_cid_1 = 0x07;
615 unsigned char cyttsp_fw_cid_2 = 0x08;
616 #define cyttsp_app_load() 0
617 #define cyttsp_force_fw_load() 0
618 #endif
619 #define cyttsp_tts_verh() cyttsp_fw_tts_verh
620 #define cyttsp_tts_verl() cyttsp_fw_tts_verl
621 #define cyttsp_app_idh() cyttsp_fw_app_idh
622 #define cyttsp_app_idl() cyttsp_fw_app_idl
623 #define cyttsp_app_verh() cyttsp_fw_app_verh
624 #define cyttsp_app_verl() cyttsp_fw_app_verl
625 #define cyttsp_cid_0() cyttsp_fw_cid_0
626 #define cyttsp_cid_1() cyttsp_fw_cid_1
627 #define cyttsp_cid_2() cyttsp_fw_cid_2
628 #ifdef CY_USE_TEST_DATA
629 static struct cyttsp_gen2_xydata_t tt_gen2_testray[] = {
630 {0x00}, {0x00}, {0x04},
631 {0x4000}, {0x8000}, {0x80},
632 {0x03},
633 {0x2000}, {0x1000}, {0x00},
634 {0x00},
635 {0x00},
636 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
638 {0x00},
639 {0x00}
640 };
641
642 static struct cyttsp_gen3_xydata_t tt_gen3_testray[] = {
643 {0x00}, {0x00}, {0x04},
644 {0x4000}, {0x8000}, {0x80},
645 {0x12},
646 {0x2000}, {0x1000}, {0xA0},
647 {0x00}, {0x00},
648 {0x8000}, {0x4000}, {0xB0},
649 {0x34},
650 {0x4000}, {0x1000}, {0xC0},
651 {0x00, 0x00, 0x00},
652 {0x00},
653 {0x00}
654 };
655 #endif /* CY_USE_TEST_DATA */
656
657#else
658 extern u8 g_appload_ray[];
659#endif
660
661#endif /* __CYTTSP_H__ */