Lines Matching +full:dual +full:- +full:direction
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Jeff LaBundy <jeff@labundy.com>
13 The Azoteq IQS626A is a 14-channel capacitive touch controller that features
14 additional Hall-effect and inductive sensing capabilities.
19 - $ref: touchscreen/touchscreen.yaml#
31 "#address-cells":
34 "#size-cells":
37 azoteq,suspend-mode:
45 2: Ultra-low power (ULP channel proximity sensing)
48 azoteq,clk-div:
52 azoteq,ulp-enable:
55 Permits the device to automatically enter ultra-low-power mode from low-
58 azoteq,ulp-update:
64 updated during ultra-low-power mode as follows:
74 azoteq,ati-band-disable:
78 azoteq,ati-lp-only:
80 description: Limits automatic ATI to low-power mode.
82 azoteq,gpio3-select:
98 azoteq,reseed-select:
104 long-term average) of an associated channel as follows:
110 azoteq,thresh-extend:
112 description: Multiplies all touch and deep-touch thresholds by 4.
114 azoteq,tracking-enable:
120 azoteq,reseed-offset:
123 Applies an 8-count offset to all long-term averages upon either ATI or
126 azoteq,rate-np-ms:
130 description: Specifies the report rate (in ms) during normal-power mode.
132 azoteq,rate-lp-ms:
136 description: Specifies the report rate (in ms) during low-power mode.
138 azoteq,rate-ulp-ms:
143 description: Specifies the report rate (in ms) during ultra-low-power mode.
145 azoteq,timeout-pwr-ms:
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.
155 azoteq,timeout-lta-ms:
161 Specifies the length of time (in ms) to wait before resetting the long-
165 touchscreen-inverted-x: true
166 touchscreen-inverted-y: true
167 touchscreen-swapped-x-y: true
170 "^ulp-0|generic-[0-2]|hall$":
177 azoteq,ati-exclude:
183 azoteq,reseed-disable:
186 Prevents the channel from being reseeded if the long-term average
187 timeout (defined in 'azoteq,timeout-lta') expires.
189 azoteq,meas-cap-decrease:
194 azoteq,rx-inactive:
211 azoteq,dual-direction:
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.
218 azoteq,filt-disable:
222 azoteq,ati-mode:
228 1: Semi-partial
236 azoteq,ati-base:
243 azoteq,ati-target:
252 azoteq,cct-increase:
260 limited to 4 in the case of the ULP channel, and the property is un-
263 azoteq,proj-bias:
268 Specifies the bias current applied during projected-capacitance
277 azoteq,sense-freq:
282 numbers represent the frequency if 'azoteq,clk-div' is present):
291 azoteq,ati-band-tighten:
297 azoteq,proj-enable:
299 description: Enables projected-capacitance sensing (ULP channel only).
301 azoteq,filt-str-np-cnt:
306 Specifies the raw count filter strength during normal-power mode (ULP
309 azoteq,filt-str-lp-cnt:
314 Specifies the raw count filter strength during low-power mode (ULP and
317 azoteq,filt-str-np-lta:
322 Specifies the long-term average filter strength during normal-power
325 azoteq,filt-str-lp-lta:
330 Specifies the long-term average filter strength during low-power mode
333 azoteq,rx-enable:
334 $ref: /schemas/types.yaml#/definitions/uint32-array
346 azoteq,tx-enable:
347 $ref: /schemas/types.yaml#/definitions/uint32-array
359 azoteq,local-cap-size:
373 azoteq,sense-mode:
389 azoteq,tx-freq:
395 (parenthesized numbers represent the frequency if 'azoteq,clk-div'
404 azoteq,invert-enable:
408 deep-touch events relative to their respective thresholds (generic
411 azoteq,comp-disable:
416 azoteq,static-enable:
419 Enables the static front-end for the channel (generic channels only).
421 azoteq,assoc-select:
422 $ref: /schemas/types.yaml#/definitions/string-array
427 - ulp-0
428 - trackpad-3x2
429 - trackpad-3x3
430 - generic-0
431 - generic-1
432 - generic-2
433 - hall
436 reference channel. By default, no channels are selected. This prop-
439 azoteq,assoc-weight:
450 "^event-(prox|touch|deep)(-alt)?$":
454 Represents a proximity, touch or deep-touch event reported by the
456 '-alt' instead correspond to an increase in counts.
458 By default, the long-term average tracks an increase in counts such
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-
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-
472 deep-touch events are only available for the generic channels. Unless
488 Specifies the hysteresis for the event (touch and deep-touch
493 linux,input-type:
497 a switch (5). By default, Hall-channel events are interpreted as
503 azoteq,assoc-weight: ["azoteq,assoc-select"]
507 "^trackpad-3x[2-3]$":
515 azoteq,ati-exclude:
521 azoteq,reseed-disable:
524 Prevents the trackpad channels from being reseeded if the long-term
525 average timeout (defined in 'azoteq,timeout-lta') expires.
527 azoteq,meas-cap-decrease:
532 azoteq,rx-inactive:
545 azoteq,dual-direction:
548 Specifies that the trackpad's long-term averages are to freeze in
550 permitting events to be reported in either direction.
552 azoteq,filt-disable:
556 azoteq,ati-mode:
563 1: Semi-partial
567 azoteq,ati-target:
575 azoteq,cct-increase:
584 azoteq,proj-bias:
589 Specifies the bias current applied during projected-capacitance
596 azoteq,sense-freq:
602 numbers represent the frequency if 'azoteq,clk-div' is present):
608 azoteq,ati-band-tighten:
620 azoteq,lta-update:
625 Specifies the update rate of the trackpad's long-term average during
626 ultra-low-power mode as follows:
636 azoteq,filt-str-trackpad:
642 azoteq,filt-str-np-cnt:
647 Specifies the raw count filter strength during normal-power mode.
649 azoteq,filt-str-lp-cnt:
654 Specifies the raw count filter strength during low-power mode.
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
669 azoteq,gesture-swipe:
675 azoteq,timeout-tap-ms:
684 azoteq,timeout-swipe-ms:
693 azoteq,thresh-swipe:
703 "^channel-[0-8]$":
715 azoteq,ati-base:
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"]
733 - compatible
734 - reg
735 - interrupts
736 - "#address-cells"
737 - "#size-cells"
742 - |
743 #include <dt-bindings/input/input.h>
744 #include <dt-bindings/interrupt-controller/irq.h>
747 #address-cells = <1>;
748 #size-cells = <0>;
751 #address-cells = <1>;
752 #size-cells = <0>;
756 interrupt-parent = <&gpio>;
759 azoteq,rate-np-ms = <16>;
760 azoteq,rate-lp-ms = <160>;
762 azoteq,timeout-pwr-ms = <2560>;
763 azoteq,timeout-lta-ms = <32768>;
765 ulp-0 {
766 azoteq,meas-cap-decrease;
768 azoteq,ati-base = <75>;
769 azoteq,ati-target = <1024>;
771 azoteq,rx-enable = <2>, <3>, <4>,
774 event-prox {
779 trackpad-3x3 {
780 azoteq,filt-str-np-cnt = <1>;
781 azoteq,filt-str-lp-cnt = <1>;
785 azoteq,ati-mode = <3>;
786 azoteq,ati-target = <512>;
788 azoteq,proj-bias = <1>;
789 azoteq,sense-freq = <2>;
798 azoteq,gesture-swipe;
799 azoteq,timeout-swipe-ms = <800>;
800 azoteq,timeout-tap-ms = <400>;
801 azoteq,thresh-swipe = <40>;
803 channel-0 {
805 azoteq,ati-base = <195>;
808 channel-1 {
810 azoteq,ati-base = <195>;
813 channel-2 {
815 azoteq,ati-base = <195>;
818 channel-3 {
820 azoteq,ati-base = <195>;
823 channel-4 {
825 azoteq,ati-base = <195>;
828 channel-5 {
830 azoteq,ati-base = <195>;
833 channel-6 {
835 azoteq,ati-base = <195>;
838 channel-7 {
840 azoteq,ati-base = <195>;
843 channel-8 {
845 azoteq,ati-base = <195>;
851 * the temperature-tracking channel leveraged
859 generic-2 {
860 azoteq,reseed-disable;
861 azoteq,meas-cap-decrease;
862 azoteq,dual-direction;
863 azoteq,comp-disable;
864 azoteq,static-enable;
868 azoteq,reseed-disable;
869 azoteq,meas-cap-decrease;
871 event-touch {