summaryrefslogtreecommitdiffstats
path: root/drivers/staging/dream/synaptics_i2c_rmi.h
diff options
context:
space:
mode:
authorArve Hjønnevåg2009-07-20 12:53:40 +0200
committerGreg Kroah-Hartman2009-09-15 21:02:04 +0200
commit2e4d2af96aad73b7275de45cb34453d18423767d (patch)
tree5924d8149fca9300c9c46dae2b2bbf81769a694a /drivers/staging/dream/synaptics_i2c_rmi.h
parentStaging: htc: Dream: limit Kconfig for only MSM platforms (diff)
downloadkernel-qcow2-linux-2e4d2af96aad73b7275de45cb34453d18423767d.tar.gz
kernel-qcow2-linux-2e4d2af96aad73b7275de45cb34453d18423767d.tar.xz
kernel-qcow2-linux-2e4d2af96aad73b7275de45cb34453d18423767d.zip
Staging: HTC Dream: touchscreen driver for staging
This adds support for synaptic touchscreen, used in HTC dream cellphone. This is original version from Arve, fixed only to compile; I do have cleaner version, but I broken something inside, and this will preserve authorship better. I originally tried to push the driver directly to input/touchscreen, but the driver has some issues with interrupt handling that are more difficult to fix than I expected at first. Signed-off-by: Arve Hjønnevåg <arve@android.com> Signed-off-by: Pavel Machek <pavel@ucw.cz>
Diffstat (limited to 'drivers/staging/dream/synaptics_i2c_rmi.h')
-rw-r--r--drivers/staging/dream/synaptics_i2c_rmi.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/drivers/staging/dream/synaptics_i2c_rmi.h b/drivers/staging/dream/synaptics_i2c_rmi.h
new file mode 100644
index 000000000000..ca51b2fc564d
--- /dev/null
+++ b/drivers/staging/dream/synaptics_i2c_rmi.h
@@ -0,0 +1,53 @@
+/*
+ * include/linux/synaptics_i2c_rmi.h - platform data structure for f75375s sensor
+ *
+ * Copyright (C) 2008 Google, Inc.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef _LINUX_SYNAPTICS_I2C_RMI_H
+#define _LINUX_SYNAPTICS_I2C_RMI_H
+
+#define SYNAPTICS_I2C_RMI_NAME "synaptics-rmi-ts"
+
+enum {
+ SYNAPTICS_FLIP_X = 1UL << 0,
+ SYNAPTICS_FLIP_Y = 1UL << 1,
+ SYNAPTICS_SWAP_XY = 1UL << 2,
+ SYNAPTICS_SNAP_TO_INACTIVE_EDGE = 1UL << 3,
+};
+
+struct synaptics_i2c_rmi_platform_data {
+ uint32_t version; /* Use this entry for panels with */
+ /* (major << 8 | minor) version or above. */
+ /* If non-zero another array entry follows */
+ int (*power)(int on); /* Only valid in first array entry */
+ uint32_t flags;
+ uint32_t inactive_left; /* 0x10000 = screen width */
+ uint32_t inactive_right; /* 0x10000 = screen width */
+ uint32_t inactive_top; /* 0x10000 = screen height */
+ uint32_t inactive_bottom; /* 0x10000 = screen height */
+ uint32_t snap_left_on; /* 0x10000 = screen width */
+ uint32_t snap_left_off; /* 0x10000 = screen width */
+ uint32_t snap_right_on; /* 0x10000 = screen width */
+ uint32_t snap_right_off; /* 0x10000 = screen width */
+ uint32_t snap_top_on; /* 0x10000 = screen height */
+ uint32_t snap_top_off; /* 0x10000 = screen height */
+ uint32_t snap_bottom_on; /* 0x10000 = screen height */
+ uint32_t snap_bottom_off; /* 0x10000 = screen height */
+ uint32_t fuzz_x; /* 0x10000 = screen width */
+ uint32_t fuzz_y; /* 0x10000 = screen height */
+ int fuzz_p;
+ int fuzz_w;
+};
+
+#endif /* _LINUX_SYNAPTICS_I2C_RMI_H */