Skip to content

Commit 694b37a

Browse files
committed
Merge tag 'input-for-v6.1-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - a new driver for IBM Operational Panel - a new driver for PinePhone keyboards - RT5120 PMIC power key support - various enhancements and support for new models in xpad (Xbox) driver - a new compatible ID for Elan touchscreen driver - rework of adp5588-keys driver to support configuring via device properties (OF, ACPI, etc) instead of platform data, and proper support of optional gpiochip functionality (and removal of gpio-adp5588 driver) - improvements to firmware update handling in Synaptics RMI4 driver - support for double key matrix in mt6779-keypad - support for polled mode in adc-joystick driver - other assorted driver fixes, cleanups and improvements * tag 'input-for-v6.1-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (90 commits) Input: i8042 - fix refount leak on sparc Input: i8042 - add LoongArch support in i8042-acpipnpio.h Input: i8042 - rename i8042-x86ia64io.h to i8042-acpipnpio.h Input: pinephone-keyboard - support the proxied I2C bus Input: pinephone-keyboard - add PinePhone keyboard driver dt-bindings: input: Add the PinePhone keyboard binding dt-bindings: input: Convert hid-over-i2c to DT schema input: drop empty comment blocks Input: xpad - add X-Box Adaptive Profile button Input: add ABS_PROFILE to uapi and documentation Input: xpad - add X-Box Adaptive XBox button Input: xpad - add X-Box Adaptive support Input: ims-pcu - fix spelling mistake "BOOLTLOADER" -> "BOOTLOADER" Input: ibm-panel - add missing MODULE_DEVICE_TABLE Input: icn8505 - utilize acpi_get_subsystem_id() Input: xpad - decipher xpadone packages with GIP defines Input: xpad - refactor using BIT() macro Input: synaptics-rmi4 - convert to use sysfs_emit() APIs Input: twl4030-pwrbutton - add missing of.h include Input: applespi - replace zero-length array with DECLARE_FLEX_ARRAY() helper ...
2 parents eec4ed3 + 5f8f857 commit 694b37a

File tree

138 files changed

+2633
-1926
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+2633
-1926
lines changed

Documentation/devicetree/bindings/input/adc-joystick.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ description: >
1414
Bindings for joystick devices connected to ADC controllers supporting
1515
the Industrial I/O subsystem.
1616
17+
allOf:
18+
- $ref: input.yaml#
19+
1720
properties:
1821
compatible:
1922
const: adc-joystick
@@ -28,6 +31,8 @@ properties:
2831
https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml
2932
for details.
3033
34+
poll-interval: true
35+
3136
'#address-cells':
3237
const: 1
3338

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/adi,adp5588.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices ADP5588 Keypad Controller
8+
9+
maintainers:
10+
- Nuno Sá <[email protected]>
11+
12+
description: |
13+
Analog Devices Mobile I/O Expander and QWERTY Keypad Controller
14+
https://www.analog.com/media/en/technical-documentation/data-sheets/ADP5588.pdf
15+
16+
allOf:
17+
- $ref: matrix-keymap.yaml#
18+
- $ref: input.yaml#
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- adi,adp5587
24+
- adi,adp5588
25+
26+
reg:
27+
maxItems: 1
28+
29+
vcc-supply:
30+
description: Supply Voltage Input
31+
32+
reset-gpios:
33+
description:
34+
If specified, it will be asserted during driver probe. As the line is
35+
active low, it should be marked GPIO_ACTIVE_LOW.
36+
maxItems: 1
37+
38+
interrupts:
39+
maxItems: 1
40+
41+
gpio-controller:
42+
description:
43+
This property applies if either keypad,num-rows lower than 8 or
44+
keypad,num-columns lower than 10.
45+
46+
'#gpio-cells':
47+
const: 2
48+
49+
interrupt-controller:
50+
description:
51+
This property applies if either keypad,num-rows lower than 8 or
52+
keypad,num-columns lower than 10.
53+
54+
'#interrupt-cells':
55+
const: 2
56+
57+
adi,unlock-keys:
58+
description:
59+
Specifies a maximum of 2 keys that can be used to unlock the keypad.
60+
If this property is set, the keyboard will be locked and only unlocked
61+
after these keys are pressed. If only one key is set, a double click is
62+
needed to unlock the keypad. The value of this property cannot be bigger
63+
or equal than keypad,num-rows * keypad,num-columns.
64+
$ref: /schemas/types.yaml#/definitions/uint32-array
65+
minItems: 1
66+
maxItems: 2
67+
68+
required:
69+
- compatible
70+
- reg
71+
- interrupts
72+
- keypad,num-rows
73+
- keypad,num-columns
74+
- linux,keymap
75+
76+
unevaluatedProperties: false
77+
78+
examples:
79+
- |
80+
#include <dt-bindings/interrupt-controller/irq.h>
81+
#include <dt-bindings/input/input.h>
82+
#include <dt-bindings/gpio/gpio.h>
83+
i2c {
84+
#address-cells = <1>;
85+
#size-cells = <0>;
86+
87+
keys@34 {
88+
compatible = "adi,adp5588";
89+
reg = <0x34>;
90+
91+
vcc-supply = <&vcc>;
92+
interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
93+
interrupt-parent = <&gpio>;
94+
reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
95+
96+
keypad,num-rows = <1>;
97+
keypad,num-columns = <9>;
98+
linux,keymap = <
99+
MATRIX_KEY(0x00, 0x00, KEY_1)
100+
MATRIX_KEY(0x00, 0x01, KEY_2)
101+
MATRIX_KEY(0x00, 0x02, KEY_3)
102+
MATRIX_KEY(0x00, 0x03, KEY_4)
103+
MATRIX_KEY(0x00, 0x04, KEY_5)
104+
MATRIX_KEY(0x00, 0x05, KEY_6)
105+
MATRIX_KEY(0x00, 0x06, KEY_7)
106+
MATRIX_KEY(0x00, 0x07, KEY_8)
107+
MATRIX_KEY(0x00, 0x08, KEY_9)
108+
>;
109+
};
110+
};
111+
...

Documentation/devicetree/bindings/input/hid-over-i2c.txt

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/hid-over-i2c.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: HID over I2C Devices
8+
9+
maintainers:
10+
- Benjamin Tissoires <[email protected]>
11+
- Jiri Kosina <[email protected]>
12+
13+
description: |+
14+
HID over I2C provides support for various Human Interface Devices over the
15+
I2C bus. These devices can be for example touchpads, keyboards, touch screens
16+
or sensors.
17+
18+
The specification has been written by Microsoft and is currently available here:
19+
https://msdn.microsoft.com/en-us/library/windows/hardware/hh852380.aspx
20+
21+
If this binding is used, the kernel module i2c-hid will handle the communication
22+
with the device and the generic hid core layer will handle the protocol.
23+
24+
allOf:
25+
- $ref: /schemas/input/touchscreen/touchscreen.yaml#
26+
27+
properties:
28+
compatible:
29+
oneOf:
30+
- items:
31+
- enum:
32+
- wacom,w9013
33+
- const: hid-over-i2c
34+
- description: Just "hid-over-i2c" alone is allowed, but not recommended.
35+
const: hid-over-i2c
36+
37+
reg:
38+
maxItems: 1
39+
40+
interrupts:
41+
maxItems: 1
42+
43+
hid-descr-addr:
44+
description: HID descriptor address
45+
$ref: /schemas/types.yaml#/definitions/uint32
46+
47+
post-power-on-delay-ms:
48+
description: Time required by the device after enabling its regulators
49+
or powering it on, before it is ready for communication.
50+
51+
touchscreen-inverted-x: true
52+
53+
touchscreen-inverted-y: true
54+
55+
vdd-supply:
56+
description: 3.3V supply
57+
58+
vddl-supply:
59+
description: 1.8V supply
60+
61+
wakeup-source: true
62+
63+
required:
64+
- compatible
65+
- reg
66+
- interrupts
67+
68+
additionalProperties: false
69+
70+
examples:
71+
- |
72+
i2c {
73+
#address-cells = <1>;
74+
#size-cells = <0>;
75+
76+
hid@2c {
77+
compatible = "hid-over-i2c";
78+
reg = <0x2c>;
79+
hid-descr-addr = <0x0020>;
80+
interrupts = <3 2>;
81+
};
82+
};
83+
...
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/ibm,op-panel.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: IBM Operation Panel
8+
9+
maintainers:
10+
- Eddie James <[email protected]>
11+
12+
allOf:
13+
- $ref: input.yaml#
14+
15+
description: |
16+
The IBM Operation Panel provides a simple interface to control the connected
17+
server. It has a display and three buttons: two directional arrows and one
18+
'Enter' button.
19+
20+
properties:
21+
compatible:
22+
const: ibm,op-panel
23+
24+
reg:
25+
maxItems: 1
26+
27+
linux,keycodes:
28+
minItems: 1
29+
maxItems: 3
30+
31+
required:
32+
- compatible
33+
- reg
34+
35+
additionalProperties: false
36+
37+
examples:
38+
- |
39+
#include <dt-bindings/i2c/i2c.h>
40+
#include <dt-bindings/input/input.h>
41+
i2c {
42+
#address-cells = <1>;
43+
#size-cells = <0>;
44+
45+
ibm-op-panel@62 {
46+
compatible = "ibm,op-panel";
47+
reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>;
48+
linux,keycodes = <KEY_UP>, <KEY_DOWN>, <KEY_ENTER>;
49+
};
50+
};

Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,20 @@ properties:
4949
maximum: 256
5050
default: 16
5151

52+
mediatek,keys-per-group:
53+
description: each (row, column) group has multiple keys
54+
$ref: /schemas/types.yaml#/definitions/uint32
55+
default: 1
56+
maximum: 2
57+
5258
required:
5359
- compatible
5460
- reg
5561
- interrupts
5662
- clocks
5763
- clock-names
5864

59-
additionalProperties: false
65+
unevaluatedProperties: false
6066

6167
examples:
6268
- |

0 commit comments

Comments
 (0)