Lines Matching +full:channel +full:- +full:2

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":
40 azoteq,hall-enable:
43 Enables Hall-effect sensing on channels 6 and 7. In this case, keycodes
44 assigned to channel 6 are ignored and keycodes assigned to channel 7 are
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]
56 2: Ultra-low power (channel 0 proximity sensing)
59 azoteq,clk-div:
63 azoteq,ulp-update:
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]
81 Specifies the long-term average filter strength during low-power mode.
83 azoteq,filt-str-lp-cnt:
85 enum: [0, 1, 2, 3]
88 Specifies the raw count filter strength during low-power mode.
90 azoteq,filt-str-np-lta:
92 enum: [0, 1, 2, 3]
95 Specifies the long-term average filter strength during normal-power mode.
97 azoteq,filt-str-np-cnt:
99 enum: [0, 1, 2, 3]
102 Specifies the raw count filter strength during normal-power mode.
104 azoteq,rate-np-ms:
108 description: Specifies the report rate (in ms) during normal-power mode.
110 azoteq,rate-lp-ms:
114 description: Specifies the report rate (in ms) during low-power mode.
116 azoteq,rate-ulp-ms:
121 description: Specifies the report rate (in ms) during ultra-low-power mode.
123 azoteq,timeout-pwr-ms:
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:
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:
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]
178 Specifies the inductive sensing excitation frequency as follows (paren-
179 thesized numbers represent the frequency if 'azoteq,clk-div' is present):
181 1: 8 MHz (2 MHz)
182 2: 4 MHz (1 MHz)
183 3: 2 MHz (500 kHz)
185 azoteq,global-cap-increase:
189 azoteq,reseed-select:
191 enum: [0, 1, 2, 3]
195 long-term average) of an associated channel as follows:
198 2: Proximity or touch
201 azoteq,tracking-enable:
207 azoteq,filt-str-slider:
209 enum: [0, 1, 2, 3]
213 azoteq,touch-hold-ms:
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.
231 2: Slider 0 positive flick or swipe
238 azoteq,gesture-swipe:
244 azoteq,timeout-tap-ms:
252 as well as step size are reduced by a factor of 4 with device version 2.
254 azoteq,timeout-swipe-ms:
261 completed in order to be interpreted as a flick or swipe. Default and max-
263 version 2.
265 azoteq,thresh-swipe:
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]$":
284 Represents a single sensing channel. A channel is active if defined and
291 description: Index of the channel.
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:
301 description: Specifies that the channel is a blocking channel.
303 azoteq,slider0-select:
305 description: Specifies that the channel participates in slider 0.
307 azoteq,slider1-select:
309 description: Specifies that the channel participates in slider 1.
311 azoteq,rx-enable:
312 $ref: /schemas/types.yaml#/definitions/uint32-array
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
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]
347 Specifies the capacitance to be added to the channel as follows:
349 1: Global adder (based on 'azoteq,global-cap-increase')
350 2: Global adder + 0.5 pF
352 azoteq,invert-enable:
356 deep-touch events relative to their respective thresholds.
358 azoteq,proj-bias:
360 enum: [0, 1, 2, 3]
361 default: 2
363 Specifies the bias current applied during projected-capacitance
367 2: 10 uA
370 azoteq,sense-mode:
375 Specifies the channel's sensing mode as follows:
382 azoteq,sense-freq:
384 enum: [0, 1, 2, 3]
387 Specifies the channel's sensing frequency as follows (parenthesized
388 numbers represent the frequency if 'azoteq,clk-div' is present):
390 1: 2 MHz (500 kHz)
391 2: 1 MHz (250 kHz)
394 azoteq,static-enable:
396 description: Enables the static front-end for the channel.
398 azoteq,ati-mode:
400 enum: [0, 1, 2, 3]
403 Specifies the channel's ATI mode as follows:
405 1: Semi-partial
406 2: Partial
409 azoteq,ati-base:
413 description: Specifies the channel's ATI base.
415 azoteq,ati-target:
421 description: Specifies the channel's ATI target.
423 azoteq,assoc-select:
424 $ref: /schemas/types.yaml#/definitions/uint32-array
431 Specifies the associated channels for which the channel serves as a
432 reference channel. By default, no channels are selected.
434 azoteq,assoc-weight:
440 Specifies the channel's impact weight if it acts as an associated
441 channel (0 = 0% impact, 255 = 200% impact).
444 "^event-prox(-alt)?$":
448 Represents a proximity event reported by the channel in response to
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-
459 vert the polarity of the states reported by the channel.
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-
477 "^event-touch(-alt)?$":
480 description: Represents a touch event reported by the channel.
501 "^event-deep(-alt)?$":
504 description: Represents a deep-touch event reported by the channel.
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>;
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 {
586 event-prox {
591 channel@1 {
593 azoteq,slider0-select;
596 channel@2 {
598 azoteq,slider0-select;
601 channel@3 {
603 azoteq,slider0-select;
606 channel@4 {
608 azoteq,slider0-select;
611 channel@5 {
613 azoteq,slider0-select;
616 channel@6 {
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>;
629 channel@7 {
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 {