diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-03-01 02:55:20 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-03-01 02:55:20 -0500 |
| commit | 35858adbfca13678af99fb31618ef4428d6dedb0 (patch) | |
| tree | 3336feaa61324486945816cb52c347733e7c0821 /Documentation/input | |
| parent | 197d4db752e67160d79fed09968c2140376a80a3 (diff) | |
| parent | 4b70858ba8d4537daf782defebe5f2ff80ccef2b (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'Documentation/input')
| -rw-r--r-- | Documentation/input/sentelic.txt | 124 |
1 files changed, 110 insertions, 14 deletions
diff --git a/Documentation/input/sentelic.txt b/Documentation/input/sentelic.txt index f7160a2fb6a2..b35affd5c649 100644 --- a/Documentation/input/sentelic.txt +++ b/Documentation/input/sentelic.txt | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | Copyright (C) 2002-2008 Sentelic Corporation. | 1 | Copyright (C) 2002-2010 Sentelic Corporation. |
| 2 | Last update: Oct-31-2008 | 2 | Last update: Jan-13-2010 |
| 3 | 3 | ||
| 4 | ============================================================================== | 4 | ============================================================================== |
| 5 | * Finger Sensing Pad Intellimouse Mode(scrolling wheel, 4th and 5th buttons) | 5 | * Finger Sensing Pad Intellimouse Mode(scrolling wheel, 4th and 5th buttons) |
| @@ -44,7 +44,7 @@ B) MSID 6: Horizontal and Vertical scrolling. | |||
| 44 | Packet 1 | 44 | Packet 1 |
| 45 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 | 45 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 |
| 46 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| | 46 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| |
| 47 | 1 |Y|X|y|x|1|M|R|L| 2 |X|X|X|X|X|X|X|X| 3 |Y|Y|Y|Y|Y|Y|Y|Y| 4 | | |B|F|l|r|u|d| | 47 | 1 |Y|X|y|x|1|M|R|L| 2 |X|X|X|X|X|X|X|X| 3 |Y|Y|Y|Y|Y|Y|Y|Y| 4 | | |B|F|r|l|u|d| |
| 48 | |---------------| |---------------| |---------------| |---------------| | 48 | |---------------| |---------------| |---------------| |---------------| |
| 49 | 49 | ||
| 50 | Byte 1: Bit7 => Y overflow | 50 | Byte 1: Bit7 => Y overflow |
| @@ -59,15 +59,15 @@ Byte 2: X Movement(9-bit 2's complement integers) | |||
| 59 | Byte 3: Y Movement(9-bit 2's complement integers) | 59 | Byte 3: Y Movement(9-bit 2's complement integers) |
| 60 | Byte 4: Bit0 => the Vertical scrolling movement downward. | 60 | Byte 4: Bit0 => the Vertical scrolling movement downward. |
| 61 | Bit1 => the Vertical scrolling movement upward. | 61 | Bit1 => the Vertical scrolling movement upward. |
| 62 | Bit2 => the Vertical scrolling movement rightward. | 62 | Bit2 => the Horizontal scrolling movement leftward. |
| 63 | Bit3 => the Vertical scrolling movement leftward. | 63 | Bit3 => the Horizontal scrolling movement rightward. |
| 64 | Bit4 => 1 = 4th mouse button is pressed, Forward one page. | 64 | Bit4 => 1 = 4th mouse button is pressed, Forward one page. |
| 65 | 0 = 4th mouse button is not pressed. | 65 | 0 = 4th mouse button is not pressed. |
| 66 | Bit5 => 1 = 5th mouse button is pressed, Backward one page. | 66 | Bit5 => 1 = 5th mouse button is pressed, Backward one page. |
| 67 | 0 = 5th mouse button is not pressed. | 67 | 0 = 5th mouse button is not pressed. |
| 68 | 68 | ||
| 69 | C) MSID 7: | 69 | C) MSID 7: |
| 70 | # FSP uses 2 packets(8 Bytes) data to represent Absolute Position | 70 | # FSP uses 2 packets (8 Bytes) to represent Absolute Position. |
| 71 | so we have PACKET NUMBER to identify packets. | 71 | so we have PACKET NUMBER to identify packets. |
| 72 | If PACKET NUMBER is 0, the packet is Packet 1. | 72 | If PACKET NUMBER is 0, the packet is Packet 1. |
| 73 | If PACKET NUMBER is 1, the packet is Packet 2. | 73 | If PACKET NUMBER is 1, the packet is Packet 2. |
| @@ -129,7 +129,7 @@ Byte 3: Message Type => 0x00 (Disabled) | |||
| 129 | Byte 4: Bit7~Bit0 => Don't Care | 129 | Byte 4: Bit7~Bit0 => Don't Care |
| 130 | 130 | ||
| 131 | ============================================================================== | 131 | ============================================================================== |
| 132 | * Absolute position for STL3888-A0. | 132 | * Absolute position for STL3888-Ax. |
| 133 | ============================================================================== | 133 | ============================================================================== |
| 134 | Packet 1 (ABSOLUTE POSITION) | 134 | Packet 1 (ABSOLUTE POSITION) |
| 135 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 | 135 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 |
| @@ -179,14 +179,14 @@ Byte 4: Bit1~Bit0 => Y coordinate (xpos[1:0]) | |||
| 179 | Bit5~Bit4 => y2_g | 179 | Bit5~Bit4 => y2_g |
| 180 | Bit7~Bit6 => x2_g | 180 | Bit7~Bit6 => x2_g |
| 181 | 181 | ||
| 182 | Notify Packet for STL3888-A0 | 182 | Notify Packet for STL3888-Ax |
| 183 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 | 183 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 |
| 184 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| | 184 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| |
| 185 | 1 |1|0|1|P|1|M|R|L| 2 |C|C|C|C|C|C|C|C| 3 |0|0|F|F|0|0|0|i| 4 |r|l|d|u|0|0|0|0| | 185 | 1 |1|0|1|P|1|M|R|L| 2 |C|C|C|C|C|C|C|C| 3 |0|0|F|F|0|0|0|i| 4 |r|l|d|u|0|0|0|0| |
| 186 | |---------------| |---------------| |---------------| |---------------| | 186 | |---------------| |---------------| |---------------| |---------------| |
| 187 | 187 | ||
| 188 | Byte 1: Bit7~Bit6 => 00, Normal data packet | 188 | Byte 1: Bit7~Bit6 => 00, Normal data packet |
| 189 | => 01, Absolute coordination packet | 189 | => 01, Absolute coordinates packet |
| 190 | => 10, Notify packet | 190 | => 10, Notify packet |
| 191 | Bit5 => 1 | 191 | Bit5 => 1 |
| 192 | Bit4 => when in absolute coordinates mode (valid when EN_PKT_GO is 1): | 192 | Bit4 => when in absolute coordinates mode (valid when EN_PKT_GO is 1): |
| @@ -205,15 +205,106 @@ Byte 4: Bit7 => scroll right button | |||
| 205 | Bit6 => scroll left button | 205 | Bit6 => scroll left button |
| 206 | Bit5 => scroll down button | 206 | Bit5 => scroll down button |
| 207 | Bit4 => scroll up button | 207 | Bit4 => scroll up button |
| 208 | * Note that if gesture and additional button (Bit4~Bit7) | 208 | * Note that if gesture and additional buttoni (Bit4~Bit7) |
| 209 | happen at the same time, the button information will not | 209 | happen at the same time, the button information will not |
| 210 | be sent. | 210 | be sent. |
| 211 | Bit3~Bit0 => Reserved | ||
| 212 | |||
| 213 | Sample sequence of Multi-finger, Multi-coordinate mode: | ||
| 214 | |||
| 215 | notify packet (valid bit == 1), abs pkt 1, abs pkt 2, abs pkt 1, | ||
| 216 | abs pkt 2, ..., notify packet (valid bit == 0) | ||
| 217 | |||
| 218 | ============================================================================== | ||
| 219 | * Absolute position for STL3888-B0. | ||
| 220 | ============================================================================== | ||
| 221 | Packet 1(ABSOLUTE POSITION) | ||
| 222 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 | ||
| 223 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| | ||
| 224 | 1 |0|1|V|F|1|0|R|L| 2 |X|X|X|X|X|X|X|X| 3 |Y|Y|Y|Y|Y|Y|Y|Y| 4 |r|l|u|d|X|X|Y|Y| | ||
| 225 | |---------------| |---------------| |---------------| |---------------| | ||
| 226 | |||
| 227 | Byte 1: Bit7~Bit6 => 00, Normal data packet | ||
| 228 | => 01, Absolute coordinates packet | ||
| 229 | => 10, Notify packet | ||
| 230 | Bit5 => Valid bit, 0 means that the coordinate is invalid or finger up. | ||
| 231 | When both fingers are up, the last two reports have zero valid | ||
| 232 | bit. | ||
| 233 | Bit4 => finger up/down information. 1: finger down, 0: finger up. | ||
| 234 | Bit3 => 1 | ||
| 235 | Bit2 => finger index, 0 is the first finger, 1 is the second finger. | ||
| 236 | Bit1 => Right Button, 1 is pressed, 0 is not pressed. | ||
| 237 | Bit0 => Left Button, 1 is pressed, 0 is not pressed. | ||
| 238 | Byte 2: X coordinate (xpos[9:2]) | ||
| 239 | Byte 3: Y coordinate (ypos[9:2]) | ||
| 240 | Byte 4: Bit1~Bit0 => Y coordinate (xpos[1:0]) | ||
| 241 | Bit3~Bit2 => X coordinate (ypos[1:0]) | ||
| 242 | Bit4 => scroll down button | ||
| 243 | Bit5 => scroll up button | ||
| 244 | Bit6 => scroll left button | ||
| 245 | Bit7 => scroll right button | ||
| 246 | |||
| 247 | Packet 2 (ABSOLUTE POSITION) | ||
| 248 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 | ||
| 249 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| | ||
| 250 | 1 |0|1|V|F|1|1|R|L| 2 |X|X|X|X|X|X|X|X| 3 |Y|Y|Y|Y|Y|Y|Y|Y| 4 |r|l|u|d|X|X|Y|Y| | ||
| 251 | |---------------| |---------------| |---------------| |---------------| | ||
| 252 | |||
| 253 | Byte 1: Bit7~Bit6 => 00, Normal data packet | ||
| 254 | => 01, Absolute coordination packet | ||
| 255 | => 10, Notify packet | ||
| 256 | Bit5 => Valid bit, 0 means that the coordinate is invalid or finger up. | ||
| 257 | When both fingers are up, the last two reports have zero valid | ||
| 258 | bit. | ||
| 259 | Bit4 => finger up/down information. 1: finger down, 0: finger up. | ||
| 260 | Bit3 => 1 | ||
| 261 | Bit2 => finger index, 0 is the first finger, 1 is the second finger. | ||
| 262 | Bit1 => Right Button, 1 is pressed, 0 is not pressed. | ||
| 263 | Bit0 => Left Button, 1 is pressed, 0 is not pressed. | ||
| 264 | Byte 2: X coordinate (xpos[9:2]) | ||
| 265 | Byte 3: Y coordinate (ypos[9:2]) | ||
| 266 | Byte 4: Bit1~Bit0 => Y coordinate (xpos[1:0]) | ||
| 267 | Bit3~Bit2 => X coordinate (ypos[1:0]) | ||
| 268 | Bit4 => scroll down button | ||
| 269 | Bit5 => scroll up button | ||
| 270 | Bit6 => scroll left button | ||
| 271 | Bit7 => scroll right button | ||
| 272 | |||
| 273 | Notify Packet for STL3888-B0 | ||
| 274 | Bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 | ||
| 275 | BYTE |---------------|BYTE |---------------|BYTE|---------------|BYTE|---------------| | ||
| 276 | 1 |1|0|1|P|1|M|R|L| 2 |C|C|C|C|C|C|C|C| 3 |0|0|F|F|0|0|0|i| 4 |r|l|u|d|0|0|0|0| | ||
| 277 | |---------------| |---------------| |---------------| |---------------| | ||
| 278 | |||
| 279 | Byte 1: Bit7~Bit6 => 00, Normal data packet | ||
| 280 | => 01, Absolute coordination packet | ||
| 281 | => 10, Notify packet | ||
| 282 | Bit5 => 1 | ||
| 283 | Bit4 => when in absolute coordinate mode (valid when EN_PKT_GO is 1): | ||
| 284 | 0: left button is generated by the on-pad command | ||
| 285 | 1: left button is generated by the external button | ||
| 286 | Bit3 => 1 | ||
| 287 | Bit2 => Middle Button, 1 is pressed, 0 is not pressed. | ||
| 288 | Bit1 => Right Button, 1 is pressed, 0 is not pressed. | ||
| 289 | Bit0 => Left Button, 1 is pressed, 0 is not pressed. | ||
| 290 | Byte 2: Message Type => 0xB7 (Multi Finger, Multi Coordinate mode) | ||
| 291 | Byte 3: Bit7~Bit6 => Don't care | ||
| 292 | Bit5~Bit4 => Number of fingers | ||
| 293 | Bit3~Bit1 => Reserved | ||
| 294 | Bit0 => 1: enter gesture mode; 0: leaving gesture mode | ||
| 295 | Byte 4: Bit7 => scroll right button | ||
| 296 | Bit6 => scroll left button | ||
| 297 | Bit5 => scroll up button | ||
| 298 | Bit4 => scroll down button | ||
| 299 | * Note that if gesture and additional button(Bit4~Bit7) | ||
| 300 | happen at the same time, the button information will not | ||
| 301 | be sent. | ||
| 211 | Bit3~Bit0 => Reserved | 302 | Bit3~Bit0 => Reserved |
| 212 | 303 | ||
| 213 | Sample sequence of Multi-finger, Multi-coordinate mode: | 304 | Sample sequence of Multi-finger, Multi-coordinate mode: |
| 214 | 305 | ||
| 215 | notify packet (valid bit == 1), abs pkt 1, abs pkt 2, abs pkt 1, | 306 | notify packet (valid bit == 1), abs pkt 1, abs pkt 2, abs pkt 1, |
| 216 | abs pkt 2, ..., notify packet(valid bit == 0) | 307 | abs pkt 2, ..., notify packet (valid bit == 0) |
| 217 | 308 | ||
| 218 | ============================================================================== | 309 | ============================================================================== |
| 219 | * FSP Enable/Disable packet | 310 | * FSP Enable/Disable packet |
| @@ -409,7 +500,8 @@ offset width default r/w name | |||
| 409 | 0: read only, 1: read/write enable | 500 | 0: read only, 1: read/write enable |
| 410 | (Note that following registers does not require clock gating being | 501 | (Note that following registers does not require clock gating being |
| 411 | enabled prior to write: 05 06 07 08 09 0c 0f 10 11 12 16 17 18 23 2e | 502 | enabled prior to write: 05 06 07 08 09 0c 0f 10 11 12 16 17 18 23 2e |
| 412 | 40 41 42 43.) | 503 | 40 41 42 43. In addition to that, this bit must be 1 when gesture |
| 504 | mode is enabled) | ||
| 413 | 505 | ||
| 414 | 0x31 RW on-pad command detection | 506 | 0x31 RW on-pad command detection |
| 415 | bit7 0 RW on-pad command left button down tag | 507 | bit7 0 RW on-pad command left button down tag |
| @@ -463,6 +555,10 @@ offset width default r/w name | |||
| 463 | absolute coordinates; otherwise, host only receives packets with | 555 | absolute coordinates; otherwise, host only receives packets with |
| 464 | relative coordinate.) | 556 | relative coordinate.) |
| 465 | 557 | ||
| 558 | bit7 0 RW EN_PS2_F2: PS/2 gesture mode 2nd | ||
| 559 | finger packet enable | ||
| 560 | 0: disable, 1: enable | ||
| 561 | |||
| 466 | 0x43 RW on-pad control | 562 | 0x43 RW on-pad control |
| 467 | bit0 0 RW on-pad control enable | 563 | bit0 0 RW on-pad control enable |
| 468 | 0: disable, 1: enable | 564 | 0: disable, 1: enable |
