blob: 45df9f7bc3cc3a6e64fcac857455ed45db86852f [file] [log] [blame]
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001/*
2 * Internal platform definitions for msm/qsd touchscreen devices
3 *
4 * Copyright (C) 2008 Google Incorporated
5 *
6 * This software is licensed under the terms of the GNU General Public
7 * License version 2, as published by the Free Software Foundation, and
8 * may be copied, distributed, and modified under those terms.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#ifndef __ASM_ARCH_MSM_TS_H
17#define __ASM_ARCH_MSM_TS_H
18
19#include <linux/input.h>
20
21/* The dimensions for the virtual key are for the other axis, i.e. if
22 * virtual keys are in the Y dimension then min/max is the range in the X
23 * dimension where that key would be activated */
24struct ts_virt_key {
25 int key;
26 int min;
27 int max;
28};
29
30struct msm_ts_virtual_keys {
31 struct ts_virt_key *keys;
32 int num_keys;
33};
34
35struct msm_ts_platform_data {
36 uint32_t min_x;
37 uint32_t max_x;
38 uint32_t min_y;
39 uint32_t max_y;
40 uint32_t min_press;
41 uint32_t max_press;
42 struct msm_ts_virtual_keys *vkeys_x;
43 uint32_t virt_x_start;
44 struct msm_ts_virtual_keys *vkeys_y;
45 uint32_t virt_y_start;
46 uint32_t inv_x;
47 uint32_t inv_y;
48 bool can_wakeup;
49};
50
51#endif /* __ASM_ARCH_MSM_TS_H */