Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Azoteq IQS7222A/B/C Capacitive Touch Controller
8
9maintainers:
10 - Jeff LaBundy <jeff@labundy.com>
11
12description: |
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
18properties:
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
176patternProperties:
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 additionalProperties: false
477
478 dependencies:
479 azoteq,ref-weight: ["azoteq,ref-select"]
480 azoteq,use-prox: ["azoteq,ref-select"]
481
482 additionalProperties: false
483
484 "^slider-[0-1]$":
485 type: object
486 description: Represents a slider comprising three or four channels.
487
488 properties:
489 azoteq,channel-select:
490 $ref: /schemas/types.yaml#/definitions/uint32-array
491 minItems: 3
492 maxItems: 4
493 items:
494 minimum: 0
495 maximum: 9
496 description:
497 Specifies the order of the channels that participate in the slider.
498
499 azoteq,slider-size:
500 $ref: /schemas/types.yaml#/definitions/uint32
501 minimum: 1
502 maximum: 65535
503 description:
504 Specifies the slider's one-dimensional resolution, equal to the
505 maximum coordinate plus one.
506
507 azoteq,lower-cal:
508 $ref: /schemas/types.yaml#/definitions/uint32
509 minimum: 0
510 maximum: 255
511 description: Specifies the slider's lower starting point.
512
513 azoteq,upper-cal:
514 $ref: /schemas/types.yaml#/definitions/uint32
515 minimum: 0
516 maximum: 255
517 description: Specifies the slider's upper starting point.
518
519 azoteq,top-speed:
520 $ref: /schemas/types.yaml#/definitions/uint32
521 minimum: 0
522 maximum: 65535
523 description:
524 Specifies the speed of movement after which coordinate filtering is
525 no longer applied.
526
527 azoteq,bottom-speed:
528 $ref: /schemas/types.yaml#/definitions/uint32
529 minimum: 0
530 maximum: 255
531 description:
532 Specifies the speed of movement after which coordinate filtering is
533 linearly reduced.
534
535 azoteq,bottom-beta:
536 $ref: /schemas/types.yaml#/definitions/uint32
537 minimum: 0
538 maximum: 7
539 description:
540 Specifies the coordinate filter damping factor to be applied
541 while the speed of movement is below that which is specified
542 by azoteq,bottom-speed.
543
544 azoteq,static-beta:
545 type: boolean
546 description:
547 Applies the coordinate filter damping factor specified by
548 azoteq,bottom-beta regardless of the speed of movement.
549
550 azoteq,use-prox:
551 type: boolean
552 description:
553 Directs the slider to respond to the proximity states of the selected
554 channels instead of their corresponding touch states. Note the slider
555 cannot report granular coordinates during a state of proximity.
556
557 linux,axis:
558 $ref: /schemas/types.yaml#/definitions/uint32
559 description:
560 Specifies the absolute axis to which coordinates are mapped. Specify
561 ABS_WHEEL to operate the slider as a wheel (IQS7222C only).
562
563 patternProperties:
564 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
565 type: object
566 $ref: input.yaml#
567 description:
568 Represents a press or gesture (IQS7222A only) event reported by
569 the slider.
570
571 properties:
572 linux,code: true
573
574 azoteq,gesture-max-ms:
575 multipleOf: 16
576 minimum: 0
577 maximum: 4080
578 description:
579 Specifies the length of time (in ms) within which a tap, swipe
580 or flick gesture must be completed in order to be acknowledged
581 by the device. The number specified for any one swipe or flick
582 gesture applies to all remaining swipe or flick gestures.
583
584 azoteq,gesture-min-ms:
585 multipleOf: 16
586 minimum: 0
587 maximum: 496
588 description:
589 Specifies the length of time (in ms) for which a tap gesture must
590 be held in order to be acknowledged by the device.
591
592 azoteq,gesture-dist:
593 $ref: /schemas/types.yaml#/definitions/uint32
594 multipleOf: 16
595 minimum: 0
596 maximum: 4080
597 description:
598 Specifies the distance across which a swipe or flick gesture must
599 travel in order to be acknowledged by the device. The number spec-
600 ified for any one swipe or flick gesture applies to all remaining
601 swipe or flick gestures.
602
603 azoteq,gpio-select:
604 $ref: /schemas/types.yaml#/definitions/uint32-array
605 minItems: 1
606 maxItems: 3
607 items:
608 minimum: 0
609 maximum: 2
610 description: |
611 Specifies one or more GPIO mapped to the event as follows:
612 0: GPIO0
613 1: GPIO3 (IQS7222C only)
614 2: GPIO4 (IQS7222C only)
615
616 Note that although multiple events can be mapped to a single
617 GPIO, they must all be of the same type (proximity, touch or
618 slider gesture).
619
620 additionalProperties: false
621
622 required:
623 - azoteq,channel-select
624
625 additionalProperties: false
626
627 "^gpio-[0-2]$":
628 type: object
629 description: |
630 Represents a GPIO mapped to one or more events as follows:
631 gpio-0: GPIO0
632 gpio-1: GPIO3 (IQS7222C only)
633 gpio-2: GPIO4 (IQS7222C only)
634
635 allOf:
636 - $ref: ../pinctrl/pincfg-node.yaml#
637
638 properties:
639 drive-open-drain: true
640
641 additionalProperties: false
642
643allOf:
644 - if:
645 properties:
646 compatible:
647 contains:
648 const: azoteq,iqs7222b
649
650 then:
651 patternProperties:
652 "^cycle-[0-9]$":
653 properties:
654 azoteq,iref-enable: false
655
656 "^channel-([0-9]|1[0-9])$":
657 properties:
658 azoteq,ref-select: false
659
660 patternProperties:
661 "^event-(prox|touch)$":
662 properties:
663 azoteq,gpio-select: false
664
665 "^slider-[0-1]$": false
666
667 "^gpio-[0-2]$": false
668
669 - if:
670 properties:
671 compatible:
672 contains:
673 const: azoteq,iqs7222a
674
675 then:
676 patternProperties:
677 "^channel-([0-9]|1[0-9])$":
678 patternProperties:
679 "^event-(prox|touch)$":
680 properties:
681 azoteq,gpio-select:
682 maxItems: 1
683 items:
684 maximum: 0
685
686 "^slider-[0-1]$":
687 properties:
688 azoteq,slider-size:
689 multipleOf: 16
690 minimum: 16
691 maximum: 4080
692
693 azoteq,top-speed:
694 multipleOf: 4
695 maximum: 1020
696
697 patternProperties:
698 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
699 properties:
700 azoteq,gpio-select:
701 maxItems: 1
702 items:
703 maximum: 0
704
705 else:
706 patternProperties:
707 "^channel-([0-9]|1[0-9])$":
708 properties:
709 azoteq,ulp-allow: false
710
711 "^slider-[0-1]$":
712 patternProperties:
713 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
714 properties:
715 azoteq,gesture-max-ms: false
716
717 azoteq,gesture-min-ms: false
718
719 azoteq,gesture-dist: false
720
721required:
722 - compatible
723 - reg
724 - irq-gpios
725
726additionalProperties: false
727
728examples:
729 - |
730 #include <dt-bindings/gpio/gpio.h>
731 #include <dt-bindings/input/input.h>
732
733 i2c {
734 #address-cells = <1>;
735 #size-cells = <0>;
736
737 iqs7222a@44 {
738 compatible = "azoteq,iqs7222a";
739 reg = <0x44>;
740 irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
741 azoteq,lta-beta-lp = <7>;
742 azoteq,lta-beta-np = <8>;
743 azoteq,counts-beta-lp = <2>;
744 azoteq,counts-beta-np = <3>;
745 azoteq,lta-fast-beta-lp = <3>;
746 azoteq,lta-fast-beta-np = <4>;
747
748 cycle-0 {
749 azoteq,conv-period = <5>;
750 azoteq,conv-frac = <127>;
751 azoteq,tx-enable = <1>, <2>, <4>, <5>;
752 azoteq,dead-time-enable;
753 azoteq,sense-mode = <2>;
754 };
755
756 cycle-1 {
757 azoteq,conv-period = <5>;
758 azoteq,conv-frac = <127>;
759 azoteq,tx-enable = <5>;
760 azoteq,dead-time-enable;
761 azoteq,sense-mode = <2>;
762 };
763
764 cycle-2 {
765 azoteq,conv-period = <5>;
766 azoteq,conv-frac = <127>;
767 azoteq,tx-enable = <4>;
768 azoteq,dead-time-enable;
769 azoteq,sense-mode = <2>;
770 };
771
772 cycle-3 {
773 azoteq,conv-period = <5>;
774 azoteq,conv-frac = <127>;
775 azoteq,tx-enable = <2>;
776 azoteq,dead-time-enable;
777 azoteq,sense-mode = <2>;
778 };
779
780 cycle-4 {
781 azoteq,conv-period = <5>;
782 azoteq,conv-frac = <127>;
783 azoteq,tx-enable = <1>;
784 azoteq,dead-time-enable;
785 azoteq,sense-mode = <2>;
786 };
787
788 cycle-5 {
789 azoteq,conv-period = <2>;
790 azoteq,conv-frac = <0>;
791 };
792
793 cycle-6 {
794 azoteq,conv-period = <2>;
795 azoteq,conv-frac = <0>;
796 };
797
798 channel-0 {
799 azoteq,ulp-allow;
800 azoteq,global-halt;
801 azoteq,invert-enable;
802 azoteq,rx-enable = <3>;
803 azoteq,ati-target = <800>;
804 azoteq,ati-base = <208>;
805 azoteq,ati-mode = <5>;
806 };
807
808 channel-1 {
809 azoteq,global-halt;
810 azoteq,invert-enable;
811 azoteq,rx-enable = <3>;
812 azoteq,ati-target = <496>;
813 azoteq,ati-base = <208>;
814 azoteq,ati-mode = <5>;
815 };
816
817 channel-2 {
818 azoteq,global-halt;
819 azoteq,invert-enable;
820 azoteq,rx-enable = <3>;
821 azoteq,ati-target = <496>;
822 azoteq,ati-base = <208>;
823 azoteq,ati-mode = <5>;
824 };
825
826 channel-3 {
827 azoteq,global-halt;
828 azoteq,invert-enable;
829 azoteq,rx-enable = <3>;
830 azoteq,ati-target = <496>;
831 azoteq,ati-base = <208>;
832 azoteq,ati-mode = <5>;
833 };
834
835 channel-4 {
836 azoteq,global-halt;
837 azoteq,invert-enable;
838 azoteq,rx-enable = <3>;
839 azoteq,ati-target = <496>;
840 azoteq,ati-base = <208>;
841 azoteq,ati-mode = <5>;
842 };
843
844 channel-5 {
845 azoteq,ulp-allow;
846 azoteq,global-halt;
847 azoteq,invert-enable;
848 azoteq,rx-enable = <6>;
849 azoteq,ati-target = <800>;
850 azoteq,ati-base = <144>;
851 azoteq,ati-mode = <5>;
852 };
853
854 channel-6 {
855 azoteq,global-halt;
856 azoteq,invert-enable;
857 azoteq,rx-enable = <6>;
858 azoteq,ati-target = <496>;
859 azoteq,ati-base = <160>;
860 azoteq,ati-mode = <5>;
861
862 event-touch {
863 linux,code = <KEY_MUTE>;
864 };
865 };
866
867 channel-7 {
868 azoteq,global-halt;
869 azoteq,invert-enable;
870 azoteq,rx-enable = <6>;
871 azoteq,ati-target = <496>;
872 azoteq,ati-base = <160>;
873 azoteq,ati-mode = <5>;
874
875 event-touch {
876 linux,code = <KEY_VOLUMEDOWN>;
877 };
878 };
879
880 channel-8 {
881 azoteq,global-halt;
882 azoteq,invert-enable;
883 azoteq,rx-enable = <6>;
884 azoteq,ati-target = <496>;
885 azoteq,ati-base = <160>;
886 azoteq,ati-mode = <5>;
887
888 event-touch {
889 linux,code = <KEY_VOLUMEUP>;
890 };
891 };
892
893 channel-9 {
894 azoteq,global-halt;
895 azoteq,invert-enable;
896 azoteq,rx-enable = <6>;
897 azoteq,ati-target = <496>;
898 azoteq,ati-base = <160>;
899 azoteq,ati-mode = <5>;
900
901 event-touch {
902 linux,code = <KEY_POWER>;
903 };
904 };
905
906 channel-10 {
907 azoteq,ulp-allow;
908 azoteq,ati-target = <496>;
909 azoteq,ati-base = <112>;
910
911 event-touch {
912 linux,code = <SW_LID>;
913 linux,input-type = <EV_SW>;
914 };
915 };
916
917 channel-11 {
918 azoteq,ati-target = <496>;
919 azoteq,ati-base = <112>;
920 };
921
922 slider-0 {
923 azoteq,channel-select = <1>, <2>, <3>, <4>;
924 azoteq,slider-size = <4080>;
925 azoteq,upper-cal = <50>;
926 azoteq,lower-cal = <30>;
927 azoteq,top-speed = <200>;
928 azoteq,bottom-speed = <1>;
929 azoteq,bottom-beta = <3>;
930
931 event-tap {
932 linux,code = <KEY_PLAYPAUSE>;
933 azoteq,gesture-max-ms = <400>;
934 azoteq,gesture-min-ms = <32>;
935 };
936
937 event-flick-pos {
938 linux,code = <KEY_NEXTSONG>;
939 azoteq,gesture-max-ms = <800>;
940 azoteq,gesture-dist = <800>;
941 };
942
943 event-flick-neg {
944 linux,code = <KEY_PREVIOUSSONG>;
945 };
946 };
947 };
948 };
949
950...