2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-12 15:44:01 +08:00
linux-next/drivers/input/mouse
Pali Rohár d91abc21e1 Input: alps - demystify trackstick initialization for v3 and v6 protocols
Remove cite "Not sure what this does, but it is absolutely essential".

Extract initialization of trackstick part when touchpad is in passthrough
mode for v3 and v6 protocols into own function. Initialization for v3 is:
setscale11, setscale11, setscale11, nibble 0x9, nibble 0x4. Initialization
for v6 is: setscale11, setscale11, setscale11, setrate 0xC8, setrate 0x14.
Nibbles 0x9 and 0x4 for v3 protocol correspond to setrate 0xC8 and 0x14,
therefore these sequences are same.

When touchpad is in passthrough mode, then OS communicates with trackstick
and this sequence is some magic vendor PS/2 command to put trackstick into
"extended" mode. After that sequence trackstick starts reporting packets in
some vendor 4 bytes format (first byte is always 0xE8).

Next step after configuring trackstick to be in "extended" mode, is to
configure touchpad for v3 protocol to expect that trackstick reports data
in "extended" mode. For v3 protocol this is done by setting bit 1 in
register 0xC2C8 (offset 0x08 from base address 0xC2C0).

When both touchpad and trackstick are not configured for "extended" mode
then touchpad reports trackstick packets in different format, which is not
supported by psmouse/alps driver (yet).

In Cirque documentation GP-AN- 130823 INTERFACING TO GEN4 OVER I2C (PDF)
available at http://www.cirque.com/gen4-dev-resources is Logical Address
0xC2C8 named as PS2AuxControl and Bit Number 1 as ProcessAuxExtendedData
with description: Auxiliary device data is assumed to be extended data when
set.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2018-04-23 16:37:54 -07:00
..
alps.c Input: alps - demystify trackstick initialization for v3 and v6 protocols 2018-04-23 16:37:54 -07:00
alps.h Input: ALPS - fix multi-touch decoding on SS4 plus touchpads 2018-01-12 00:41:36 -08:00
amimouse.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
appletouch.c Input: appletouch - use true and false for boolean values 2018-03-14 10:13:08 -07:00
atarimouse.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
bcm5974.c Input: mouse - use local variables consistently 2017-01-21 23:52:22 -08:00
byd.c Input: byd - convert to using timer_setup() 2017-10-23 16:31:43 -07:00
byd.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cyapa_gen3.c Input: cyapa - remove duplicated macro definitions 2018-01-08 17:42:00 -08:00
cyapa_gen5.c Input: cyapa - fix for losing events during device power transitions 2016-03-04 11:32:13 -08:00
cyapa_gen6.c Input: cyapa - fix for losing events during device power transitions 2016-03-04 11:32:13 -08:00
cyapa.c Input: cyapa - remove redundant assignment to 'pwr_cmd' 2018-01-18 11:39:49 -08:00
cyapa.h Input: cyapa - fix for losing events during device power transitions 2016-03-04 11:32:13 -08:00
cypress_ps2.c Input: mouse - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:28 -08:00
cypress_ps2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
elan_i2c_core.c Linux 4.15 2018-02-01 00:41:33 -08:00
elan_i2c_i2c.c Input: elan_i2c - extend Flash-Write delay 2017-09-22 10:07:38 -07:00
elan_i2c_smbus.c Input: elan_i2c - support touchpads with two physical buttons 2017-08-18 17:07:02 -07:00
elan_i2c.h Input: elan_i2c - support touchpads with two physical buttons 2017-08-18 17:07:02 -07:00
elantech.c Input: psmouse - move sliced command implementation to libps2 2018-02-02 16:50:24 -08:00
elantech.h Input: elantech - add special check for fw_version 0x470f01 touchpad 2015-08-07 14:54:15 -07:00
focaltech.c Input: psmouse - cleanup Focaltech code 2016-10-24 17:19:25 -07:00
focaltech.h Input: psmouse - rearrange Focaltech init code 2015-12-17 15:23:54 -08:00
gpio_mouse.c Input: gpio_mouse - add device tree probing 2017-10-19 17:08:46 -07:00
hgpk.c Input: mouse - use local variables consistently 2017-01-21 23:52:22 -08:00
hgpk.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
inport.c Annotate hardware config module parameters in drivers/input/ 2017-04-20 12:02:32 +01:00
Kconfig Input: synaptics - add support for Intertouch devices 2017-03-25 10:37:30 -07:00
lifebook.c Input: lifebook - clean up code 2018-02-02 16:49:17 -08:00
lifebook.h Input: lifebook - use "static inline" instead of "inline" in lifebook.h 2014-11-09 22:59:25 -08:00
logibm.c Annotate hardware config module parameters in drivers/input/ 2017-04-20 12:02:32 +01:00
logips2pp.c Input: psmouse - move sliced command implementation to libps2 2018-02-02 16:50:24 -08:00
logips2pp.h Input: psmouse - rename ps2pp_init() to ps2pp_detect() 2015-12-17 15:24:37 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
maplemouse.c Input: mouse - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:28 -08:00
navpoint.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
pc110pad.c
psmouse-base.c Merge branch 'psmouse' into next 2018-03-17 10:58:05 -07:00
psmouse-smbus.c Input: psmouse - use i2c_client_type to locate i2c clients 2017-04-03 12:03:55 -07:00
psmouse.h Input: psmouse - move sliced command implementation to libps2 2018-02-02 16:50:24 -08:00
pxa930_trkball.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
rpcmouse.c input: rpcmouse: use __iomem pointers for MMIO 2012-09-19 15:37:13 +02:00
sentelic.c Input: psmouse - create helper for reporting standard buttons/motion 2018-02-02 16:48:56 -08:00
sentelic.h Input: sentelic - use "static inline" instead of "inline" 2015-05-22 10:59:54 -07:00
sermouse.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
synaptics_i2c.c Input: synaptics_i2c - add OF device ID table 2017-03-23 14:46:32 -07:00
synaptics_usb.c Input: synaptics_usb - do not rely on input_dev->users 2018-03-17 11:05:18 -07:00
synaptics.c Merge branch 'ib-chrome-platform-input-atmel-mx-ts-platform-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform into next 2018-04-23 16:07:15 -07:00
synaptics.h Input: synaptics - use u8 instead of unsigned char 2017-04-03 16:23:58 -07:00
touchkit_ps2.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
touchkit_ps2.h
trackpoint.c Input: trackpoint - combine calls to ps2_command() 2018-02-02 16:51:32 -08:00
trackpoint.h Input: trackpoint - only expose supported controls for Elan, ALPS and NXP 2018-01-22 16:24:36 -08:00
vmmouse.c x86/virt: Add enum for hypervisors to replace x86_hyper 2017-11-10 10:03:12 +01:00
vmmouse.h Input: add vmmouse driver 2015-04-14 14:29:03 -07:00
vsxxxaa.c Input: vsxxxaa - fix code dropping bytes from queue 2014-10-28 10:33:48 -07:00