@@ -9,6 +9,9 @@ title: Azoteq IQS269A Capacitive Touch Controller
99maintainers :
1010 - Jeff LaBundy <jeff@labundy.com>
1111
12+ allOf :
13+ - $ref : input.yaml#
14+
1215description : |
1316 The Azoteq IQS269A is an 8-channel capacitive touch controller that features
1417 additional Hall-effect and inductive sensing capabilities.
@@ -17,7 +20,10 @@ description: |
1720
1821properties :
1922 compatible :
20- const : azoteq,iqs269a
23+ enum :
24+ - azoteq,iqs269a
25+ - azoteq,iqs269a-00
26+ - azoteq,iqs269a-d0
2127
2228 reg :
2329 maxItems : 1
@@ -204,6 +210,73 @@ properties:
204210 default : 1
205211 description : Specifies the slider coordinate filter strength.
206212
213+ azoteq,touch-hold-ms :
214+ multipleOf : 256
215+ minimum : 256
216+ maximum : 65280
217+ default : 5120
218+ description :
219+ Specifies the length of time (in ms) for which the channel selected by
220+ ' azoteq,gpio3-select' must be held in a state of touch in order for an
221+ approximately 60-ms pulse to be asserted on the GPIO4 pin.
222+
223+ linux,keycodes :
224+ minItems : 1
225+ maxItems : 8
226+ description : |
227+ Specifies the numeric keycodes associated with each available gesture in
228+ the following order (enter 0 for unused gestures):
229+ 0: Slider 0 tap
230+ 1: Slider 0 hold
231+ 2: Slider 0 positive flick or swipe
232+ 3: Slider 0 negative flick or swipe
233+ 4: Slider 1 tap
234+ 5: Slider 1 hold
235+ 6: Slider 1 positive flick or swipe
236+ 7: Slider 1 negative flick or swipe
237+
238+ azoteq,gesture-swipe :
239+ type : boolean
240+ description :
241+ Directs the device to interpret axial gestures as a swipe (finger remains
242+ on slider) instead of a flick (finger leaves slider).
243+
244+ azoteq,timeout-tap-ms :
245+ multipleOf : 16
246+ minimum : 0
247+ maximum : 4080
248+ default : 400
249+ description :
250+ Specifies the length of time (in ms) within which a slider touch must be
251+ released in order to be interpreted as a tap. Default and maximum values
252+ as well as step size are reduced by a factor of 4 with device version 2.
253+
254+ azoteq,timeout-swipe-ms :
255+ multipleOf : 16
256+ minimum : 0
257+ maximum : 4080
258+ default : 2000
259+ description :
260+ Specifies the length of time (in ms) within which an axial gesture must be
261+ completed in order to be interpreted as a flick or swipe. Default and max-
262+ imum values as well as step size are reduced by a factor of 4 with device
263+ version 2.
264+
265+ azoteq,thresh-swipe :
266+ $ref : /schemas/types.yaml#/definitions/uint32
267+ minimum : 0
268+ maximum : 255
269+ default : 128
270+ description :
271+ Specifies the number of points across which an axial gesture must travel
272+ in order to be interpreted as a flick or swipe.
273+
274+ dependencies :
275+ azoteq,gesture-swipe : ["linux,keycodes"]
276+ azoteq,timeout-tap-ms : ["linux,keycodes"]
277+ azoteq,timeout-swipe-ms : ["linux,keycodes"]
278+ azoteq,thresh-swipe : ["linux,keycodes"]
279+
207280patternProperties :
208281 " ^channel@[0-7]$ " :
209282 type : object
@@ -454,6 +527,21 @@ patternProperties:
454527
455528 additionalProperties : false
456529
530+ if :
531+ properties :
532+ compatible :
533+ contains :
534+ enum :
535+ - azoteq,iqs269a-d0
536+ then :
537+ patternProperties :
538+ " ^channel@[0-7]$ " :
539+ properties :
540+ azoteq,slider1-select : false
541+ else :
542+ properties :
543+ azoteq,touch-hold-ms : false
544+
457545required :
458546 - compatible
459547 - reg
@@ -484,6 +572,14 @@ examples:
484572 azoteq,hall-enable;
485573 azoteq,suspend-mode = <2>;
486574
575+ linux,keycodes = <KEY_PLAYPAUSE>,
576+ <KEY_STOPCD>,
577+ <KEY_NEXTSONG>,
578+ <KEY_PREVIOUSSONG>;
579+
580+ azoteq,timeout-tap-ms = <400>;
581+ azoteq,timeout-swipe-ms = <800>;
582+
487583 channel@0 {
488584 reg = <0x0>;
489585
0 commit comments