Lines Matching +full:excitation +full:- +full:pin +full:- +full:0

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 - $ref: input.yaml#
16 The Azoteq IQS269A is an 8-channel capacitive touch controller that features
17 additional Hall-effect and inductive sensing capabilities.
24 - azoteq,iqs269a
25 - azoteq,iqs269a-00
26 - azoteq,iqs269a-d0
34 "#address-cells":
37 "#size-cells":
38 const: 0
40 azoteq,hall-enable:
43 Enables Hall-effect sensing on channels 6 and 7. In this case, keycodes
45 interpreted as switch codes. Refer to the datasheet for requirements im-
46 posed on channels 6 and 7 by Hall-effect sensing.
48 azoteq,suspend-mode:
50 enum: [0, 1, 2, 3]
51 default: 0
54 0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
56 2: Ultra-low power (channel 0 proximity sensing)
59 azoteq,clk-div:
63 azoteq,ulp-update:
65 minimum: 0
68 description: Specifies the ultra-low-power mode update rate.
70 azoteq,reseed-offset:
73 Applies an 8-count offset to all long-term averages upon either ATI or
76 azoteq,filt-str-lp-lta:
78 enum: [0, 1, 2, 3]
79 default: 0
81 Specifies the long-term average filter strength during low-power mode.
83 azoteq,filt-str-lp-cnt:
85 enum: [0, 1, 2, 3]
86 default: 0
88 Specifies the raw count filter strength during low-power mode.
90 azoteq,filt-str-np-lta:
92 enum: [0, 1, 2, 3]
93 default: 0
95 Specifies the long-term average filter strength during normal-power mode.
97 azoteq,filt-str-np-cnt:
99 enum: [0, 1, 2, 3]
100 default: 0
102 Specifies the raw count filter strength during normal-power mode.
104 azoteq,rate-np-ms:
105 minimum: 0
108 description: Specifies the report rate (in ms) during normal-power mode.
110 azoteq,rate-lp-ms:
111 minimum: 0
114 description: Specifies the report rate (in ms) during low-power mode.
116 azoteq,rate-ulp-ms:
118 minimum: 0
121 description: Specifies the report rate (in ms) during ultra-low-power mode.
123 azoteq,timeout-pwr-ms:
125 minimum: 0
129 Specifies the length of time (in ms) to wait for an event during normal-
130 power mode before transitioning to low-power mode.
132 azoteq,timeout-lta-ms:
134 minimum: 0
138 Specifies the length of time (in ms) to wait before resetting the long-
142 azoteq,ati-band-disable:
146 azoteq,ati-lp-only:
148 description: Limits automatic ATI to low-power mode.
150 azoteq,ati-band-tighten:
154 azoteq,filt-disable:
158 azoteq,gpio3-select:
160 minimum: 0
162 default: 0
164 Selects the channel for which the GPIO3 pin represents touch state.
166 azoteq,dual-direction:
169 Specifies that long-term averages are to freeze in the presence of either
173 azoteq,tx-freq:
175 enum: [0, 1, 2, 3]
176 default: 0
178 Specifies the inductive sensing excitation frequency as follows (paren-
179 thesized numbers represent the frequency if 'azoteq,clk-div' is present):
180 0: 16 MHz (4 MHz)
185 azoteq,global-cap-increase:
189 azoteq,reseed-select:
191 enum: [0, 1, 2, 3]
192 default: 0
195 long-term average) of an associated channel as follows:
196 0: None
201 azoteq,tracking-enable:
207 azoteq,filt-str-slider:
209 enum: [0, 1, 2, 3]
213 azoteq,touch-hold-ms:
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.
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
238 azoteq,gesture-swipe:
244 azoteq,timeout-tap-ms:
246 minimum: 0
254 azoteq,timeout-swipe-ms:
256 minimum: 0
261 completed in order to be interpreted as a flick or swipe. Default and max-
265 azoteq,thresh-swipe:
267 minimum: 0
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"]
281 "^channel@[0-7]$":
289 minimum: 0
293 azoteq,reseed-disable:
296 Prevents the channel from being reseeded if the long-term average
297 timeout (defined in 'azoteq,timeout-lta') expires.
299 azoteq,blocking-enable:
303 azoteq,slider0-select:
305 description: Specifies that the channel participates in slider 0.
307 azoteq,slider1-select:
311 azoteq,rx-enable:
312 $ref: /schemas/types.yaml#/definitions/uint32-array
316 minimum: 0
319 Specifies the CRX pin(s) associated with the channel. By default, only
320 the CRX pin corresponding to the channel's index is enabled (e.g. CRX0
321 for channel 0).
323 azoteq,tx-enable:
324 $ref: /schemas/types.yaml#/definitions/uint32-array
328 minimum: 0
330 default: [0, 1, 2, 3, 4, 5, 6, 7]
331 description: Specifies the TX pin(s) associated with the channel.
333 azoteq,meas-cap-decrease:
338 azoteq,rx-float-inactive:
342 azoteq,local-cap-size:
344 enum: [0, 1, 2]
345 default: 0
348 0: None
349 1: Global adder (based on 'azoteq,global-cap-increase')
352 azoteq,invert-enable:
356 deep-touch events relative to their respective thresholds.
358 azoteq,proj-bias:
360 enum: [0, 1, 2, 3]
363 Specifies the bias current applied during projected-capacitance
365 0: 2.5 uA
370 azoteq,sense-mode:
372 enum: [0, 1, 9, 14, 15]
373 default: 0
376 0: Self capacitance
382 azoteq,sense-freq:
384 enum: [0, 1, 2, 3]
388 numbers represent the frequency if 'azoteq,clk-div' is present):
389 0: 4 MHz (1 MHz)
394 azoteq,static-enable:
396 description: Enables the static front-end for the channel.
398 azoteq,ati-mode:
400 enum: [0, 1, 2, 3]
404 0: Disabled
405 1: Semi-partial
409 azoteq,ati-base:
415 azoteq,ati-target:
418 minimum: 0
423 azoteq,assoc-select:
424 $ref: /schemas/types.yaml#/definitions/uint32-array
428 minimum: 0
434 azoteq,assoc-weight:
436 minimum: 0
438 default: 0
441 channel (0 = 0% impact, 255 = 200% impact).
444 "^event-prox(-alt)?$":
449 a decrease in counts. Node names suffixed with '-alt' instead corre-
452 By default, the long-term average tracks an increase in counts such
456 Specify 'azoteq,dual-direction' to freeze the long-term average when
458 can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
461 Complementary events (e.g. event-touch and event-touch-alt) can both
462 be present and specify different key or switch codes, but not differ-
468 minimum: 0
477 "^event-touch(-alt)?$":
485 minimum: 0
492 minimum: 0
501 "^event-deep(-alt)?$":
504 description: Represents a deep-touch event reported by the channel.
509 minimum: 0
516 minimum: 0
518 default: 0
526 - reg
535 - azoteq,iqs269a-d0
538 "^channel@[0-7]$":
540 azoteq,slider1-select: false
543 azoteq,touch-hold-ms: false
546 - compatible
547 - reg
548 - interrupts
549 - "#address-cells"
550 - "#size-cells"
555 - |
556 #include <dt-bindings/input/input.h>
557 #include <dt-bindings/interrupt-controller/irq.h>
560 #address-cells = <1>;
561 #size-cells = <0>;
564 #address-cells = <1>;
565 #size-cells = <0>;
568 reg = <0x44>;
569 interrupt-parent = <&gpio>;
572 azoteq,hall-enable;
573 azoteq,suspend-mode = <2>;
580 azoteq,timeout-tap-ms = <400>;
581 azoteq,timeout-swipe-ms = <800>;
583 channel@0 {
584 reg = <0x0>;
586 event-prox {
592 reg = <0x1>;
593 azoteq,slider0-select;
597 reg = <0x2>;
598 azoteq,slider0-select;
602 reg = <0x3>;
603 azoteq,slider0-select;
607 reg = <0x4>;
608 azoteq,slider0-select;
612 reg = <0x5>;
613 azoteq,slider0-select;
617 reg = <0x6>;
618 azoteq,invert-enable;
619 azoteq,static-enable;
620 azoteq,reseed-disable;
621 azoteq,rx-enable = <0>;
622 azoteq,sense-freq = <0x0>;
623 azoteq,sense-mode = <0xE>;
624 azoteq,ati-mode = <0x0>;
625 azoteq,ati-base = <200>;
626 azoteq,ati-target = <320>;
630 reg = <0x7>;
631 azoteq,invert-enable;
632 azoteq,static-enable;
633 azoteq,reseed-disable;
634 azoteq,rx-enable = <0>, <6>;
635 azoteq,sense-freq = <0x0>;
636 azoteq,sense-mode = <0xE>;
637 azoteq,ati-mode = <0x3>;
638 azoteq,ati-base = <200>;
639 azoteq,ati-target = <320>;
641 event-touch {