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 description: 421 Represents a proximity or touch event reported by the channel. 422 423 properties: 424 azoteq,gpio-select: 425 $ref: /schemas/types.yaml#/definitions/uint32-array 426 minItems: 1 427 maxItems: 3 428 items: 429 minimum: 0 430 maximum: 2 431 description: | 432 Specifies one or more GPIO mapped to the event as follows: 433 0: GPIO0 434 1: GPIO3 (IQS7222C only) 435 2: GPIO4 (IQS7222C only) 436 437 Note that although multiple events can be mapped to a single 438 GPIO, they must all be of the same type (proximity, touch or 439 slider gesture). 440 441 azoteq,thresh: 442 $ref: /schemas/types.yaml#/definitions/uint32 443 description: 444 Specifies the threshold for the event. Valid entries range from 445 0-127 and 0-255 for proximity and touch events, respectively. 446 447 azoteq,hyst: 448 $ref: /schemas/types.yaml#/definitions/uint32 449 minimum: 0 450 maximum: 255 451 description: 452 Specifies the hysteresis for the event (touch events only). 453 454 azoteq,timeout-press-ms: 455 multipleOf: 500 456 minimum: 0 457 maximum: 127500 458 description: 459 Specifies the length of time (in ms) to wait before automatically 460 releasing a press event. Specify zero to allow the press state to 461 persist indefinitely. 462 463 The IQS7222B does not feature channel-specific timeouts; the time- 464 out specified for any one channel applies to all channels. 465 466 linux,code: 467 $ref: /schemas/types.yaml#/definitions/uint32 468 description: 469 Numeric key or switch code associated with the event. Specify 470 KEY_RESERVED (0) to opt out of event reporting. 471 472 linux,input-type: 473 $ref: /schemas/types.yaml#/definitions/uint32 474 enum: [1, 5] 475 default: 1 476 description: 477 Specifies whether the event is to be interpreted as a key (1) 478 or a switch (5). 479 480 required: 481 - linux,code 482 483 additionalProperties: false 484 485 dependencies: 486 azoteq,ref-weight: ["azoteq,ref-select"] 487 azoteq,use-prox: ["azoteq,ref-select"] 488 489 additionalProperties: false 490 491 "^slider-[0-1]$": 492 type: object 493 description: Represents a slider comprising three or four channels. 494 495 properties: 496 azoteq,channel-select: 497 $ref: /schemas/types.yaml#/definitions/uint32-array 498 minItems: 3 499 maxItems: 4 500 items: 501 minimum: 0 502 maximum: 9 503 description: 504 Specifies the order of the channels that participate in the slider. 505 506 azoteq,slider-size: 507 $ref: /schemas/types.yaml#/definitions/uint32 508 minimum: 0 509 maximum: 65535 510 description: 511 Specifies the slider's one-dimensional resolution, equal to the 512 maximum coordinate plus one. 513 514 azoteq,lower-cal: 515 $ref: /schemas/types.yaml#/definitions/uint32 516 minimum: 0 517 maximum: 255 518 description: Specifies the slider's lower starting point. 519 520 azoteq,upper-cal: 521 $ref: /schemas/types.yaml#/definitions/uint32 522 minimum: 0 523 maximum: 255 524 description: Specifies the slider's upper starting point. 525 526 azoteq,top-speed: 527 $ref: /schemas/types.yaml#/definitions/uint32 528 minimum: 0 529 maximum: 65535 530 description: 531 Specifies the speed of movement after which coordinate filtering is 532 no longer applied. 533 534 azoteq,bottom-speed: 535 $ref: /schemas/types.yaml#/definitions/uint32 536 minimum: 0 537 maximum: 255 538 description: 539 Specifies the speed of movement after which coordinate filtering is 540 linearly reduced. 541 542 azoteq,bottom-beta: 543 $ref: /schemas/types.yaml#/definitions/uint32 544 minimum: 0 545 maximum: 7 546 description: 547 Specifies the coordinate filter damping factor to be applied 548 while the speed of movement is below that which is specified 549 by azoteq,bottom-speed. 550 551 azoteq,static-beta: 552 type: boolean 553 description: 554 Applies the coordinate filter damping factor specified by 555 azoteq,bottom-beta regardless of the speed of movement. 556 557 azoteq,use-prox: 558 type: boolean 559 description: 560 Directs the slider to respond to the proximity states of the selected 561 channels instead of their corresponding touch states. Note the slider 562 cannot report granular coordinates during a state of proximity. 563 564 linux,axis: 565 $ref: /schemas/types.yaml#/definitions/uint32 566 description: 567 Specifies the absolute axis to which coordinates are mapped. Specify 568 ABS_WHEEL to operate the slider as a wheel (IQS7222C only). 569 570 patternProperties: 571 "^event-(press|tap|(swipe|flick)-(pos|neg))$": 572 type: object 573 description: 574 Represents a press or gesture (IQS7222A only) event reported by 575 the slider. 576 577 properties: 578 linux,code: 579 $ref: /schemas/types.yaml#/definitions/uint32 580 description: Numeric key code associated with the event. 581 582 azoteq,gesture-max-ms: 583 multipleOf: 4 584 minimum: 0 585 maximum: 1020 586 description: 587 Specifies the length of time (in ms) within which a tap, swipe 588 or flick gesture must be completed in order to be acknowledged 589 by the device. The number specified for any one swipe or flick 590 gesture applies to all remaining swipe or flick gestures. 591 592 azoteq,gesture-min-ms: 593 multipleOf: 4 594 minimum: 0 595 maximum: 124 596 description: 597 Specifies the length of time (in ms) for which a tap gesture must 598 be held in order to be acknowledged by the device. 599 600 azoteq,gesture-dist: 601 $ref: /schemas/types.yaml#/definitions/uint32 602 multipleOf: 16 603 minimum: 0 604 maximum: 4080 605 description: 606 Specifies the distance across which a swipe or flick gesture must 607 travel in order to be acknowledged by the device. The number spec- 608 ified for any one swipe or flick gesture applies to all remaining 609 swipe or flick gestures. 610 611 azoteq,gpio-select: 612 $ref: /schemas/types.yaml#/definitions/uint32-array 613 minItems: 1 614 maxItems: 3 615 items: 616 minimum: 0 617 maximum: 2 618 description: | 619 Specifies one or more GPIO mapped to the event as follows: 620 0: GPIO0 621 1: GPIO3 (IQS7222C only) 622 2: GPIO4 (IQS7222C only) 623 624 Note that although multiple events can be mapped to a single 625 GPIO, they must all be of the same type (proximity, touch or 626 slider gesture). 627 628 required: 629 - linux,code 630 631 additionalProperties: false 632 633 required: 634 - azoteq,channel-select 635 636 additionalProperties: false 637 638 "^gpio-[0-2]$": 639 type: object 640 description: | 641 Represents a GPIO mapped to one or more events as follows: 642 gpio-0: GPIO0 643 gpio-1: GPIO3 (IQS7222C only) 644 gpio-2: GPIO4 (IQS7222C only) 645 646 allOf: 647 - $ref: ../pinctrl/pincfg-node.yaml# 648 649 properties: 650 drive-open-drain: true 651 652 additionalProperties: false 653 654allOf: 655 - if: 656 properties: 657 compatible: 658 contains: 659 const: azoteq,iqs7222b 660 661 then: 662 patternProperties: 663 "^cycle-[0-9]$": 664 properties: 665 azoteq,iref-enable: false 666 667 "^channel-([0-9]|1[0-9])$": 668 properties: 669 azoteq,ref-select: false 670 671 patternProperties: 672 "^event-(prox|touch)$": 673 properties: 674 azoteq,gpio-select: false 675 676 "^slider-[0-1]$": false 677 678 "^gpio-[0-2]$": false 679 680 - if: 681 properties: 682 compatible: 683 contains: 684 const: azoteq,iqs7222a 685 686 then: 687 patternProperties: 688 "^channel-([0-9]|1[0-9])$": 689 patternProperties: 690 "^event-(prox|touch)$": 691 properties: 692 azoteq,gpio-select: 693 maxItems: 1 694 items: 695 maximum: 0 696 697 "^slider-[0-1]$": 698 properties: 699 azoteq,slider-size: 700 multipleOf: 16 701 maximum: 4080 702 703 azoteq,top-speed: 704 multipleOf: 4 705 maximum: 1020 706 707 patternProperties: 708 "^event-(press|tap|(swipe|flick)-(pos|neg))$": 709 properties: 710 azoteq,gpio-select: 711 maxItems: 1 712 items: 713 maximum: 0 714 715 else: 716 patternProperties: 717 "^channel-([0-9]|1[0-9])$": 718 properties: 719 azoteq,ulp-allow: false 720 721 "^slider-[0-1]$": 722 patternProperties: 723 "^event-(press|tap|(swipe|flick)-(pos|neg))$": 724 properties: 725 azoteq,gesture-max-ms: false 726 727 azoteq,gesture-min-ms: false 728 729 azoteq,gesture-dist: 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