1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/iqs626a.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Azoteq IQS626A Capacitive Touch Controller
8
9maintainers:
10  - Jeff LaBundy <jeff@labundy.com>
11
12description: |
13  The Azoteq IQS626A is a 14-channel capacitive touch controller that features
14  additional Hall-effect and inductive sensing capabilities.
15
16  Link to datasheet: https://www.azoteq.com/
17
18allOf:
19  - $ref: touchscreen/touchscreen.yaml#
20
21properties:
22  compatible:
23    const: azoteq,iqs626a
24
25  reg:
26    maxItems: 1
27
28  interrupts:
29    maxItems: 1
30
31  "#address-cells":
32    const: 1
33
34  "#size-cells":
35    const: 0
36
37  azoteq,suspend-mode:
38    $ref: /schemas/types.yaml#/definitions/uint32
39    enum: [0, 1, 2, 3]
40    default: 0
41    description: |
42      Specifies the power mode during suspend as follows:
43      0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
44      1: Low power (all sensing at a reduced reporting rate)
45      2: Ultra-low power (ULP channel proximity sensing)
46      3: Halt (no sensing)
47
48  azoteq,clk-div:
49    type: boolean
50    description: Divides the device's core clock by a factor of 4.
51
52  azoteq,ulp-enable:
53    type: boolean
54    description:
55      Permits the device to automatically enter ultra-low-power mode from low-
56      power mode.
57
58  azoteq,ulp-update:
59    $ref: /schemas/types.yaml#/definitions/uint32
60    enum: [0, 1, 2, 3, 4, 5, 6, 7]
61    default: 3
62    description: |
63      Specifies the rate at which the trackpad, generic and Hall channels are
64      updated during ultra-low-power mode as follows:
65      0: 8
66      1: 13
67      2: 28
68      3: 54
69      4: 89
70      5: 135
71      6: 190
72      7: 256
73
74  azoteq,ati-band-disable:
75    type: boolean
76    description: Disables the ATI band check.
77
78  azoteq,ati-lp-only:
79    type: boolean
80    description: Limits automatic ATI to low-power mode.
81
82  azoteq,gpio3-select:
83    $ref: /schemas/types.yaml#/definitions/uint32
84    enum: [0, 1, 2, 3, 4, 5, 6, 7]
85    default: 1
86    description: |
87      Selects the channel or group of channels for which the GPIO3 pin
88      represents touch state as follows:
89      0: None
90      1: ULP channel
91      2: Trackpad
92      3: Trackpad
93      4: Generic channel 0
94      5: Generic channel 1
95      6: Generic channel 2
96      7: Hall channel
97
98  azoteq,reseed-select:
99    $ref: /schemas/types.yaml#/definitions/uint32
100    enum: [0, 1, 2, 3]
101    default: 0
102    description: |
103      Specifies the event(s) that prompt the device to reseed (i.e. reset the
104      long-term average) of an associated channel as follows:
105      0: None
106      1: Proximity
107      2: Proximity or touch
108      3: Proximity, touch or deep touch
109
110  azoteq,thresh-extend:
111    type: boolean
112    description: Multiplies all touch and deep-touch thresholds by 4.
113
114  azoteq,tracking-enable:
115    type: boolean
116    description:
117      Enables all associated channels to track their respective reference
118      channels.
119
120  azoteq,reseed-offset:
121    type: boolean
122    description:
123      Applies an 8-count offset to all long-term averages upon either ATI or
124      reseed events.
125
126  azoteq,rate-np-ms:
127    minimum: 0
128    maximum: 255
129    default: 150
130    description: Specifies the report rate (in ms) during normal-power mode.
131
132  azoteq,rate-lp-ms:
133    minimum: 0
134    maximum: 255
135    default: 150
136    description: Specifies the report rate (in ms) during low-power mode.
137
138  azoteq,rate-ulp-ms:
139    multipleOf: 16
140    minimum: 0
141    maximum: 4080
142    default: 0
143    description: Specifies the report rate (in ms) during ultra-low-power mode.
144
145  azoteq,timeout-pwr-ms:
146    multipleOf: 512
147    minimum: 0
148    maximum: 130560
149    default: 2560
150    description:
151      Specifies the length of time (in ms) to wait for an event before moving
152      from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
153      present) from low-power mode to ultra-low-power mode.
154
155  azoteq,timeout-lta-ms:
156    multipleOf: 512
157    minimum: 0
158    maximum: 130560
159    default: 40960
160    description:
161      Specifies the length of time (in ms) to wait before resetting the long-
162      term average of all channels. Specify the maximum timeout to disable it
163      altogether.
164
165  touchscreen-inverted-x: true
166  touchscreen-inverted-y: true
167  touchscreen-swapped-x-y: true
168
169patternProperties:
170  "^ulp-0|generic-[0-2]|hall$":
171    type: object
172    description:
173      Represents a single sensing channel. A channel is active if defined and
174      inactive otherwise.
175
176    properties:
177      azoteq,ati-exclude:
178        type: boolean
179        description:
180          Prevents the channel from participating in an ATI event that is
181          manually triggered during initialization.
182
183      azoteq,reseed-disable:
184        type: boolean
185        description:
186          Prevents the channel from being reseeded if the long-term average
187          timeout (defined in 'azoteq,timeout-lta') expires.
188
189      azoteq,meas-cap-decrease:
190        type: boolean
191        description:
192          Decreases the internal measurement capacitance from 60 pF to 15 pF.
193
194      azoteq,rx-inactive:
195        $ref: /schemas/types.yaml#/definitions/uint32
196        enum: [0, 1, 2]
197        default: 0
198        description: |
199          Specifies how inactive CRX pins are to be terminated as follows:
200          0: VSS
201          1: Floating
202          2: VREG (generic channels only)
203
204      azoteq,linearize:
205        type: boolean
206        description:
207          Enables linearization of the channel's counts (generic and Hall
208          channels) or inverts the polarity of the channel's proximity or
209          touch states (ULP channel).
210
211      azoteq,dual-direction:
212        type: boolean
213        description:
214          Specifies that the channel's long-term average is to freeze in the
215          presence of either increasing or decreasing counts, thereby permit-
216          ting events to be reported in either direction.
217
218      azoteq,filt-disable:
219        type: boolean
220        description: Disables raw count filtering for the channel.
221
222      azoteq,ati-mode:
223        $ref: /schemas/types.yaml#/definitions/uint32
224        enum: [0, 1, 2, 3]
225        description: |
226          Specifies the channel's ATI mode as follows:
227          0: Disabled
228          1: Semi-partial
229          2: Partial
230          3: Full
231
232          The default value is a function of the channel and the device's reset
233          user interface (RUI); reference the datasheet for further information
234          about the available RUI options.
235
236      azoteq,ati-base:
237        $ref: /schemas/types.yaml#/definitions/uint32
238        enum: [75, 100, 150, 200]
239        description:
240          Specifies the channel's ATI base. The default value is a function
241          of the channel and the device's RUI.
242
243      azoteq,ati-target:
244        $ref: /schemas/types.yaml#/definitions/uint32
245        multipleOf: 32
246        minimum: 0
247        maximum: 2016
248        description:
249          Specifies the channel's ATI target. The default value is a function
250          of the channel and the device's RUI.
251
252      azoteq,cct-increase:
253        $ref: /schemas/types.yaml#/definitions/uint32
254        minimum: 0
255        maximum: 16
256        default: 0
257        description:
258          Specifies the degree to which the channel's charge cycle time is to
259          be increased, with 0 representing no increase. The maximum value is
260          limited to 4 in the case of the ULP channel, and the property is un-
261          available entirely in the case of the Hall channel.
262
263      azoteq,proj-bias:
264        $ref: /schemas/types.yaml#/definitions/uint32
265        enum: [0, 1, 2, 3]
266        default: 0
267        description: |
268          Specifies the bias current applied during projected-capacitance
269          sensing as follows:
270          0: 2.5 uA
271          1: 5 uA
272          2: 10 uA
273          3: 20 uA
274
275          This property is unavailable in the case of the Hall channel.
276
277      azoteq,sense-freq:
278        $ref: /schemas/types.yaml#/definitions/uint32
279        enum: [0, 1, 2, 3]
280        description: |
281          Specifies the channel's sensing frequency as follows (parenthesized
282          numbers represent the frequency if 'azoteq,clk-div' is present):
283          0: 4 MHz (1 MHz)
284          1: 2 MHz (500 kHz)
285          2: 1 MHz (250 kHz)
286          3: 500 kHz (125 kHz)
287
288          This property is unavailable in the case of the Hall channel. The
289          default value is a function of the channel and the device's RUI.
290
291      azoteq,ati-band-tighten:
292        type: boolean
293        description:
294          Tightens the ATI band from 1/8 to 1/16 of the desired target (ULP and
295          generic channels only).
296
297      azoteq,proj-enable:
298        type: boolean
299        description: Enables projected-capacitance sensing (ULP channel only).
300
301      azoteq,filt-str-np-cnt:
302        $ref: /schemas/types.yaml#/definitions/uint32
303        enum: [0, 1, 2, 3]
304        default: 0
305        description:
306          Specifies the raw count filter strength during normal-power mode (ULP
307          and generic channels only).
308
309      azoteq,filt-str-lp-cnt:
310        $ref: /schemas/types.yaml#/definitions/uint32
311        enum: [0, 1, 2, 3]
312        default: 0
313        description:
314          Specifies the raw count filter strength during low-power mode (ULP and
315          generic channels only).
316
317      azoteq,filt-str-np-lta:
318        $ref: /schemas/types.yaml#/definitions/uint32
319        enum: [0, 1, 2, 3]
320        default: 0
321        description:
322          Specifies the long-term average filter strength during normal-power
323          mode (ULP and generic channels only).
324
325      azoteq,filt-str-lp-lta:
326        $ref: /schemas/types.yaml#/definitions/uint32
327        enum: [0, 1, 2, 3]
328        default: 0
329        description:
330          Specifies the long-term average filter strength during low-power mode
331          (ULP and generic channels only).
332
333      azoteq,rx-enable:
334        $ref: /schemas/types.yaml#/definitions/uint32-array
335        minItems: 1
336        maxItems: 8
337        items:
338          minimum: 0
339          maximum: 7
340        description:
341          Specifies the CRX pin(s) associated with the channel.
342
343          This property is unavailable in the case of the Hall channel. The
344          default value is a function of the channel and the device's RUI.
345
346      azoteq,tx-enable:
347        $ref: /schemas/types.yaml#/definitions/uint32-array
348        minItems: 1
349        maxItems: 8
350        items:
351          minimum: 0
352          maximum: 7
353        description:
354          Specifies the TX pin(s) associated with the channel.
355
356          This property is unavailable in the case of the Hall channel. The
357          default value is a function of the channel and the device's RUI.
358
359      azoteq,local-cap-size:
360        $ref: /schemas/types.yaml#/definitions/uint32
361        enum: [0, 1, 2, 3, 4]
362        default: 0
363        description: |
364          Specifies the capacitance to be added to the channel as follows:
365          0: 0 pF
366          1: 0.5 pF
367          2: 1.0 pF
368          3: 1.5 pF
369          4: 2.0 pF
370
371          This property is unavailable in the case of the ULP or Hall channels.
372
373      azoteq,sense-mode:
374        $ref: /schemas/types.yaml#/definitions/uint32
375        enum: [0, 1, 8, 9, 12, 14, 15]
376        description: |
377          Specifies the channel's sensing mode as follows:
378          0:  Self capacitance
379          1:  Projected capacitance
380          8:  Self inductance
381          9:  Mutual inductance
382          12: External
383          14: Hall effect
384          15: Temperature
385
386          This property is unavailable in the case of the ULP or Hall channels.
387          The default value is a function of the channel and the device's RUI.
388
389      azoteq,tx-freq:
390        $ref: /schemas/types.yaml#/definitions/uint32
391        enum: [0, 1, 2, 3]
392        default: 0
393        description: |
394          Specifies the inductive sensing excitation frequency as follows
395          (parenthesized numbers represent the frequency if 'azoteq,clk-div'
396          is present):
397          0: 16 MHz (4 MHz)
398          1: 8 MHz (2 MHz)
399          2: 4 MHz (1 MHz)
400          3: 2 MHz (500 kHz)
401
402          This property is unavailable in the case of the ULP or Hall channels.
403
404      azoteq,invert-enable:
405        type: boolean
406        description:
407          Inverts the polarity of the states reported for proximity, touch and
408          deep-touch events relative to their respective thresholds (generic
409          channels only).
410
411      azoteq,comp-disable:
412        type: boolean
413        description:
414          Disables compensation for the channel (generic channels only).
415
416      azoteq,static-enable:
417        type: boolean
418        description:
419          Enables the static front-end for the channel (generic channels only).
420
421      azoteq,assoc-select:
422        $ref: /schemas/types.yaml#/definitions/string-array
423        minItems: 1
424        maxItems: 6
425        items:
426          enum:
427            - ulp-0
428            - trackpad-3x2
429            - trackpad-3x3
430            - generic-0
431            - generic-1
432            - generic-2
433            - hall
434        description:
435          Specifies the associated channels for which the channel serves as a
436          reference channel. By default, no channels are selected. This prop-
437          erty is only available for the generic channels.
438
439      azoteq,assoc-weight:
440        $ref: /schemas/types.yaml#/definitions/uint32
441        minimum: 0
442        maximum: 255
443        default: 0
444        description:
445          Specifies the channel's impact weight if it acts as an associated
446          channel (0 = 0% impact, 255 = 200% impact). This property is only
447          available for the generic channels.
448
449    patternProperties:
450      "^event-(prox|touch|deep)(-alt)?$":
451        type: object
452        $ref: input.yaml#
453        description:
454          Represents a proximity, touch or deep-touch event reported by the
455          channel in response to a decrease in counts. Node names suffixed with
456          '-alt' instead correspond to an increase in counts.
457
458          By default, the long-term average tracks an increase in counts such
459          that only events corresponding to a decrease in counts are reported
460          (refer to the datasheet for more information).
461
462          Specify 'azoteq,dual-direction' to freeze the long-term average when
463          the counts increase or decrease such that events of either direction
464          can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
465          vert the polarity of the states reported by the channel.
466
467          Complementary events (e.g. event-touch and event-touch-alt) can both
468          be present and specify different key or switch codes, but not differ-
469          ent thresholds or hysteresis (if applicable).
470
471          Proximity events are unavailable in the case of the Hall channel, and
472          deep-touch events are only available for the generic channels. Unless
473          otherwise specified, default values are a function of the channel and
474          the device's RUI.
475
476        properties:
477          azoteq,thresh:
478            $ref: /schemas/types.yaml#/definitions/uint32
479            minimum: 0
480            maximum: 255
481            description: Specifies the threshold for the event.
482
483          azoteq,hyst:
484            $ref: /schemas/types.yaml#/definitions/uint32
485            minimum: 0
486            maximum: 15
487            description:
488              Specifies the hysteresis for the event (touch and deep-touch
489              events only).
490
491          linux,code: true
492
493          linux,input-type:
494            enum: [1, 5]
495            description:
496              Specifies whether the event is to be interpreted as a key (1) or
497              a switch (5). By default, Hall-channel events are interpreted as
498              switches and all others are interpreted as keys.
499
500        additionalProperties: false
501
502    dependencies:
503      azoteq,assoc-weight: ["azoteq,assoc-select"]
504
505    additionalProperties: false
506
507  "^trackpad-3x[2-3]$":
508    type: object
509    $ref: input.yaml#
510    description:
511      Represents all channels associated with the trackpad. The channels are
512      collectively active if the trackpad is defined and inactive otherwise.
513
514    properties:
515      azoteq,ati-exclude:
516        type: boolean
517        description:
518          Prevents the trackpad channels from participating in an ATI event
519          that is manually triggered during initialization.
520
521      azoteq,reseed-disable:
522        type: boolean
523        description:
524          Prevents the trackpad channels from being reseeded if the long-term
525          average timeout (defined in 'azoteq,timeout-lta') expires.
526
527      azoteq,meas-cap-decrease:
528        type: boolean
529        description:
530          Decreases the internal measurement capacitance from 60 pF to 15 pF.
531
532      azoteq,rx-inactive:
533        $ref: /schemas/types.yaml#/definitions/uint32
534        enum: [0, 1]
535        default: 0
536        description: |
537          Specifies how inactive CRX pins are to be terminated as follows:
538          0: VSS
539          1: Floating
540
541      azoteq,linearize:
542        type: boolean
543        description: Inverts the polarity of the trackpad's touch state.
544
545      azoteq,dual-direction:
546        type: boolean
547        description:
548          Specifies that the trackpad's long-term averages are to freeze in
549          the presence of either increasing or decreasing counts, thereby
550          permitting events to be reported in either direction.
551
552      azoteq,filt-disable:
553        type: boolean
554        description: Disables raw count filtering for the trackpad channels.
555
556      azoteq,ati-mode:
557        $ref: /schemas/types.yaml#/definitions/uint32
558        enum: [0, 1, 2, 3]
559        default: 0
560        description: |
561          Specifies the trackpad's ATI mode as follows:
562          0: Disabled
563          1: Semi-partial
564          2: Partial
565          3: Full
566
567      azoteq,ati-target:
568        $ref: /schemas/types.yaml#/definitions/uint32
569        multipleOf: 32
570        minimum: 0
571        maximum: 2016
572        default: 0
573        description: Specifies the trackpad's ATI target.
574
575      azoteq,cct-increase:
576        $ref: /schemas/types.yaml#/definitions/uint32
577        minimum: 0
578        maximum: 4
579        default: 0
580        description:
581          Specifies the degree to which the trackpad's charge cycle time is to
582          be increased, with 0 representing no increase.
583
584      azoteq,proj-bias:
585        $ref: /schemas/types.yaml#/definitions/uint32
586        enum: [0, 1, 2, 3]
587        default: 0
588        description: |
589          Specifies the bias current applied during projected-capacitance
590          sensing as follows:
591          0: 2.5 uA
592          1: 5 uA
593          2: 10 uA
594          3: 20 uA
595
596      azoteq,sense-freq:
597        $ref: /schemas/types.yaml#/definitions/uint32
598        enum: [0, 1, 2, 3]
599        default: 0
600        description: |
601          Specifies the trackpad's sensing frequency as follows (parenthesized
602          numbers represent the frequency if 'azoteq,clk-div' is present):
603          0: 4 MHz (1 MHz)
604          1: 2 MHz (500 kHz)
605          2: 1 MHz (250 kHz)
606          3: 500 kHz (125 kHz)
607
608      azoteq,ati-band-tighten:
609        type: boolean
610        description:
611          Tightens the ATI band from 1/8 to 1/16 of the desired target.
612
613      azoteq,hyst:
614        $ref: /schemas/types.yaml#/definitions/uint32
615        minimum: 0
616        maximum: 15
617        default: 0
618        description: Specifies the trackpad's touch hysteresis.
619
620      azoteq,lta-update:
621        $ref: /schemas/types.yaml#/definitions/uint32
622        enum: [0, 1, 2, 3, 4, 5, 6, 7]
623        default: 0
624        description: |
625          Specifies the update rate of the trackpad's long-term average during
626          ultra-low-power mode as follows:
627          0: 2
628          1: 4
629          2: 8
630          3: 16
631          4: 32
632          5: 64
633          6: 128
634          7: 255
635
636      azoteq,filt-str-trackpad:
637        $ref: /schemas/types.yaml#/definitions/uint32
638        enum: [0, 1, 2, 3]
639        default: 0
640        description: Specifies the trackpad coordinate filter strength.
641
642      azoteq,filt-str-np-cnt:
643        $ref: /schemas/types.yaml#/definitions/uint32
644        enum: [0, 1, 2, 3]
645        default: 0
646        description:
647          Specifies the raw count filter strength during normal-power mode.
648
649      azoteq,filt-str-lp-cnt:
650        $ref: /schemas/types.yaml#/definitions/uint32
651        enum: [0, 1, 2, 3]
652        default: 0
653        description:
654          Specifies the raw count filter strength during low-power mode.
655
656      linux,keycodes:
657        minItems: 1
658        maxItems: 6
659        description: |
660          Specifies the numeric keycodes associated with each available gesture
661          in the following order (enter 0 for unused gestures):
662          0: Positive flick or swipe in X direction
663          1: Negative flick or swipe in X direction
664          2: Positive flick or swipe in Y direction
665          3: Negative flick or swipe in Y direction
666          4: Tap
667          5: Hold
668
669      azoteq,gesture-swipe:
670        type: boolean
671        description:
672          Directs the device to interpret axial gestures as a swipe (finger
673          remains on trackpad) instead of a flick (finger leaves trackpad).
674
675      azoteq,timeout-tap-ms:
676        multipleOf: 16
677        minimum: 0
678        maximum: 4080
679        default: 0
680        description:
681          Specifies the length of time (in ms) within which a trackpad touch
682          must be released in order to be interpreted as a tap.
683
684      azoteq,timeout-swipe-ms:
685        multipleOf: 16
686        minimum: 0
687        maximum: 4080
688        default: 0
689        description:
690          Specifies the length of time (in ms) within which an axial gesture
691          must be completed in order to be interpreted as a flick or swipe.
692
693      azoteq,thresh-swipe:
694        $ref: /schemas/types.yaml#/definitions/uint32
695        minimum: 0
696        maximum: 255
697        default: 0
698        description:
699          Specifies the number of points across which an axial gesture must
700          travel in order to be interpreted as a flick or swipe.
701
702    patternProperties:
703      "^channel-[0-8]$":
704        type: object
705        description: Represents a single trackpad channel.
706
707        properties:
708          azoteq,thresh:
709            $ref: /schemas/types.yaml#/definitions/uint32
710            minimum: 0
711            maximum: 255
712            default: 0
713            description: Specifies the threshold for the channel.
714
715          azoteq,ati-base:
716            $ref: /schemas/types.yaml#/definitions/uint32
717            minimum: 45
718            maximum: 300
719            default: 45
720            description: Specifies the channel's ATI base.
721
722        additionalProperties: false
723
724    dependencies:
725      azoteq,gesture-swipe: ["linux,keycodes"]
726      azoteq,timeout-tap-ms: ["linux,keycodes"]
727      azoteq,timeout-swipe-ms: ["linux,keycodes"]
728      azoteq,thresh-swipe: ["linux,keycodes"]
729
730    additionalProperties: false
731
732required:
733  - compatible
734  - reg
735  - interrupts
736  - "#address-cells"
737  - "#size-cells"
738
739additionalProperties: false
740
741examples:
742  - |
743    #include <dt-bindings/input/input.h>
744    #include <dt-bindings/interrupt-controller/irq.h>
745
746    i2c {
747            #address-cells = <1>;
748            #size-cells = <0>;
749
750            touch@44 {
751                    #address-cells = <1>;
752                    #size-cells = <0>;
753
754                    compatible = "azoteq,iqs626a";
755                    reg = <0x44>;
756                    interrupt-parent = <&gpio>;
757                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
758
759                    azoteq,rate-np-ms = <16>;
760                    azoteq,rate-lp-ms = <160>;
761
762                    azoteq,timeout-pwr-ms = <2560>;
763                    azoteq,timeout-lta-ms = <32768>;
764
765                    ulp-0 {
766                            azoteq,meas-cap-decrease;
767
768                            azoteq,ati-base = <75>;
769                            azoteq,ati-target = <1024>;
770
771                            azoteq,rx-enable = <2>, <3>, <4>,
772                                               <5>, <6>, <7>;
773
774                            event-prox {
775                                    linux,code = <KEY_POWER>;
776                            };
777                    };
778
779                    trackpad-3x3 {
780                            azoteq,filt-str-np-cnt = <1>;
781                            azoteq,filt-str-lp-cnt = <1>;
782
783                            azoteq,hyst = <4>;
784
785                            azoteq,ati-mode = <3>;
786                            azoteq,ati-target = <512>;
787
788                            azoteq,proj-bias = <1>;
789                            azoteq,sense-freq = <2>;
790
791                            linux,keycodes = <KEY_VOLUMEUP>,
792                                             <KEY_VOLUMEDOWN>,
793                                             <KEY_NEXTSONG>,
794                                             <KEY_PREVIOUSSONG>,
795                                             <KEY_PLAYPAUSE>,
796                                             <KEY_STOPCD>;
797
798                            azoteq,gesture-swipe;
799                            azoteq,timeout-swipe-ms = <800>;
800                            azoteq,timeout-tap-ms = <400>;
801                            azoteq,thresh-swipe = <40>;
802
803                            channel-0 {
804                                    azoteq,thresh = <35>;
805                                    azoteq,ati-base = <195>;
806                            };
807
808                            channel-1 {
809                                    azoteq,thresh = <40>;
810                                    azoteq,ati-base = <195>;
811                            };
812
813                            channel-2 {
814                                    azoteq,thresh = <40>;
815                                    azoteq,ati-base = <195>;
816                            };
817
818                            channel-3 {
819                                    azoteq,thresh = <38>;
820                                    azoteq,ati-base = <195>;
821                            };
822
823                            channel-4 {
824                                    azoteq,thresh = <33>;
825                                    azoteq,ati-base = <195>;
826                            };
827
828                            channel-5 {
829                                    azoteq,thresh = <38>;
830                                    azoteq,ati-base = <195>;
831                            };
832
833                            channel-6 {
834                                    azoteq,thresh = <35>;
835                                    azoteq,ati-base = <195>;
836                            };
837
838                            channel-7 {
839                                    azoteq,thresh = <35>;
840                                    azoteq,ati-base = <195>;
841                            };
842
843                            channel-8 {
844                                    azoteq,thresh = <35>;
845                                    azoteq,ati-base = <195>;
846                            };
847                    };
848
849                    /*
850                     * Preserve the default register settings for
851                     * the temperature-tracking channel leveraged
852                     * by reset user interface (RUI) 1.
853                     *
854                     * Scalar properties (e.g. ATI mode) are left
855                     * untouched by simply omitting them; boolean
856                     * properties must be specified explicitly as
857                     * needed.
858                     */
859                    generic-2 {
860                            azoteq,reseed-disable;
861                            azoteq,meas-cap-decrease;
862                            azoteq,dual-direction;
863                            azoteq,comp-disable;
864                            azoteq,static-enable;
865                    };
866
867                    hall {
868                            azoteq,reseed-disable;
869                            azoteq,meas-cap-decrease;
870
871                            event-touch {
872                                    linux,code = <SW_LID>;
873                            };
874                    };
875            };
876    };
877
878...
879