Skip to content

Commit 744a759

Browse files
committed
Merge tag 'input-for-v6.6-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - a new driver for Azoteq IQS7210A/7211A/E touch controllers - support for Azoteq IQS7222D variant added to iqs7222 driver - support for touch keys functionality added to Melfas MMS114 driver - new hardware IDs added to exc3000 and Goodix drivers - xpad driver gained support for GameSir T4 Kaleid Controller - a fix for xpad driver to properly support some third-party controllers that need a magic packet to start properly - a fix for psmouse driver to more reliably switch to RMI4 mode on devices that use native RMI4/SMbus protocol - a quirk for i8042 for TUXEDO Gemini 17 Gen1/Clevo PD70PN laptops - multiple drivers have been updated to make use of devm and other newer APIs such as dev_err_probe(), devm_regulator_get_enable(), and others. * tag 'input-for-v6.6-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (83 commits) Input: goodix - add support for ACPI ID GDX9110 Input: rpckbd - fix the return value handle for platform_get_irq() Input: tca6416-keypad - switch to using input core's polling features Input: tca6416-keypad - convert to use devm_* api Input: tca6416-keypad - fix interrupt enable disbalance Input: tca6416-keypad - rely on I2C core to set up suspend/resume Input: tca6416-keypad - always expect proper IRQ number in i2c client Input: lm8323 - convert to use devm_* api Input: lm8323 - rely on device core to create kp_disable attribute Input: qt2160 - convert to use devm_* api Input: qt2160 - do not hard code interrupt trigger Input: qt2160 - switch to using threaded interrupt handler Input: qt2160 - tweak check for i2c adapter functionality Input: psmouse - add delay when deactivating for SMBus mode Input: mcs-touchkey - fix uninitialized use of error in mcs_touchkey_probe() Input: qt1070 - convert to use devm_* api Input: mcs-touchkey - convert to use devm_* api Input: amikbd - convert to use devm_* api Input: lm8333 - convert to use devm_* api Input: mms114 - add support for touch keys ...
2 parents 29057cc + 1ac731c commit 744a759

Some content is hidden

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

80 files changed

+4644
-1056
lines changed

Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml

Lines changed: 223 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
$id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Azoteq IQS7222A/B/C Capacitive Touch Controller
7+
title: Azoteq IQS7222A/B/C/D Capacitive Touch Controller
88

99
maintainers:
1010
- Jeff LaBundy <jeff@labundy.com>
1111

1212
description: |
13-
The Azoteq IQS7222A, IQS7222B and IQS7222C are multichannel capacitive touch
14-
controllers that feature additional sensing capabilities.
13+
The Azoteq IQS7222A, IQS7222B, IQS7222C and IQS7222D are multichannel
14+
capacitive touch controllers that feature additional sensing capabilities.
1515
1616
Link to datasheets: https://www.azoteq.com/
1717
@@ -21,6 +21,7 @@ properties:
2121
- azoteq,iqs7222a
2222
- azoteq,iqs7222b
2323
- azoteq,iqs7222c
24+
- azoteq,iqs7222d
2425

2526
reg:
2627
maxItems: 1
@@ -173,6 +174,152 @@ properties:
173174
maximum: 3000
174175
description: Specifies the report rate (in ms) during ultra-low-power mode.
175176

177+
touchscreen-size-x: true
178+
touchscreen-size-y: true
179+
touchscreen-inverted-x: true
180+
touchscreen-inverted-y: true
181+
touchscreen-swapped-x-y: true
182+
183+
trackpad:
184+
type: object
185+
description: Represents all channels associated with the trackpad.
186+
187+
properties:
188+
azoteq,channel-select:
189+
$ref: /schemas/types.yaml#/definitions/uint32-array
190+
minItems: 1
191+
maxItems: 12
192+
items:
193+
minimum: 0
194+
maximum: 13
195+
description:
196+
Specifies the order of the channels that participate in the trackpad.
197+
Specify 255 to omit a given channel for the purpose of mapping a non-
198+
rectangular trackpad.
199+
200+
azoteq,num-rows:
201+
$ref: /schemas/types.yaml#/definitions/uint32
202+
minimum: 1
203+
maximum: 12
204+
description: Specifies the number of rows that comprise the trackpad.
205+
206+
azoteq,num-cols:
207+
$ref: /schemas/types.yaml#/definitions/uint32
208+
minimum: 1
209+
maximum: 12
210+
description: Specifies the number of columns that comprise the trackpad.
211+
212+
azoteq,top-speed:
213+
$ref: /schemas/types.yaml#/definitions/uint32
214+
multipleOf: 4
215+
minimum: 0
216+
maximum: 1020
217+
description:
218+
Specifies the speed (in coordinates traveled per conversion) after
219+
which coordinate filtering is no longer applied.
220+
221+
azoteq,bottom-speed:
222+
$ref: /schemas/types.yaml#/definitions/uint32
223+
minimum: 0
224+
maximum: 255
225+
description:
226+
Specifies the speed (in coordinates traveled per conversion) after
227+
which coordinate filtering is linearly reduced.
228+
229+
azoteq,use-prox:
230+
type: boolean
231+
description:
232+
Directs the trackpad to respond to the proximity states of the
233+
selected channels instead of their corresponding touch states.
234+
Note the trackpad cannot report granular coordinates during a
235+
state of proximity.
236+
237+
patternProperties:
238+
"^azoteq,lower-cal-(x|y)$":
239+
$ref: /schemas/types.yaml#/definitions/uint32
240+
minimum: 0
241+
maximum: 255
242+
description: Specifies the trackpad's lower starting points.
243+
244+
"^azoteq,upper-cal-(x|y)$":
245+
$ref: /schemas/types.yaml#/definitions/uint32
246+
minimum: 0
247+
maximum: 255
248+
description: Specifies the trackpad's upper starting points.
249+
250+
"^event-(press|tap|(swipe|flick)-(x|y)-(pos|neg))$":
251+
type: object
252+
$ref: input.yaml#
253+
description:
254+
Represents a press or gesture event reported by the trackpad. Specify
255+
'linux,code' under the press event to report absolute coordinates.
256+
257+
properties:
258+
linux,code: true
259+
260+
azoteq,gesture-angle-tighten:
261+
type: boolean
262+
description:
263+
Limits the tangent of the gesture angle to 0.5 (axial gestures
264+
only). If specified in one direction, the effect is applied in
265+
either direction.
266+
267+
azoteq,gesture-max-ms:
268+
multipleOf: 16
269+
minimum: 0
270+
maximum: 4080
271+
description:
272+
Specifies the length of time (in ms) within which a tap, swipe
273+
or flick gesture must be completed in order to be acknowledged
274+
by the device. The number specified for any one swipe or flick
275+
gesture applies to all other swipe or flick gestures.
276+
277+
azoteq,gesture-min-ms:
278+
multipleOf: 16
279+
minimum: 0
280+
maximum: 4080
281+
description:
282+
Specifies the length of time (in ms) for which a tap gesture must
283+
be held in order to be acknowledged by the device.
284+
285+
azoteq,gesture-dist:
286+
$ref: /schemas/types.yaml#/definitions/uint32
287+
minimum: 0
288+
maximum: 65535
289+
description:
290+
Specifies the distance (in coordinates) across which a swipe or
291+
flick gesture must travel in order to be acknowledged by the
292+
device. The number specified for any one swipe or flick gesture
293+
applies to all remaining swipe or flick gestures.
294+
295+
For tap gestures, this property specifies the distance from the
296+
original point of contact across which the contact is permitted
297+
to travel before the gesture is rejected by the device.
298+
299+
azoteq,gpio-select:
300+
$ref: /schemas/types.yaml#/definitions/uint32-array
301+
minItems: 1
302+
maxItems: 3
303+
items:
304+
minimum: 0
305+
maximum: 2
306+
description: |
307+
Specifies one or more GPIO mapped to the event as follows:
308+
0: GPIO0
309+
1: GPIO3
310+
2: GPIO4
311+
312+
Note that although multiple events can be mapped to a single
313+
GPIO, they must all be of the same type (proximity, touch or
314+
trackpad gesture).
315+
316+
additionalProperties: false
317+
318+
required:
319+
- azoteq,channel-select
320+
321+
additionalProperties: false
322+
176323
patternProperties:
177324
"^cycle-[0-9]$":
178325
type: object
@@ -288,6 +435,10 @@ patternProperties:
288435
Activates the reference channel in response to proximity events
289436
instead of touch events.
290437

438+
azoteq,counts-filt-enable:
439+
type: boolean
440+
description: Applies counts filtering to the channel.
441+
291442
azoteq,ati-band:
292443
$ref: /schemas/types.yaml#/definitions/uint32
293444
enum: [0, 1, 2, 3]
@@ -432,12 +583,12 @@ patternProperties:
432583
description: |
433584
Specifies one or more GPIO mapped to the event as follows:
434585
0: GPIO0
435-
1: GPIO3 (IQS7222C only)
436-
2: GPIO4 (IQS7222C only)
586+
1: GPIO3
587+
2: GPIO4
437588
438589
Note that although multiple events can be mapped to a single
439590
GPIO, they must all be of the same type (proximity, touch or
440-
slider gesture).
591+
slider/trackpad gesture).
441592
442593
azoteq,thresh:
443594
$ref: /schemas/types.yaml#/definitions/uint32
@@ -521,16 +672,16 @@ patternProperties:
521672
minimum: 0
522673
maximum: 65535
523674
description:
524-
Specifies the speed of movement after which coordinate filtering is
525-
no longer applied.
675+
Specifies the speed (in coordinates traveled per conversion) after
676+
which coordinate filtering is no longer applied.
526677

527678
azoteq,bottom-speed:
528679
$ref: /schemas/types.yaml#/definitions/uint32
529680
minimum: 0
530681
maximum: 255
531682
description:
532-
Specifies the speed of movement after which coordinate filtering is
533-
linearly reduced.
683+
Specifies the speed (in coordinates traveled per conversion) after
684+
which coordinate filtering is linearly reduced.
534685

535686
azoteq,bottom-beta:
536687
$ref: /schemas/types.yaml#/definitions/uint32
@@ -595,10 +746,10 @@ patternProperties:
595746
minimum: 0
596747
maximum: 4080
597748
description:
598-
Specifies the distance across which a swipe or flick gesture must
599-
travel in order to be acknowledged by the device. The number spec-
600-
ified for any one swipe or flick gesture applies to all remaining
601-
swipe or flick gestures.
749+
Specifies the distance (in coordinates) across which a swipe or
750+
flick gesture must travel in order to be acknowledged by the
751+
device. The number specified for any one swipe or flick gesture
752+
applies to all remaining swipe or flick gestures.
602753

603754
azoteq,gpio-select:
604755
$ref: /schemas/types.yaml#/definitions/uint32-array
@@ -610,8 +761,8 @@ patternProperties:
610761
description: |
611762
Specifies one or more GPIO mapped to the event as follows:
612763
0: GPIO0
613-
1: GPIO3 (IQS7222C only)
614-
2: GPIO4 (IQS7222C only)
764+
1: GPIO3
765+
2: GPIO4
615766
616767
Note that although multiple events can be mapped to a single
617768
GPIO, they must all be of the same type (proximity, touch or
@@ -629,8 +780,8 @@ patternProperties:
629780
description: |
630781
Represents a GPIO mapped to one or more events as follows:
631782
gpio-0: GPIO0
632-
gpio-1: GPIO3 (IQS7222C only)
633-
gpio-2: GPIO4 (IQS7222C only)
783+
gpio-1: GPIO3
784+
gpio-2: GPIO4
634785
635786
allOf:
636787
- $ref: ../pinctrl/pincfg-node.yaml#
@@ -641,11 +792,53 @@ patternProperties:
641792
additionalProperties: false
642793

643794
allOf:
795+
- $ref: touchscreen/touchscreen.yaml#
796+
644797
- if:
645798
properties:
646799
compatible:
647800
contains:
648-
const: azoteq,iqs7222b
801+
enum:
802+
- azoteq,iqs7222a
803+
- azoteq,iqs7222b
804+
- azoteq,iqs7222c
805+
806+
then:
807+
properties:
808+
touchscreen-size-x: false
809+
touchscreen-size-y: false
810+
touchscreen-inverted-x: false
811+
touchscreen-inverted-y: false
812+
touchscreen-swapped-x-y: false
813+
814+
trackpad: false
815+
816+
patternProperties:
817+
"^channel-([0-9]|1[0-9])$":
818+
properties:
819+
azoteq,counts-filt-enable: false
820+
821+
- if:
822+
properties:
823+
compatible:
824+
contains:
825+
enum:
826+
- azoteq,iqs7222b
827+
- azoteq,iqs7222c
828+
829+
then:
830+
patternProperties:
831+
"^channel-([0-9]|1[0-9])$":
832+
properties:
833+
azoteq,ulp-allow: false
834+
835+
- if:
836+
properties:
837+
compatible:
838+
contains:
839+
enum:
840+
- azoteq,iqs7222b
841+
- azoteq,iqs7222d
649842

650843
then:
651844
patternProperties:
@@ -657,13 +850,22 @@ allOf:
657850
properties:
658851
azoteq,ref-select: false
659852

853+
"^slider-[0-1]$": false
854+
855+
- if:
856+
properties:
857+
compatible:
858+
contains:
859+
const: azoteq,iqs7222b
860+
861+
then:
862+
patternProperties:
863+
"^channel-([0-9]|1[0-9])$":
660864
patternProperties:
661865
"^event-(prox|touch)$":
662866
properties:
663867
azoteq,gpio-select: false
664868

665-
"^slider-[0-1]$": false
666-
667869
"^gpio-[0-2]$": false
668870

669871
- if:
@@ -704,10 +906,6 @@ allOf:
704906

705907
else:
706908
patternProperties:
707-
"^channel-([0-9]|1[0-9])$":
708-
properties:
709-
azoteq,ulp-allow: false
710-
711909
"^slider-[0-1]$":
712910
patternProperties:
713911
"^event-(press|tap|(swipe|flick)-(pos|neg))$":

0 commit comments

Comments
 (0)