1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Azoteq IQS7222A/B/C Capacitive Touch Controller
8
9 maintainers:
10 - Jeff LaBundy <jeff@labundy.com>
11
12 description: |
13 The Azoteq IQS7222A, IQS7222B and IQS7222C are multichannel capacitive touch
14 controllers that feature additional sensing capabilities.
15
16 Link to datasheets: https://www.azoteq.com/
17
18 properties:
19 compatible:
20 enum:
21 - azoteq,iqs7222a
22 - azoteq,iqs7222b
23 - azoteq,iqs7222c
24
25 reg:
26 maxItems: 1
27
28 irq-gpios:
29 maxItems: 1
30 description:
31 Specifies the GPIO connected to the device's active-low RDY output.
32
33 reset-gpios:
34 maxItems: 1
35 description:
36 Specifies the GPIO connected to the device's active-low MCLR input. The
37 device is temporarily held in hardware reset prior to initialization if
38 this property is present.
39
40 azoteq,max-counts:
41 $ref: /schemas/types.yaml#/definitions/uint32
42 enum: [0, 1, 2, 3]
43 description: |
44 Specifies the maximum number of conversion periods (counts) that can be
45 reported as follows:
46 0: 1023
47 1: 2047
48 2: 4095
49 3: 16384
50
51 azoteq,auto-mode:
52 $ref: /schemas/types.yaml#/definitions/uint32
53 enum: [0, 1, 2, 3]
54 description: |
55 Specifies the number of conversions to occur before an interrupt is
56 generated as follows:
57 0: 4
58 1: 8
59 2: 16
60 3: 32
61
62 azoteq,ati-frac-div-fine:
63 $ref: /schemas/types.yaml#/definitions/uint32
64 minimum: 0
65 maximum: 31
66 description: Specifies the preloaded ATI fine fractional divider.
67
68 azoteq,ati-frac-div-coarse:
69 $ref: /schemas/types.yaml#/definitions/uint32
70 minimum: 0
71 maximum: 31
72 description: Specifies the preloaded ATI coarse fractional divider.
73
74 azoteq,ati-comp-select:
75 $ref: /schemas/types.yaml#/definitions/uint32
76 minimum: 0
77 maximum: 1023
78 description: Specifies the preloaded ATI compensation selection.
79
80 azoteq,lta-beta-lp:
81 $ref: /schemas/types.yaml#/definitions/uint32
82 minimum: 0
83 maximum: 15
84 description:
85 Specifies the long-term average filter damping factor to be applied during
86 low-power mode.
87
88 azoteq,lta-beta-np:
89 $ref: /schemas/types.yaml#/definitions/uint32
90 minimum: 0
91 maximum: 15
92 description:
93 Specifies the long-term average filter damping factor to be applied during
94 normal-power mode.
95
96 azoteq,counts-beta-lp:
97 $ref: /schemas/types.yaml#/definitions/uint32
98 minimum: 0
99 maximum: 15
100 description:
101 Specifies the counts filter damping factor to be applied during low-power
102 mode.
103
104 azoteq,counts-beta-np:
105 $ref: /schemas/types.yaml#/definitions/uint32
106 minimum: 0
107 maximum: 15
108 description:
109 Specifies the counts filter damping factor to be applied during normal-
110 power mode.
111
112 azoteq,lta-fast-beta-lp:
113 $ref: /schemas/types.yaml#/definitions/uint32
114 minimum: 0
115 maximum: 15
116 description:
117 Specifies the long-term average filter fast damping factor to be applied
118 during low-power mode.
119
120 azoteq,lta-fast-beta-np:
121 $ref: /schemas/types.yaml#/definitions/uint32
122 minimum: 0
123 maximum: 15
124 description:
125 Specifies the long-term average filter fast damping factor to be applied
126 during normal-power mode.
127
128 azoteq,timeout-ati-ms:
129 multipleOf: 500
130 minimum: 0
131 maximum: 32767500
132 description:
133 Specifies the delay (in ms) before ATI is retried following an ATI error.
134
135 azoteq,rate-ati-ms:
136 minimum: 0
137 maximum: 65535
138 description: Specifies the rate (in ms) at which ATI status is evaluated.
139
140 azoteq,timeout-np-ms:
141 minimum: 0
142 maximum: 65535
143 description:
144 Specifies the length of time (in ms) to wait for an event before moving
145 from normal-power mode to low-power mode.
146
147 azoteq,rate-np-ms:
148 minimum: 0
149 maximum: 3000
150 description: Specifies the report rate (in ms) during normal-power mode.
151
152 azoteq,timeout-lp-ms:
153 minimum: 0
154 maximum: 65535
155 description:
156 Specifies the length of time (in ms) to wait for an event before moving
157 from low-power mode to ultra-low-power mode.
158
159 azoteq,rate-lp-ms:
160 minimum: 0
161 maximum: 3000
162 description: Specifies the report rate (in ms) during low-power mode.
163
164 azoteq,timeout-ulp-ms:
165 minimum: 0
166 maximum: 65535
167 description:
168 Specifies the rate (in ms) at which channels not regularly sampled during
169 ultra-low-power mode are updated.
170
171 azoteq,rate-ulp-ms:
172 minimum: 0
173 maximum: 3000
174 description: Specifies the report rate (in ms) during ultra-low-power mode.
175
176 patternProperties:
177 "^cycle-[0-9]$":
178 type: object
179 description: Represents a conversion cycle serving two sensing channels.
180
181 properties:
182 azoteq,conv-period:
183 $ref: /schemas/types.yaml#/definitions/uint32
184 minimum: 0
185 maximum: 255
186 description: Specifies the cycle's conversion period.
187
188 azoteq,conv-frac:
189 $ref: /schemas/types.yaml#/definitions/uint32
190 minimum: 0
191 maximum: 255
192 description: Specifies the cycle's conversion frequency fraction.
193
194 azoteq,tx-enable:
195 $ref: /schemas/types.yaml#/definitions/uint32-array
196 minItems: 1
197 maxItems: 9
198 items:
199 minimum: 0
200 maximum: 8
201 description: Specifies the CTx pin(s) associated with the cycle.
202
203 azoteq,rx-float-inactive:
204 type: boolean
205 description: Floats any inactive CRx pins instead of grounding them.
206
207 azoteq,dead-time-enable:
208 type: boolean
209 description:
210 Increases the denominator of the conversion frequency formula by one.
211
212 azoteq,tx-freq-fosc:
213 type: boolean
214 description:
215 Fixes the conversion frequency to that of the device's core clock.
216
217 azoteq,vbias-enable:
218 type: boolean
219 description: Enables the bias voltage for use during inductive sensing.
220
221 azoteq,sense-mode:
222 $ref: /schemas/types.yaml#/definitions/uint32
223 enum: [0, 1, 2, 3]
224 description: |
225 Specifies the cycle's sensing mode as follows:
226 0: None
227 1: Self capacitive
228 2: Mutual capacitive
229 3: Inductive
230
231 Note that in the case of IQS7222A, cycles 5 and 6 are restricted to
232 Hall-effect sensing.
233
234 azoteq,iref-enable:
235 type: boolean
236 description:
237 Enables the current reference for use during various sensing modes.
238
239 azoteq,iref-level:
240 $ref: /schemas/types.yaml#/definitions/uint32
241 minimum: 0
242 maximum: 15
243 description: Specifies the cycle's current reference level.
244
245 azoteq,iref-trim:
246 $ref: /schemas/types.yaml#/definitions/uint32
247 minimum: 0
248 maximum: 15
249 description: Specifies the cycle's current reference trim.
250
251 dependencies:
252 azoteq,iref-level: ["azoteq,iref-enable"]
253 azoteq,iref-trim: ["azoteq,iref-enable"]
254
255 additionalProperties: false
256
257 "^channel-([0-9]|1[0-9])$":
258 type: object
259 description:
260 Represents a single sensing channel. A channel is active if defined and
261 inactive otherwise.
262
263 Note that in the case of IQS7222A, channels 10 and 11 are restricted to
264 Hall-effect sensing with events reported on channel 10 only.
265
266 properties:
267 azoteq,ulp-allow:
268 type: boolean
269 description:
270 Permits the device to enter ultra-low-power mode while the channel
271 lies in a state of touch or proximity.
272
273 azoteq,ref-select:
274 $ref: /schemas/types.yaml#/definitions/uint32
275 minimum: 0
276 maximum: 9
277 description: Specifies a separate reference channel to be followed.
278
279 azoteq,ref-weight:
280 $ref: /schemas/types.yaml#/definitions/uint32
281 minimum: 0
282 maximum: 65535
283 description: Specifies the relative weight of the reference channel.
284
285 azoteq,use-prox:
286 type: boolean
287 description:
288 Activates the reference channel in response to proximity events
289 instead of touch events.
290
291 azoteq,ati-band:
292 $ref: /schemas/types.yaml#/definitions/uint32
293 enum: [0, 1, 2, 3]
294 description: |
295 Specifies the channel's ATI band as a fraction of its ATI target as
296 follows:
297 0: 1/16
298 1: 1/8
299 2: 1/4
300 3: 1/2
301
302 azoteq,global-halt:
303 type: boolean
304 description:
305 Specifies that the channel's long-term average is to freeze if any
306 other participating channel lies in a proximity or touch state.
307
308 azoteq,invert-enable:
309 type: boolean
310 description:
311 Inverts the polarity of the states reported for proximity and touch
312 events relative to their respective thresholds.
313
314 azoteq,dual-direction:
315 type: boolean
316 description:
317 Specifies that the channel's long-term average is to freeze in the
318 presence of either increasing or decreasing counts, thereby permit-
319 ting events to be reported in either direction.
320
321 azoteq,rx-enable:
322 $ref: /schemas/types.yaml#/definitions/uint32-array
323 minItems: 1
324 maxItems: 4
325 items:
326 minimum: 0
327 maximum: 7
328 description: Specifies the CRx pin(s) associated with the channel.
329
330 azoteq,samp-cap-double:
331 type: boolean
332 description: Doubles the sampling capacitance from 40 pF to 80 pF.
333
334 azoteq,vref-half:
335 type: boolean
336 description: Halves the discharge threshold from 1.0 V to 0.5 V.
337
338 azoteq,proj-bias:
339 $ref: /schemas/types.yaml#/definitions/uint32
340 enum: [0, 1, 2, 3]
341 description: |
342 Specifies the bias current applied during mutual (projected)
343 capacitive sensing as follows:
344 0: 2 uA
345 1: 5 uA
346 2: 7 uA
347 3: 10 uA
348
349 azoteq,ati-target:
350 $ref: /schemas/types.yaml#/definitions/uint32
351 multipleOf: 8
352 minimum: 0
353 maximum: 2040
354 description: Specifies the channel's ATI target.
355
356 azoteq,ati-base:
357 $ref: /schemas/types.yaml#/definitions/uint32
358 multipleOf: 16
359 minimum: 0
360 maximum: 496
361 description: Specifies the channel's ATI base.
362
363 azoteq,ati-mode:
364 $ref: /schemas/types.yaml#/definitions/uint32
365 enum: [0, 1, 2, 3, 4, 5]
366 description: |
367 Specifies the channel's ATI mode as follows:
368 0: Disabled
369 1: Compensation
370 2: Compensation divider
371 3: Fine fractional divider
372 4: Coarse fractional divider
373 5: Full
374
375 azoteq,ati-frac-div-fine:
376 $ref: /schemas/types.yaml#/definitions/uint32
377 minimum: 0
378 maximum: 31
379 description: Specifies the channel's ATI fine fractional divider.
380
381 azoteq,ati-frac-mult-coarse:
382 $ref: /schemas/types.yaml#/definitions/uint32
383 minimum: 0
384 maximum: 15
385 description: Specifies the channel's ATI coarse fractional multiplier.
386
387 azoteq,ati-frac-div-coarse:
388 $ref: /schemas/types.yaml#/definitions/uint32
389 minimum: 0
390 maximum: 31
391 description: Specifies the channel's ATI coarse fractional divider.
392
393 azoteq,ati-comp-div:
394 $ref: /schemas/types.yaml#/definitions/uint32
395 minimum: 0
396 maximum: 31
397 description: Specifies the channel's ATI compensation divider.
398
399 azoteq,ati-comp-select:
400 $ref: /schemas/types.yaml#/definitions/uint32
401 minimum: 0
402 maximum: 1023
403 description: Specifies the channel's ATI compensation selection.
404
405 azoteq,debounce-enter:
406 $ref: /schemas/types.yaml#/definitions/uint32
407 minimum: 0
408 maximum: 15
409 description: Specifies the channel's debounce entrance factor.
410
411 azoteq,debounce-exit:
412 $ref: /schemas/types.yaml#/definitions/uint32
413 minimum: 0
414 maximum: 15
415 description: Specifies the channel's debounce exit factor.
416
417 patternProperties:
418 "^event-(prox|touch)$":
419 type: object
420 $ref: input.yaml#
421 description:
422 Represents a proximity or touch event reported by the channel.
423
424 properties:
425 azoteq,gpio-select:
426 $ref: /schemas/types.yaml#/definitions/uint32-array
427 minItems: 1
428 maxItems: 3
429 items:
430 minimum: 0
431 maximum: 2
432 description: |
433 Specifies one or more GPIO mapped to the event as follows:
434 0: GPIO0
435 1: GPIO3 (IQS7222C only)
436 2: GPIO4 (IQS7222C only)
437
438 Note that although multiple events can be mapped to a single
439 GPIO, they must all be of the same type (proximity, touch or
440 slider gesture).
441
442 azoteq,thresh:
443 $ref: /schemas/types.yaml#/definitions/uint32
444 description:
445 Specifies the threshold for the event. Valid entries range from
446 0-127 and 0-255 for proximity and touch events, respectively.
447
448 azoteq,hyst:
449 $ref: /schemas/types.yaml#/definitions/uint32
450 minimum: 0
451 maximum: 255
452 description:
453 Specifies the hysteresis for the event (touch events only).
454
455 azoteq,timeout-press-ms:
456 multipleOf: 500
457 minimum: 0
458 maximum: 127500
459 description:
460 Specifies the length of time (in ms) to wait before automatically
461 releasing a press event. Specify zero to allow the press state to
462 persist indefinitely.
463
464 The IQS7222B does not feature channel-specific timeouts; the time-
465 out specified for any one channel applies to all channels.
466
467 linux,code: true
468
469 linux,input-type:
470 enum: [1, 5]
471 default: 1
472 description:
473 Specifies whether the event is to be interpreted as a key (1)
474 or a switch (5).
475
476 required:
477 - linux,code
478
479 additionalProperties: false
480
481 dependencies:
482 azoteq,ref-weight: ["azoteq,ref-select"]
483 azoteq,use-prox: ["azoteq,ref-select"]
484
485 additionalProperties: false
486
487 "^slider-[0-1]$":
488 type: object
489 description: Represents a slider comprising three or four channels.
490
491 properties:
492 azoteq,channel-select:
493 $ref: /schemas/types.yaml#/definitions/uint32-array
494 minItems: 3
495 maxItems: 4
496 items:
497 minimum: 0
498 maximum: 9
499 description:
500 Specifies the order of the channels that participate in the slider.
501
502 azoteq,slider-size:
503 $ref: /schemas/types.yaml#/definitions/uint32
504 minimum: 0
505 maximum: 65535
506 description:
507 Specifies the slider's one-dimensional resolution, equal to the
508 maximum coordinate plus one.
509
510 azoteq,lower-cal:
511 $ref: /schemas/types.yaml#/definitions/uint32
512 minimum: 0
513 maximum: 255
514 description: Specifies the slider's lower starting point.
515
516 azoteq,upper-cal:
517 $ref: /schemas/types.yaml#/definitions/uint32
518 minimum: 0
519 maximum: 255
520 description: Specifies the slider's upper starting point.
521
522 azoteq,top-speed:
523 $ref: /schemas/types.yaml#/definitions/uint32
524 minimum: 0
525 maximum: 65535
526 description:
527 Specifies the speed of movement after which coordinate filtering is
528 no longer applied.
529
530 azoteq,bottom-speed:
531 $ref: /schemas/types.yaml#/definitions/uint32
532 minimum: 0
533 maximum: 255
534 description:
535 Specifies the speed of movement after which coordinate filtering is
536 linearly reduced.
537
538 azoteq,bottom-beta:
539 $ref: /schemas/types.yaml#/definitions/uint32
540 minimum: 0
541 maximum: 7
542 description:
543 Specifies the coordinate filter damping factor to be applied
544 while the speed of movement is below that which is specified
545 by azoteq,bottom-speed.
546
547 azoteq,static-beta:
548 type: boolean
549 description:
550 Applies the coordinate filter damping factor specified by
551 azoteq,bottom-beta regardless of the speed of movement.
552
553 azoteq,use-prox:
554 type: boolean
555 description:
556 Directs the slider to respond to the proximity states of the selected
557 channels instead of their corresponding touch states. Note the slider
558 cannot report granular coordinates during a state of proximity.
559
560 linux,axis:
561 $ref: /schemas/types.yaml#/definitions/uint32
562 description:
563 Specifies the absolute axis to which coordinates are mapped. Specify
564 ABS_WHEEL to operate the slider as a wheel (IQS7222C only).
565
566 patternProperties:
567 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
568 type: object
569 $ref: input.yaml#
570 description:
571 Represents a press or gesture (IQS7222A only) event reported by
572 the slider.
573
574 properties:
575 linux,code: true
576
577 azoteq,gesture-max-ms:
578 multipleOf: 4
579 minimum: 0
580 maximum: 1020
581 description:
582 Specifies the length of time (in ms) within which a tap, swipe
583 or flick gesture must be completed in order to be acknowledged
584 by the device. The number specified for any one swipe or flick
585 gesture applies to all remaining swipe or flick gestures.
586
587 azoteq,gesture-min-ms:
588 multipleOf: 4
589 minimum: 0
590 maximum: 124
591 description:
592 Specifies the length of time (in ms) for which a tap gesture must
593 be held in order to be acknowledged by the device.
594
595 azoteq,gesture-dist:
596 $ref: /schemas/types.yaml#/definitions/uint32
597 multipleOf: 16
598 minimum: 0
599 maximum: 4080
600 description:
601 Specifies the distance across which a swipe or flick gesture must
602 travel in order to be acknowledged by the device. The number spec-
603 ified for any one swipe or flick gesture applies to all remaining
604 swipe or flick gestures.
605
606 azoteq,gpio-select:
607 $ref: /schemas/types.yaml#/definitions/uint32-array
608 minItems: 1
609 maxItems: 3
610 items:
611 minimum: 0
612 maximum: 2
613 description: |
614 Specifies one or more GPIO mapped to the event as follows:
615 0: GPIO0
616 1: GPIO3 (IQS7222C only)
617 2: GPIO4 (IQS7222C only)
618
619 Note that although multiple events can be mapped to a single
620 GPIO, they must all be of the same type (proximity, touch or
621 slider gesture).
622
623 required:
624 - linux,code
625
626 additionalProperties: false
627
628 required:
629 - azoteq,channel-select
630
631 additionalProperties: false
632
633 "^gpio-[0-2]$":
634 type: object
635 description: |
636 Represents a GPIO mapped to one or more events as follows:
637 gpio-0: GPIO0
638 gpio-1: GPIO3 (IQS7222C only)
639 gpio-2: GPIO4 (IQS7222C only)
640
641 allOf:
642 - $ref: ../pinctrl/pincfg-node.yaml#
643
644 properties:
645 drive-open-drain: true
646
647 additionalProperties: false
648
649 allOf:
650 - if:
651 properties:
652 compatible:
653 contains:
654 const: azoteq,iqs7222b
655
656 then:
657 patternProperties:
658 "^cycle-[0-9]$":
659 properties:
660 azoteq,iref-enable: false
661
662 "^channel-([0-9]|1[0-9])$":
663 properties:
664 azoteq,ref-select: false
665
666 patternProperties:
667 "^event-(prox|touch)$":
668 properties:
669 azoteq,gpio-select: false
670
671 "^slider-[0-1]$": false
672
673 "^gpio-[0-2]$": false
674
675 - if:
676 properties:
677 compatible:
678 contains:
679 const: azoteq,iqs7222a
680
681 then:
682 patternProperties:
683 "^channel-([0-9]|1[0-9])$":
684 patternProperties:
685 "^event-(prox|touch)$":
686 properties:
687 azoteq,gpio-select:
688 maxItems: 1
689 items:
690 maximum: 0
691
692 "^slider-[0-1]$":
693 properties:
694 azoteq,slider-size:
695 multipleOf: 16
696 maximum: 4080
697
698 azoteq,top-speed:
699 multipleOf: 4
700 maximum: 1020
701
702 patternProperties:
703 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
704 properties:
705 azoteq,gpio-select:
706 maxItems: 1
707 items:
708 maximum: 0
709
710 else:
711 patternProperties:
712 "^channel-([0-9]|1[0-9])$":
713 properties:
714 azoteq,ulp-allow: false
715
716 "^slider-[0-1]$":
717 patternProperties:
718 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
719 properties:
720 azoteq,gesture-max-ms: false
721
722 azoteq,gesture-min-ms: false
723
724 azoteq,gesture-dist: false
725
726 required:
727 - compatible
728 - reg
729 - irq-gpios
730
731 additionalProperties: false
732
733 examples:
734 - |
735 #include <dt-bindings/gpio/gpio.h>
736 #include <dt-bindings/input/input.h>
737
738 i2c {
739 #address-cells = <1>;
740 #size-cells = <0>;
741
742 iqs7222a@44 {
743 compatible = "azoteq,iqs7222a";
744 reg = <0x44>;
745 irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
746 azoteq,lta-beta-lp = <7>;
747 azoteq,lta-beta-np = <8>;
748 azoteq,counts-beta-lp = <2>;
749 azoteq,counts-beta-np = <3>;
750 azoteq,lta-fast-beta-lp = <3>;
751 azoteq,lta-fast-beta-np = <4>;
752
753 cycle-0 {
754 azoteq,conv-period = <5>;
755 azoteq,conv-frac = <127>;
756 azoteq,tx-enable = <1>, <2>, <4>, <5>;
757 azoteq,dead-time-enable;
758 azoteq,sense-mode = <2>;
759 };
760
761 cycle-1 {
762 azoteq,conv-period = <5>;
763 azoteq,conv-frac = <127>;
764 azoteq,tx-enable = <5>;
765 azoteq,dead-time-enable;
766 azoteq,sense-mode = <2>;
767 };
768
769 cycle-2 {
770 azoteq,conv-period = <5>;
771 azoteq,conv-frac = <127>;
772 azoteq,tx-enable = <4>;
773 azoteq,dead-time-enable;
774 azoteq,sense-mode = <2>;
775 };
776
777 cycle-3 {
778 azoteq,conv-period = <5>;
779 azoteq,conv-frac = <127>;
780 azoteq,tx-enable = <2>;
781 azoteq,dead-time-enable;
782 azoteq,sense-mode = <2>;
783 };
784
785 cycle-4 {
786 azoteq,conv-period = <5>;
787 azoteq,conv-frac = <127>;
788 azoteq,tx-enable = <1>;
789 azoteq,dead-time-enable;
790 azoteq,sense-mode = <2>;
791 };
792
793 cycle-5 {
794 azoteq,conv-period = <2>;
795 azoteq,conv-frac = <0>;
796 };
797
798 cycle-6 {
799 azoteq,conv-period = <2>;
800 azoteq,conv-frac = <0>;
801 };
802
803 channel-0 {
804 azoteq,ulp-allow;
805 azoteq,global-halt;
806 azoteq,invert-enable;
807 azoteq,rx-enable = <3>;
808 azoteq,ati-target = <800>;
809 azoteq,ati-base = <208>;
810 azoteq,ati-mode = <5>;
811 };
812
813 channel-1 {
814 azoteq,global-halt;
815 azoteq,invert-enable;
816 azoteq,rx-enable = <3>;
817 azoteq,ati-target = <496>;
818 azoteq,ati-base = <208>;
819 azoteq,ati-mode = <5>;
820 };
821
822 channel-2 {
823 azoteq,global-halt;
824 azoteq,invert-enable;
825 azoteq,rx-enable = <3>;
826 azoteq,ati-target = <496>;
827 azoteq,ati-base = <208>;
828 azoteq,ati-mode = <5>;
829 };
830
831 channel-3 {
832 azoteq,global-halt;
833 azoteq,invert-enable;
834 azoteq,rx-enable = <3>;
835 azoteq,ati-target = <496>;
836 azoteq,ati-base = <208>;
837 azoteq,ati-mode = <5>;
838 };
839
840 channel-4 {
841 azoteq,global-halt;
842 azoteq,invert-enable;
843 azoteq,rx-enable = <3>;
844 azoteq,ati-target = <496>;
845 azoteq,ati-base = <208>;
846 azoteq,ati-mode = <5>;
847 };
848
849 channel-5 {
850 azoteq,ulp-allow;
851 azoteq,global-halt;
852 azoteq,invert-enable;
853 azoteq,rx-enable = <6>;
854 azoteq,ati-target = <800>;
855 azoteq,ati-base = <144>;
856 azoteq,ati-mode = <5>;
857 };
858
859 channel-6 {
860 azoteq,global-halt;
861 azoteq,invert-enable;
862 azoteq,rx-enable = <6>;
863 azoteq,ati-target = <496>;
864 azoteq,ati-base = <160>;
865 azoteq,ati-mode = <5>;
866
867 event-touch {
868 linux,code = <KEY_MUTE>;
869 };
870 };
871
872 channel-7 {
873 azoteq,global-halt;
874 azoteq,invert-enable;
875 azoteq,rx-enable = <6>;
876 azoteq,ati-target = <496>;
877 azoteq,ati-base = <160>;
878 azoteq,ati-mode = <5>;
879
880 event-touch {
881 linux,code = <KEY_VOLUMEDOWN>;
882 };
883 };
884
885 channel-8 {
886 azoteq,global-halt;
887 azoteq,invert-enable;
888 azoteq,rx-enable = <6>;
889 azoteq,ati-target = <496>;
890 azoteq,ati-base = <160>;
891 azoteq,ati-mode = <5>;
892
893 event-touch {
894 linux,code = <KEY_VOLUMEUP>;
895 };
896 };
897
898 channel-9 {
899 azoteq,global-halt;
900 azoteq,invert-enable;
901 azoteq,rx-enable = <6>;
902 azoteq,ati-target = <496>;
903 azoteq,ati-base = <160>;
904 azoteq,ati-mode = <5>;
905
906 event-touch {
907 linux,code = <KEY_POWER>;
908 };
909 };
910
911 channel-10 {
912 azoteq,ulp-allow;
913 azoteq,ati-target = <496>;
914 azoteq,ati-base = <112>;
915
916 event-touch {
917 linux,code = <SW_LID>;
918 linux,input-type = <EV_SW>;
919 };
920 };
921
922 channel-11 {
923 azoteq,ati-target = <496>;
924 azoteq,ati-base = <112>;
925 };
926
927 slider-0 {
928 azoteq,channel-select = <1>, <2>, <3>, <4>;
929 azoteq,slider-size = <4080>;
930 azoteq,upper-cal = <50>;
931 azoteq,lower-cal = <30>;
932 azoteq,top-speed = <200>;
933 azoteq,bottom-speed = <1>;
934 azoteq,bottom-beta = <3>;
935
936 event-tap {
937 linux,code = <KEY_PLAYPAUSE>;
938 azoteq,gesture-max-ms = <600>;
939 azoteq,gesture-min-ms = <24>;
940 };
941
942 event-flick-pos {
943 linux,code = <KEY_NEXTSONG>;
944 azoteq,gesture-max-ms = <600>;
945 azoteq,gesture-dist = <816>;
946 };
947
948 event-flick-neg {
949 linux,code = <KEY_PREVIOUSSONG>;
950 };
951 };
952 };
953 };
954
955 ...
Cache object: 472dc7d4b9180fe35c507afbaab4cfea
|