4
4
$id : http://devicetree.org/schemas/input/azoteq,iqs7222.yaml#
5
5
$schema : http://devicetree.org/meta-schemas/core.yaml#
6
6
7
- title : Azoteq IQS7222A/B/C Capacitive Touch Controller
7
+ title : Azoteq IQS7222A/B/C/D Capacitive Touch Controller
8
8
9
9
maintainers :
10
10
- Jeff LaBundy <jeff@labundy.com>
11
11
12
12
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.
15
15
16
16
Link to datasheets: https://www.azoteq.com/
17
17
@@ -21,6 +21,7 @@ properties:
21
21
- azoteq,iqs7222a
22
22
- azoteq,iqs7222b
23
23
- azoteq,iqs7222c
24
+ - azoteq,iqs7222d
24
25
25
26
reg :
26
27
maxItems : 1
@@ -173,6 +174,152 @@ properties:
173
174
maximum : 3000
174
175
description : Specifies the report rate (in ms) during ultra-low-power mode.
175
176
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
+
176
323
patternProperties :
177
324
" ^cycle-[0-9]$ " :
178
325
type : object
@@ -288,6 +435,10 @@ patternProperties:
288
435
Activates the reference channel in response to proximity events
289
436
instead of touch events.
290
437
438
+ azoteq,counts-filt-enable :
439
+ type : boolean
440
+ description : Applies counts filtering to the channel.
441
+
291
442
azoteq,ati-band :
292
443
$ref : /schemas/types.yaml#/definitions/uint32
293
444
enum : [0, 1, 2, 3]
@@ -432,12 +583,12 @@ patternProperties:
432
583
description : |
433
584
Specifies one or more GPIO mapped to the event as follows:
434
585
0: GPIO0
435
- 1: GPIO3 (IQS7222C only)
436
- 2: GPIO4 (IQS7222C only)
586
+ 1: GPIO3
587
+ 2: GPIO4
437
588
438
589
Note that although multiple events can be mapped to a single
439
590
GPIO, they must all be of the same type (proximity, touch or
440
- slider gesture).
591
+ slider/trackpad gesture).
441
592
442
593
azoteq,thresh :
443
594
$ref : /schemas/types.yaml#/definitions/uint32
@@ -521,16 +672,16 @@ patternProperties:
521
672
minimum : 0
522
673
maximum : 65535
523
674
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.
526
677
527
678
azoteq,bottom-speed :
528
679
$ref : /schemas/types.yaml#/definitions/uint32
529
680
minimum : 0
530
681
maximum : 255
531
682
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.
534
685
535
686
azoteq,bottom-beta :
536
687
$ref : /schemas/types.yaml#/definitions/uint32
@@ -595,10 +746,10 @@ patternProperties:
595
746
minimum : 0
596
747
maximum : 4080
597
748
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.
602
753
603
754
azoteq,gpio-select :
604
755
$ref : /schemas/types.yaml#/definitions/uint32-array
@@ -610,8 +761,8 @@ patternProperties:
610
761
description : |
611
762
Specifies one or more GPIO mapped to the event as follows:
612
763
0: GPIO0
613
- 1: GPIO3 (IQS7222C only)
614
- 2: GPIO4 (IQS7222C only)
764
+ 1: GPIO3
765
+ 2: GPIO4
615
766
616
767
Note that although multiple events can be mapped to a single
617
768
GPIO, they must all be of the same type (proximity, touch or
@@ -629,8 +780,8 @@ patternProperties:
629
780
description : |
630
781
Represents a GPIO mapped to one or more events as follows:
631
782
gpio-0: GPIO0
632
- gpio-1: GPIO3 (IQS7222C only)
633
- gpio-2: GPIO4 (IQS7222C only)
783
+ gpio-1: GPIO3
784
+ gpio-2: GPIO4
634
785
635
786
allOf :
636
787
- $ref : ../pinctrl/pincfg-node.yaml#
@@ -641,11 +792,53 @@ patternProperties:
641
792
additionalProperties : false
642
793
643
794
allOf :
795
+ - $ref : touchscreen/touchscreen.yaml#
796
+
644
797
- if :
645
798
properties :
646
799
compatible :
647
800
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
649
842
650
843
then :
651
844
patternProperties :
@@ -657,13 +850,22 @@ allOf:
657
850
properties :
658
851
azoteq,ref-select : false
659
852
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])$ " :
660
864
patternProperties :
661
865
" ^event-(prox|touch)$ " :
662
866
properties :
663
867
azoteq,gpio-select : false
664
868
665
- " ^slider-[0-1]$ " : false
666
-
667
869
" ^gpio-[0-2]$ " : false
668
870
669
871
- if :
@@ -704,10 +906,6 @@ allOf:
704
906
705
907
else :
706
908
patternProperties :
707
- " ^channel-([0-9]|1[0-9])$ " :
708
- properties :
709
- azoteq,ulp-allow : false
710
-
711
909
" ^slider-[0-1]$ " :
712
910
patternProperties :
713
911
" ^event-(press|tap|(swipe|flick)-(pos|neg))$ " :
0 commit comments