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