Skip to content

Commit ee249d3

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - support for inhibiting input devices at request from userspace. If a device implements open/close methods, it can also put device into low power state. This is needed, for example, to disable keyboard and touchpad on convertibles when they are transitioned into tablet mode - now that ordinary input devices can be configured for polling mode, dedicated input polling device implementation has been removed - GTCO tablet driver has been removed, as it used problematic custom HID parser, devices are EOL, and there is no interest from the manufacturer - a new driver for Dialog DA7280 haptic chips has been introduced - a new driver for power button on Dell Wyse 3020 - support for eKTF2132 in ektf2127 driver - support for SC2721 and SC2730 in sc27xx-vibra driver - enhancements for Atmel touchscreens, AD7846 touchscreens, Elan touchpads, ADP5589, ST1232 touchscreen, TM2 touchkey drivers - fixes and cleanups to allow clean builds with W=1 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (86 commits) Input: da7280 - fix spelling mistake "sequemce" -> "sequence" Input: cyapa_gen6 - fix out-of-bounds stack access Input: sc27xx - add support for sc2730 and sc2721 dt-bindings: input: Add compatible string for SC2721 and SC2730 dt-bindings: input: Convert sc27xx-vibra.txt to json-schema Input: stmpe - add axis inversion and swapping capability Input: adp5589-keys - do not explicitly control IRQ for wakeup Input: adp5589-keys - do not unconditionally configure as wakeup source Input: ipx4xx-beeper - convert comma to semicolon Input: parkbd - convert comma to semicolon Input: new da7280 haptic driver dt-bindings: input: Add document bindings for DA7280 MAINTAINERS: da7280 updates to the Dialog Semiconductor search terms Input: elantech - fix protocol errors for some trackpoints in SMBus mode Input: elan_i2c - add new trackpoint report type 0x5F Input: elants - document some registers and values Input: atmel_mxt_ts - simplify the return expression of mxt_send_bootloader_cmd() Input: imx_keypad - add COMPILE_TEST support Input: applespi - use new structure for SPI transfer delays Input: synaptics-rmi4 - use new structure for SPI transfer delays ...
2 parents 61f9142 + 4b41932 commit ee249d3

121 files changed

Lines changed: 2989 additions & 2381 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/ariel-pwrbutton.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Dell Wyse 3020 a.k.a. "Ariel" Power Button
8+
9+
maintainers:
10+
- Lubomir Rintel <lkundrak@v3.sk>
11+
12+
description: |
13+
The ENE Embedded Controller on the Ariel board has an interface to the
14+
SPI bus that is capable of sending keyboard and mouse data. A single
15+
power button is attached to it. This binding describes this
16+
configuration.
17+
18+
allOf:
19+
- $ref: input.yaml#
20+
21+
properties:
22+
compatible:
23+
items:
24+
- const: dell,wyse-ariel-ec-input
25+
- const: ene,kb3930-input
26+
27+
reg:
28+
maxItems: 1
29+
30+
interrupts:
31+
maxItems: 1
32+
33+
spi-max-frequency: true
34+
35+
required:
36+
- compatible
37+
- reg
38+
- interrupts
39+
40+
additionalProperties: false
41+
42+
examples:
43+
- |
44+
#include <dt-bindings/interrupt-controller/irq.h>
45+
46+
spi {
47+
#address-cells = <1>;
48+
#size-cells = <0>;
49+
50+
power-button@0 {
51+
compatible = "dell,wyse-ariel-ec-input", "ene,kb3930-input";
52+
reg = <0>;
53+
interrupt-parent = <&gpio>;
54+
interrupts = <60 IRQ_TYPE_EDGE_RISING>;
55+
spi-max-frequency = <33000000>;
56+
};
57+
};

Documentation/devicetree/bindings/input/atmel,maxtouch.txt

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel maXTouch touchscreen/touchpad
8+
9+
maintainers:
10+
- Nick Dyer <nick@shmanahar.org>
11+
- Linus Walleij <linus.walleij@linaro.org>
12+
13+
description: |
14+
Atmel maXTouch touchscreen or touchpads such as the mXT244
15+
and similar devices.
16+
17+
properties:
18+
compatible:
19+
const: atmel,maxtouch
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
vdda-supply:
28+
description:
29+
Optional regulator for the AVDD analog voltage.
30+
31+
vdd-supply:
32+
description:
33+
Optional regulator for the VDD digital voltage.
34+
35+
reset-gpios:
36+
maxItems: 1
37+
description:
38+
Optional GPIO specifier for the touchscreen's reset pin
39+
(active low). The line must be flagged with
40+
GPIO_ACTIVE_LOW.
41+
42+
linux,gpio-keymap:
43+
$ref: /schemas/types.yaml#/definitions/uint32-array
44+
description: |
45+
When enabled, the SPT_GPIOPWN_T19 object sends messages
46+
on GPIO bit changes. An array of up to 8 entries can be provided
47+
indicating the Linux keycode mapped to each bit of the status byte,
48+
starting at the LSB. Linux keycodes are defined in
49+
<dt-bindings/input/input.h>.
50+
51+
Note: the numbering of the GPIOs and the bit they start at varies
52+
between maXTouch devices. You must either refer to the documentation,
53+
or experiment to determine which bit corresponds to which input. Use
54+
KEY_RESERVED for unused padding values.
55+
56+
required:
57+
- compatible
58+
- reg
59+
- interrupts
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/interrupt-controller/irq.h>
66+
#include <dt-bindings/gpio/gpio.h>
67+
i2c {
68+
#address-cells = <1>;
69+
#size-cells = <0>;
70+
touchscreen@4a {
71+
compatible = "atmel,maxtouch";
72+
reg = <0x4a>;
73+
interrupt-parent = <&gpio>;
74+
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
75+
reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
76+
vdda-supply = <&ab8500_ldo_aux2_reg>;
77+
vdd-supply = <&ab8500_ldo_aux5_reg>;
78+
};
79+
};
80+
81+
...

Documentation/devicetree/bindings/input/cypress,tm2-touchkey.txt

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/cypress,tm2-touchkey.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung TM2 touch key controller
8+
9+
maintainers:
10+
- Stephan Gerhold <stephan@gerhold.net>
11+
12+
description: |
13+
Touch key controllers similar to the TM2 can be found in a wide range of
14+
Samsung devices. They are implemented using many different MCUs, but use
15+
a similar I2C protocol.
16+
17+
allOf:
18+
- $ref: input.yaml#
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- cypress,tm2-touchkey
24+
- cypress,midas-touchkey
25+
- cypress,aries-touchkey
26+
- coreriver,tc360-touchkey
27+
28+
reg:
29+
maxItems: 1
30+
31+
interrupts:
32+
maxItems: 1
33+
34+
vdd-supply:
35+
description: Optional regulator for LED voltage, 3.3V.
36+
37+
vcc-supply:
38+
description: Optional regulator for MCU, 1.8V-3.3V (depending on MCU).
39+
40+
vddio-supply:
41+
description: |
42+
Optional regulator that provides digital I/O voltage,
43+
e.g. for pulling up the interrupt line or the I2C pins.
44+
45+
linux,keycodes:
46+
minItems: 1
47+
maxItems: 4
48+
49+
required:
50+
- compatible
51+
- reg
52+
- interrupts
53+
54+
additionalProperties: false
55+
56+
examples:
57+
- |
58+
#include <dt-bindings/input/input.h>
59+
#include <dt-bindings/interrupt-controller/irq.h>
60+
i2c {
61+
#address-cells = <1>;
62+
#size-cells = <0>;
63+
64+
touchkey@20 {
65+
compatible = "cypress,tm2-touchkey";
66+
reg = <0x20>;
67+
interrupt-parent = <&gpa3>;
68+
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
69+
vcc-supply = <&ldo32_reg>;
70+
vdd-supply = <&ldo33_reg>;
71+
linux,keycodes = <KEY_MENU KEY_BACK>;
72+
};
73+
};
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
Dialog Semiconductor DA7280 Haptics bindings
2+
3+
Required properties:
4+
- compatible: Should be "dlg,da7280".
5+
- reg: Specifies the I2C slave address.
6+
7+
- interrupt-parent : Specifies the phandle of the interrupt controller to
8+
which the IRQs from DA7280 are delivered to.
9+
10+
- dlg,actuator-type: Set Actuator type. it should be one of:
11+
"LRA" - Linear Resonance Actuator type.
12+
"ERM-bar" - Bar type Eccentric Rotating Mass.
13+
"ERM-coin" - Coin type Eccentric Rotating Mass.
14+
15+
- dlg,const-op-mode: Haptic operation mode for FF_CONSTANT.
16+
Possible values:
17+
1 - Direct register override(DRO) mode triggered by i2c(default),
18+
2 - PWM data source mode controlled by PWM duty,
19+
- dlg,periodic-op-mode: Haptic operation mode for FF_PERIODIC.
20+
Possible values:
21+
1 - Register triggered waveform memory(RTWM) mode, the pattern
22+
assigned to the PS_SEQ_ID played as much times as PS_SEQ_LOOP,
23+
2 - Edge triggered waveform memory(ETWM) mode, external GPI(N)
24+
control are required to enable/disable and it needs to keep
25+
device enabled by sending magnitude (X > 0),
26+
the pattern is assigned to the GPI(N)_SEQUENCE_ID below.
27+
The default value is 1 for both of the operation modes.
28+
For more details, please see the datasheet.
29+
30+
- dlg,nom-microvolt: Nominal actuator voltage rating.
31+
Valid values: 0 - 6000000.
32+
- dlg,abs-max-microvolt: Absolute actuator maximum voltage rating.
33+
Valid values: 0 - 6000000.
34+
- dlg,imax-microamp: Actuator max current rating.
35+
Valid values: 0 - 252000.
36+
Default: 130000.
37+
- dlg,impd-micro-ohms: the impedance of the actuator in micro ohms.
38+
Valid values: 0 - 1500000000.
39+
40+
Optional properties:
41+
- pwms : phandle to the physical PWM(Pulse Width Modulation) device.
42+
PWM properties should be named "pwms". And number of cell is different
43+
for each pwm device.
44+
(See Documentation/devicetree/bindings/pwm/pwm.txt
45+
for further information relating to pwm properties)
46+
47+
- dlg,ps-seq-id: the PS_SEQ_ID(pattern ID in waveform memory inside chip)
48+
to play back when RTWM-MODE is enabled.
49+
Valid range: 0 - 15.
50+
- dlg,ps-seq-loop: the PS_SEQ_LOOP, Number of times the pre-stored sequence
51+
pointed to by PS_SEQ_ID or GPI(N)_SEQUENCE_ID is repeated.
52+
Valid range: 0 - 15.
53+
- dlg,gpiN-seq-id: the GPI(N)_SEQUENCE_ID, pattern to play
54+
when gpi0 is triggered, 'N' must be 0 - 2.
55+
Valid range: 0 - 15.
56+
- dlg,gpiN-mode: the pattern mode which can select either
57+
"Single-pattern" or "Multi-pattern", 'N' must be 0 - 2.
58+
- dlg,gpiN-polarity: gpiN polarity which can be chosen among
59+
"Rising-edge", "Falling-edge" and "Both-edge",
60+
'N' must be 0 - 2
61+
Haptic will work by this edge option in case of ETWM mode.
62+
63+
- dlg,resonant-freq-hz: use in case of LRA.
64+
the frequency range: 50 - 300.
65+
Default: 205.
66+
67+
- dlg,bemf-sens-enable: Enable for internal loop computations.
68+
- dlg,freq-track-enable: Enable for resonant frequency tracking.
69+
- dlg,acc-enable: Enable for active acceleration.
70+
- dlg,rapid-stop-enable: Enable for rapid stop.
71+
- dlg,amp-pid-enable: Enable for the amplitude PID.
72+
- dlg,mem-array: Customized waveform memory(patterns) data downloaded to
73+
the device during initialization. This is an array of 100 values(u8).
74+
75+
For further information, see device datasheet.
76+
77+
======
78+
79+
Example:
80+
81+
haptics: da7280-haptics@4a {
82+
compatible = "dlg,da7280";
83+
reg = <0x4a>;
84+
interrupt-parent = <&gpio6>;
85+
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
86+
dlg,actuator-type = "LRA";
87+
dlg,dlg,const-op-mode = <1>;
88+
dlg,dlg,periodic-op-mode = <1>;
89+
dlg,nom-microvolt = <2000000>;
90+
dlg,abs-max-microvolt = <2000000>;
91+
dlg,imax-microamp = <170000>;
92+
dlg,resonant-freq-hz = <180>;
93+
dlg,impd-micro-ohms = <10500000>;
94+
dlg,freq-track-enable;
95+
dlg,rapid-stop-enable;
96+
dlg,mem-array = <
97+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
98+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
99+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
100+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
101+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
102+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
103+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
104+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
105+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
106+
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
107+
>;
108+
};

0 commit comments

Comments
 (0)