aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/input/alps.txt68
-rw-r--r--arch/blackfin/mach-bf527/boards/ad7160eval.c15
-rw-r--r--arch/blackfin/mach-bf527/boards/ezkit.c15
-rw-r--r--arch/blackfin/mach-bf548/boards/ezkit.c7
-rw-r--r--arch/blackfin/mach-bf609/boards/ezkit.c7
-rw-r--r--drivers/input/joystick/adi.c3
-rw-r--r--drivers/input/keyboard/pxa27x_keypad.c4
-rw-r--r--drivers/input/misc/bfin_rotary.c208
-rw-r--r--drivers/input/misc/soc_button_array.c2
-rw-r--r--drivers/input/mouse/alps.c516
-rw-r--r--drivers/input/mouse/alps.h65
-rw-r--r--drivers/input/mouse/cypress_ps2.c5
-rw-r--r--drivers/input/mouse/cypress_ps2.h5
-rw-r--r--drivers/input/mouse/focaltech.c10
-rw-r--r--drivers/input/mouse/focaltech.h1
-rw-r--r--drivers/input/mouse/psmouse-base.c6
-rw-r--r--drivers/input/mouse/synaptics.c10
-rw-r--r--drivers/input/mouse/synaptics.h1
-rw-r--r--include/linux/platform_data/bfin_rotary.h (renamed from arch/blackfin/include/asm/bfin_rotary.h)1
19 files changed, 577 insertions, 372 deletions
diff --git a/Documentation/input/alps.txt b/Documentation/input/alps.txt
index 90bca6f988e1..a63e5e013a8c 100644
--- a/Documentation/input/alps.txt
+++ b/Documentation/input/alps.txt
@@ -3,8 +3,8 @@ ALPS Touchpad Protocol
3 3
4Introduction 4Introduction
5------------ 5------------
6Currently the ALPS touchpad driver supports five protocol versions in use by 6Currently the ALPS touchpad driver supports seven protocol versions in use by
7ALPS touchpads, called versions 1, 2, 3, 4 and 5. 7ALPS touchpads, called versions 1, 2, 3, 4, 5, 6 and 7.
8 8
9Since roughly mid-2010 several new ALPS touchpads have been released and 9Since roughly mid-2010 several new ALPS touchpads have been released and
10integrated into a variety of laptops and netbooks. These new touchpads 10integrated into a variety of laptops and netbooks. These new touchpads
@@ -240,3 +240,67 @@ For mt, the format is:
240 byte 3: 0 x23 x22 x21 x20 x19 x18 x17 240 byte 3: 0 x23 x22 x21 x20 x19 x18 x17
241 byte 4: 0 x9 x8 x7 x6 x5 x4 x3 241 byte 4: 0 x9 x8 x7 x6 x5 x4 x3
242 byte 5: 0 x16 x15 x14 x13 x12 x11 x10 242 byte 5: 0 x16 x15 x14 x13 x12 x11 x10
243
244ALPS Absolute Mode - Protocol Version 6
245---------------------------------------
246
247For trackstick packet, the format is:
248
249 byte 0: 1 1 1 1 1 1 1 1
250 byte 1: 0 X6 X5 X4 X3 X2 X1 X0
251 byte 2: 0 Y6 Y5 Y4 Y3 Y2 Y1 Y0
252 byte 3: ? Y7 X7 ? ? M R L
253 byte 4: Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
254 byte 5: 0 1 1 1 1 1 1 1
255
256For touchpad packet, the format is:
257
258 byte 0: 1 1 1 1 1 1 1 1
259 byte 1: 0 0 0 0 x3 x2 x1 x0
260 byte 2: 0 0 0 0 y3 y2 y1 y0
261 byte 3: ? x7 x6 x5 x4 ? r l
262 byte 4: ? y7 y6 y5 y4 ? ? ?
263 byte 5: z7 z6 z5 z4 z3 z2 z1 z0
264
265(v6 touchpad does not have middle button)
266
267ALPS Absolute Mode - Protocol Version 7
268---------------------------------------
269
270For trackstick packet, the format is:
271
272 byte 0: 0 1 0 0 1 0 0 0
273 byte 1: 1 1 * * 1 M R L
274 byte 2: X7 1 X5 X4 X3 X2 X1 X0
275 byte 3: Z6 1 Y6 X6 1 Y2 Y1 Y0
276 byte 4: Y7 0 Y5 Y4 Y3 1 1 0
277 byte 5: T&P 0 Z5 Z4 Z3 Z2 Z1 Z0
278
279For touchpad packet, the format is:
280
281 packet-fmt b7 b6 b5 b4 b3 b2 b1 b0
282 byte 0: TWO & MULTI L 1 R M 1 Y0-2 Y0-1 Y0-0
283 byte 0: NEW L 1 X1-5 1 1 Y0-2 Y0-1 Y0-0
284 byte 1: Y0-10 Y0-9 Y0-8 Y0-7 Y0-6 Y0-5 Y0-4 Y0-3
285 byte 2: X0-11 1 X0-10 X0-9 X0-8 X0-7 X0-6 X0-5
286 byte 3: X1-11 1 X0-4 X0-3 1 X0-2 X0-1 X0-0
287 byte 4: TWO X1-10 TWO X1-9 X1-8 X1-7 X1-6 X1-5 X1-4
288 byte 4: MULTI X1-10 TWO X1-9 X1-8 X1-7 X1-6 Y1-5 1
289 byte 4: NEW X1-10 TWO X1-9 X1-8 X1-7 X1-6 0 0
290 byte 5: TWO & NEW Y1-10 0 Y1-9 Y1-8 Y1-7 Y1-6 Y1-5 Y1-4
291 byte 5: MULTI Y1-10 0 Y1-9 Y1-8 Y1-7 Y1-6 F-1 F-0
292
293 L: Left button
294 R / M: Non-clickpads: Right / Middle button
295 Clickpads: When > 2 fingers are down, and some fingers
296 are in the button area, then the 2 coordinates reported
297 are for fingers outside the button area and these report
298 extra fingers being present in the right / left button
299 area. Note these fingers are not added to the F field!
300 so if a TWO packet is received and R = 1 then there are
301 3 fingers down, etc.
302 TWO: 1: Two touches present, byte 0/4/5 are in TWO fmt
303 0: If byte 4 bit 0 is 1, then byte 0/4/5 are in MULTI fmt
304 otherwise byte 0 bit 4 must be set and byte 0/4/5 are
305 in NEW fmt
306 F: Number of fingers - 3, 0 means 3 fingers, 1 means 4 ...
diff --git a/arch/blackfin/mach-bf527/boards/ad7160eval.c b/arch/blackfin/mach-bf527/boards/ad7160eval.c
index 9501bd8d9cd1..68f2a8a806ea 100644
--- a/arch/blackfin/mach-bf527/boards/ad7160eval.c
+++ b/arch/blackfin/mach-bf527/boards/ad7160eval.c
@@ -666,7 +666,14 @@ static struct platform_device bfin_sport1_uart_device = {
666#endif 666#endif
667 667
668#if IS_ENABLED(CONFIG_INPUT_BFIN_ROTARY) 668#if IS_ENABLED(CONFIG_INPUT_BFIN_ROTARY)
669#include <asm/bfin_rotary.h> 669#include <linux/platform_data/bfin_rotary.h>
670
671static const u16 per_cnt[] = {
672 P_CNT_CUD,
673 P_CNT_CDG,
674 P_CNT_CZM,
675 0
676};
670 677
671static struct bfin_rotary_platform_data bfin_rotary_data = { 678static struct bfin_rotary_platform_data bfin_rotary_data = {
672 /*.rotary_up_key = KEY_UP,*/ 679 /*.rotary_up_key = KEY_UP,*/
@@ -676,10 +683,16 @@ static struct bfin_rotary_platform_data bfin_rotary_data = {
676 .debounce = 10, /* 0..17 */ 683 .debounce = 10, /* 0..17 */
677 .mode = ROT_QUAD_ENC | ROT_DEBE, 684 .mode = ROT_QUAD_ENC | ROT_DEBE,
678 .pm_wakeup = 1, 685 .pm_wakeup = 1,
686 .pin_list = per_cnt,
679}; 687};
680 688
681static struct resource bfin_rotary_resources[] = { 689static struct resource bfin_rotary_resources[] = {
682 { 690 {
691 .start = CNT_CONFIG,
692 .end = CNT_CONFIG + 0xff,
693 .flags = IORESOURCE_MEM,
694 },
695 {
683 .start = IRQ_CNT, 696 .start = IRQ_CNT,
684 .end = IRQ_CNT, 697 .end = IRQ_CNT,
685 .flags = IORESOURCE_IRQ, 698 .flags = IORESOURCE_IRQ,
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c
index d64f565dc2a0..d4219e8e5ab8 100644
--- a/arch/blackfin/mach-bf527/boards/ezkit.c
+++ b/arch/blackfin/mach-bf527/boards/ezkit.c
@@ -1092,7 +1092,14 @@ static struct platform_device bfin_device_gpiokeys = {
1092#endif 1092#endif
1093 1093
1094#if IS_ENABLED(CONFIG_INPUT_BFIN_ROTARY) 1094#if IS_ENABLED(CONFIG_INPUT_BFIN_ROTARY)
1095#include <asm/bfin_rotary.h> 1095#include <linux/platform_data/bfin_rotary.h>
1096
1097static const u16 per_cnt[] = {
1098 P_CNT_CUD,
1099 P_CNT_CDG,
1100 P_CNT_CZM,
1101 0
1102};
1096 1103
1097static struct bfin_rotary_platform_data bfin_rotary_data = { 1104static struct bfin_rotary_platform_data bfin_rotary_data = {
1098 /*.rotary_up_key = KEY_UP,*/ 1105 /*.rotary_up_key = KEY_UP,*/
@@ -1102,10 +1109,16 @@ static struct bfin_rotary_platform_data bfin_rotary_data = {
1102 .debounce = 10, /* 0..17 */ 1109 .debounce = 10, /* 0..17 */
1103 .mode = ROT_QUAD_ENC | ROT_DEBE, 1110 .mode = ROT_QUAD_ENC | ROT_DEBE,
1104 .pm_wakeup = 1, 1111 .pm_wakeup = 1,
1112 .pin_list = per_cnt,
1105}; 1113};
1106 1114
1107static struct resource bfin_rotary_resources[] = { 1115static struct resource bfin_rotary_resources[] = {
1108 { 1116 {
1117 .start = CNT_CONFIG,
1118 .end = CNT_CONFIG + 0xff,
1119 .flags = IORESOURCE_MEM,
1120 },
1121 {
1109 .start = IRQ_CNT, 1122 .start = IRQ_CNT,
1110 .end = IRQ_CNT, 1123 .end = IRQ_CNT,
1111 .flags = IORESOURCE_IRQ, 1124 .flags = IORESOURCE_IRQ,
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
index 1fe7ff286619..4204b9842532 100644
--- a/arch/blackfin/mach-bf548/boards/ezkit.c
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -159,7 +159,7 @@ static struct platform_device bf54x_kpad_device = {
159#endif 159#endif
160 160
161#if IS_ENABLED(CONFIG_INPUT_BFIN_ROTARY) 161#if IS_ENABLED(CONFIG_INPUT_BFIN_ROTARY)
162#include <asm/bfin_rotary.h> 162#include <linux/platform_data/bfin_rotary.h>
163 163