mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull some more input subsystem updates from Dmitry Torokhov: "An update to the ALPS driver to support the V8 protocol with touchstick, a change for i8042 to skip selftest on many Asus laptops which helps to keep their touchpads working after resume, and a couple other driver fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: i8042 - skip selftest on ASUS laptops Input: melfas_mip4 - add ic_name sysfs attribute Input: melfas_mip4 - add maintainer information Input: melfas_mip4 - add devicetree binding documentations Input: elantech - add Fujitsu Lifebook E556 to force crc_enabled Input: synaptics-rmi4 - fix error handling in I2C transport driver Input: synaptics-rmi4 - fix error handling in SPI transport driver Input: ALPS - add V8 protocol documentation Input: ALPS - set DualPoint flag for 74 03 28 devices Input: ALPS - allow touchsticks to report pressure Input: ALPS - handle 0-pressure 1F events Input: ALPS - add touchstick support for SS5 hardware Input: elantech - force needed quirks on Fujitsu H760 Input: elantech - fix Lenovo version typo
This commit is contained in:
commit
689f891c98
18 changed files with 411 additions and 59 deletions
|
|
@ -0,0 +1,21 @@
|
|||
* MELFAS MIP4 Touchscreen
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "melfas,mip4_ts"
|
||||
- reg: I2C slave address of the chip (0x48 or 0x34)
|
||||
- interrupt-parent: interrupt controller to which the chip is connected
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
|
||||
Optional properties:
|
||||
- ce-gpios: GPIO connected to the CE (chip enable) pin of the chip
|
||||
|
||||
Example:
|
||||
i2c@00000000 {
|
||||
touchscreen: melfas_mip4@48 {
|
||||
compatible = "melfas,mip4_ts";
|
||||
reg = <0x48>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
|
||||
ce-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
|
@ -163,6 +163,7 @@ maxim Maxim Integrated Products
|
|||
meas Measurement Specialties
|
||||
mediatek MediaTek Inc.
|
||||
melexis Melexis N.V.
|
||||
melfas MELFAS Inc.
|
||||
merrii Merrii Technology Co., Ltd.
|
||||
micrel Micrel Inc.
|
||||
microchip Microchip Technology Inc.
|
||||
|
|
|
|||
|
|
@ -319,3 +319,60 @@ For touchpad packet, the format is:
|
|||
otherwise byte 0 bit 4 must be set and byte 0/4/5 are
|
||||
in NEW fmt
|
||||
F: Number of fingers - 3, 0 means 3 fingers, 1 means 4 ...
|
||||
|
||||
|
||||
ALPS Absolute Mode - Protocol Version 8
|
||||
---------------------------------------
|
||||
|
||||
Spoken by SS4 (73 03 14) and SS5 (73 03 28) hardware.
|
||||
|
||||
The packet type is given by the APD field, bits 4-5 of byte 3.
|
||||
|
||||
Touchpad packet (APD = 0x2):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 0 0 X7
|
||||
byte 1: 0 X6 X5 X4 X3 X2 X1 X0
|
||||
byte 2: 0 Y6 Y5 Y4 Y3 Y2 Y1 Y0
|
||||
byte 3: 0 T&P 1 0 1 0 0 Y7
|
||||
byte 4: 0 Z6 Z5 Z4 Z3 Z2 Z1 Z0
|
||||
byte 5: 0 0 0 0 0 0 0 0
|
||||
|
||||
SWM, SWR, SWL: Middle, Right, and Left button states
|
||||
|
||||
Touchpad 1 Finger packet (APD = 0x0):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 X2 X1 X0
|
||||
byte 1: X9 X8 X7 1 X6 X5 X4 X3
|
||||
byte 2: 0 X11 X10 LFB Y3 Y2 Y1 Y0
|
||||
byte 3: Y5 Y4 0 0 1 TAPF2 TAPF1 TAPF0
|
||||
byte 4: Zv7 Y11 Y10 1 Y9 Y8 Y7 Y6
|
||||
byte 5: Zv6 Zv5 Zv4 0 Zv3 Zv2 Zv1 Zv0
|
||||
|
||||
TAPF: ???
|
||||
LFB: ???
|
||||
|
||||
Touchpad 2 Finger packet (APD = 0x1):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 AX6 AX5 AX4
|
||||
byte 1: AX11 AX10 AX9 AX8 AX7 AZ1 AY4 AZ0
|
||||
byte 2: AY11 AY10 AY9 CONT AY8 AY7 AY6 AY5
|
||||
byte 3: 0 0 0 1 1 BX6 BX5 BX4
|
||||
byte 4: BX11 BX10 BX9 BX8 BX7 BZ1 BY4 BZ0
|
||||
byte 5: BY11 BY10 BY9 0 BY8 BY7 BY5 BY5
|
||||
|
||||
CONT: A 3-or-4 Finger packet is to follow
|
||||
|
||||
Touchpad 3-or-4 Finger packet (APD = 0x3):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 AX6 AX5 AX4
|
||||
byte 1: AX11 AX10 AX9 AX8 AX7 AZ1 AY4 AZ0
|
||||
byte 2: AY11 AY10 AY9 OVF AY8 AY7 AY6 AY5
|
||||
byte 3: 0 0 1 1 1 BX6 BX5 BX4
|
||||
byte 4: BX11 BX10 BX9 BX8 BX7 BZ1 BY4 BZ0
|
||||
byte 5: BY11 BY10 BY9 0 BY8 BY7 BY5 BY5
|
||||
|
||||
OVF: 5th finger detected
|
||||
|
|
|
|||
|
|
@ -1511,7 +1511,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
|||
i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
|
||||
controllers
|
||||
i8042.notimeout [HW] Ignore timeout condition signalled by controller
|
||||
i8042.reset [HW] Reset the controller during init and cleanup
|
||||
i8042.reset [HW] Reset the controller during init, cleanup and
|
||||
suspend-to-ram transitions, only during s2r
|
||||
transitions, or never reset
|
||||
Format: { 1 | Y | y | 0 | N | n }
|
||||
1, Y, y: always reset controller
|
||||
0, N, n: don't ever reset controller
|
||||
Default: only on s2r transitions on x86; most other
|
||||
architectures force reset to be always executed
|
||||
i8042.unlock [HW] Unlock (ignore) the keylock
|
||||
i8042.kbdreset [HW] Reset device connected to KBD port
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue