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