0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Azoteq IQS7222A/B/C Capacitive Touch Controller
0008
0009 maintainers:
0010 - Jeff LaBundy <jeff@labundy.com>
0011
0012 description: |
0013 The Azoteq IQS7222A, IQS7222B and IQS7222C are multichannel capacitive touch
0014 controllers that feature additional sensing capabilities.
0015
0016 Link to datasheets: https://www.azoteq.com/
0017
0018 properties:
0019 compatible:
0020 enum:
0021 - azoteq,iqs7222a
0022 - azoteq,iqs7222b
0023 - azoteq,iqs7222c
0024
0025 reg:
0026 maxItems: 1
0027
0028 irq-gpios:
0029 maxItems: 1
0030 description:
0031 Specifies the GPIO connected to the device's active-low RDY output.
0032
0033 reset-gpios:
0034 maxItems: 1
0035 description:
0036 Specifies the GPIO connected to the device's active-low MCLR input. The
0037 device is temporarily held in hardware reset prior to initialization if
0038 this property is present.
0039
0040 azoteq,max-counts:
0041 $ref: /schemas/types.yaml#/definitions/uint32
0042 enum: [0, 1, 2, 3]
0043 description: |
0044 Specifies the maximum number of conversion periods (counts) that can be
0045 reported as follows:
0046 0: 1023
0047 1: 2047
0048 2: 4095
0049 3: 16384
0050
0051 azoteq,auto-mode:
0052 $ref: /schemas/types.yaml#/definitions/uint32
0053 enum: [0, 1, 2, 3]
0054 description: |
0055 Specifies the number of conversions to occur before an interrupt is
0056 generated as follows:
0057 0: 4
0058 1: 8
0059 2: 16
0060 3: 32
0061
0062 azoteq,ati-frac-div-fine:
0063 $ref: /schemas/types.yaml#/definitions/uint32
0064 minimum: 0
0065 maximum: 31
0066 description: Specifies the preloaded ATI fine fractional divider.
0067
0068 azoteq,ati-frac-div-coarse:
0069 $ref: /schemas/types.yaml#/definitions/uint32
0070 minimum: 0
0071 maximum: 31
0072 description: Specifies the preloaded ATI coarse fractional divider.
0073
0074 azoteq,ati-comp-select:
0075 $ref: /schemas/types.yaml#/definitions/uint32
0076 minimum: 0
0077 maximum: 1023
0078 description: Specifies the preloaded ATI compensation selection.
0079
0080 azoteq,lta-beta-lp:
0081 $ref: /schemas/types.yaml#/definitions/uint32
0082 minimum: 0
0083 maximum: 15
0084 description:
0085 Specifies the long-term average filter damping factor to be applied during
0086 low-power mode.
0087
0088 azoteq,lta-beta-np:
0089 $ref: /schemas/types.yaml#/definitions/uint32
0090 minimum: 0
0091 maximum: 15
0092 description:
0093 Specifies the long-term average filter damping factor to be applied during
0094 normal-power mode.
0095
0096 azoteq,counts-beta-lp:
0097 $ref: /schemas/types.yaml#/definitions/uint32
0098 minimum: 0
0099 maximum: 15
0100 description:
0101 Specifies the counts filter damping factor to be applied during low-power
0102 mode.
0103
0104 azoteq,counts-beta-np:
0105 $ref: /schemas/types.yaml#/definitions/uint32
0106 minimum: 0
0107 maximum: 15
0108 description:
0109 Specifies the counts filter damping factor to be applied during normal-
0110 power mode.
0111
0112 azoteq,lta-fast-beta-lp:
0113 $ref: /schemas/types.yaml#/definitions/uint32
0114 minimum: 0
0115 maximum: 15
0116 description:
0117 Specifies the long-term average filter fast damping factor to be applied
0118 during low-power mode.
0119
0120 azoteq,lta-fast-beta-np:
0121 $ref: /schemas/types.yaml#/definitions/uint32
0122 minimum: 0
0123 maximum: 15
0124 description:
0125 Specifies the long-term average filter fast damping factor to be applied
0126 during normal-power mode.
0127
0128 azoteq,timeout-ati-ms:
0129 multipleOf: 500
0130 minimum: 0
0131 maximum: 32767500
0132 description:
0133 Specifies the delay (in ms) before ATI is retried following an ATI error.
0134
0135 azoteq,rate-ati-ms:
0136 minimum: 0
0137 maximum: 65535
0138 description: Specifies the rate (in ms) at which ATI status is evaluated.
0139
0140 azoteq,timeout-np-ms:
0141 minimum: 0
0142 maximum: 65535
0143 description:
0144 Specifies the length of time (in ms) to wait for an event before moving
0145 from normal-power mode to low-power mode.
0146
0147 azoteq,rate-np-ms:
0148 minimum: 0
0149 maximum: 3000
0150 description: Specifies the report rate (in ms) during normal-power mode.
0151
0152 azoteq,timeout-lp-ms:
0153 minimum: 0
0154 maximum: 65535
0155 description:
0156 Specifies the length of time (in ms) to wait for an event before moving
0157 from low-power mode to ultra-low-power mode.
0158
0159 azoteq,rate-lp-ms:
0160 minimum: 0
0161 maximum: 3000
0162 description: Specifies the report rate (in ms) during low-power mode.
0163
0164 azoteq,timeout-ulp-ms:
0165 minimum: 0
0166 maximum: 65535
0167 description:
0168 Specifies the rate (in ms) at which channels not regularly sampled during
0169 ultra-low-power mode are updated.
0170
0171 azoteq,rate-ulp-ms:
0172 minimum: 0
0173 maximum: 3000
0174 description: Specifies the report rate (in ms) during ultra-low-power mode.
0175
0176 patternProperties:
0177 "^cycle-[0-9]$":
0178 type: object
0179 description: Represents a conversion cycle serving two sensing channels.
0180
0181 properties:
0182 azoteq,conv-period:
0183 $ref: /schemas/types.yaml#/definitions/uint32
0184 minimum: 0
0185 maximum: 255
0186 description: Specifies the cycle's conversion period.
0187
0188 azoteq,conv-frac:
0189 $ref: /schemas/types.yaml#/definitions/uint32
0190 minimum: 0
0191 maximum: 255
0192 description: Specifies the cycle's conversion frequency fraction.
0193
0194 azoteq,tx-enable:
0195 $ref: /schemas/types.yaml#/definitions/uint32-array
0196 minItems: 1
0197 maxItems: 9
0198 items:
0199 minimum: 0
0200 maximum: 8
0201 description: Specifies the CTx pin(s) associated with the cycle.
0202
0203 azoteq,rx-float-inactive:
0204 type: boolean
0205 description: Floats any inactive CRx pins instead of grounding them.
0206
0207 azoteq,dead-time-enable:
0208 type: boolean
0209 description:
0210 Increases the denominator of the conversion frequency formula by one.
0211
0212 azoteq,tx-freq-fosc:
0213 type: boolean
0214 description:
0215 Fixes the conversion frequency to that of the device's core clock.
0216
0217 azoteq,vbias-enable:
0218 type: boolean
0219 description: Enables the bias voltage for use during inductive sensing.
0220
0221 azoteq,sense-mode:
0222 $ref: /schemas/types.yaml#/definitions/uint32
0223 enum: [0, 1, 2, 3]
0224 description: |
0225 Specifies the cycle's sensing mode as follows:
0226 0: None
0227 1: Self capacitive
0228 2: Mutual capacitive
0229 3: Inductive
0230
0231 Note that in the case of IQS7222A, cycles 5 and 6 are restricted to
0232 Hall-effect sensing.
0233
0234 azoteq,iref-enable:
0235 type: boolean
0236 description:
0237 Enables the current reference for use during various sensing modes.
0238
0239 azoteq,iref-level:
0240 $ref: /schemas/types.yaml#/definitions/uint32
0241 minimum: 0
0242 maximum: 15
0243 description: Specifies the cycle's current reference level.
0244
0245 azoteq,iref-trim:
0246 $ref: /schemas/types.yaml#/definitions/uint32
0247 minimum: 0
0248 maximum: 15
0249 description: Specifies the cycle's current reference trim.
0250
0251 dependencies:
0252 azoteq,iref-level: ["azoteq,iref-enable"]
0253 azoteq,iref-trim: ["azoteq,iref-enable"]
0254
0255 additionalProperties: false
0256
0257 "^channel-([0-9]|1[0-9])$":
0258 type: object
0259 description:
0260 Represents a single sensing channel. A channel is active if defined and
0261 inactive otherwise.
0262
0263 Note that in the case of IQS7222A, channels 10 and 11 are restricted to
0264 Hall-effect sensing with events reported on channel 10 only.
0265
0266 properties:
0267 azoteq,ulp-allow:
0268 type: boolean
0269 description:
0270 Permits the device to enter ultra-low-power mode while the channel
0271 lies in a state of touch or proximity.
0272
0273 azoteq,ref-select:
0274 $ref: /schemas/types.yaml#/definitions/uint32
0275 minimum: 0
0276 maximum: 9
0277 description: Specifies a separate reference channel to be followed.
0278
0279 azoteq,ref-weight:
0280 $ref: /schemas/types.yaml#/definitions/uint32
0281 minimum: 0
0282 maximum: 65535
0283 description: Specifies the relative weight of the reference channel.
0284
0285 azoteq,use-prox:
0286 type: boolean
0287 description:
0288 Activates the reference channel in response to proximity events
0289 instead of touch events.
0290
0291 azoteq,ati-band:
0292 $ref: /schemas/types.yaml#/definitions/uint32
0293 enum: [0, 1, 2, 3]
0294 description: |
0295 Specifies the channel's ATI band as a fraction of its ATI target as
0296 follows:
0297 0: 1/16
0298 1: 1/8
0299 2: 1/4
0300 3: 1/2
0301
0302 azoteq,global-halt:
0303 type: boolean
0304 description:
0305 Specifies that the channel's long-term average is to freeze if any
0306 other participating channel lies in a proximity or touch state.
0307
0308 azoteq,invert-enable:
0309 type: boolean
0310 description:
0311 Inverts the polarity of the states reported for proximity and touch
0312 events relative to their respective thresholds.
0313
0314 azoteq,dual-direction:
0315 type: boolean
0316 description:
0317 Specifies that the channel's long-term average is to freeze in the
0318 presence of either increasing or decreasing counts, thereby permit-
0319 ting events to be reported in either direction.
0320
0321 azoteq,rx-enable:
0322 $ref: /schemas/types.yaml#/definitions/uint32-array
0323 minItems: 1
0324 maxItems: 4
0325 items:
0326 minimum: 0
0327 maximum: 7
0328 description: Specifies the CRx pin(s) associated with the channel.
0329
0330 azoteq,samp-cap-double:
0331 type: boolean
0332 description: Doubles the sampling capacitance from 40 pF to 80 pF.
0333
0334 azoteq,vref-half:
0335 type: boolean
0336 description: Halves the discharge threshold from 1.0 V to 0.5 V.
0337
0338 azoteq,proj-bias:
0339 $ref: /schemas/types.yaml#/definitions/uint32
0340 enum: [0, 1, 2, 3]
0341 description: |
0342 Specifies the bias current applied during mutual (projected)
0343 capacitive sensing as follows:
0344 0: 2 uA
0345 1: 5 uA
0346 2: 7 uA
0347 3: 10 uA
0348
0349 azoteq,ati-target:
0350 $ref: /schemas/types.yaml#/definitions/uint32
0351 multipleOf: 8
0352 minimum: 0
0353 maximum: 2040
0354 description: Specifies the channel's ATI target.
0355
0356 azoteq,ati-base:
0357 $ref: /schemas/types.yaml#/definitions/uint32
0358 multipleOf: 16
0359 minimum: 0
0360 maximum: 496
0361 description: Specifies the channel's ATI base.
0362
0363 azoteq,ati-mode:
0364 $ref: /schemas/types.yaml#/definitions/uint32
0365 enum: [0, 1, 2, 3, 4, 5]
0366 description: |
0367 Specifies the channel's ATI mode as follows:
0368 0: Disabled
0369 1: Compensation
0370 2: Compensation divider
0371 3: Fine fractional divider
0372 4: Coarse fractional divider
0373 5: Full
0374
0375 azoteq,ati-frac-div-fine:
0376 $ref: /schemas/types.yaml#/definitions/uint32
0377 minimum: 0
0378 maximum: 31
0379 description: Specifies the channel's ATI fine fractional divider.
0380
0381 azoteq,ati-frac-mult-coarse:
0382 $ref: /schemas/types.yaml#/definitions/uint32
0383 minimum: 0
0384 maximum: 15
0385 description: Specifies the channel's ATI coarse fractional multiplier.
0386
0387 azoteq,ati-frac-div-coarse:
0388 $ref: /schemas/types.yaml#/definitions/uint32
0389 minimum: 0
0390 maximum: 31
0391 description: Specifies the channel's ATI coarse fractional divider.
0392
0393 azoteq,ati-comp-div:
0394 $ref: /schemas/types.yaml#/definitions/uint32
0395 minimum: 0
0396 maximum: 31
0397 description: Specifies the channel's ATI compensation divider.
0398
0399 azoteq,ati-comp-select:
0400 $ref: /schemas/types.yaml#/definitions/uint32
0401 minimum: 0
0402 maximum: 1023
0403 description: Specifies the channel's ATI compensation selection.
0404
0405 azoteq,debounce-enter:
0406 $ref: /schemas/types.yaml#/definitions/uint32
0407 minimum: 0
0408 maximum: 15
0409 description: Specifies the channel's debounce entrance factor.
0410
0411 azoteq,debounce-exit:
0412 $ref: /schemas/types.yaml#/definitions/uint32
0413 minimum: 0
0414 maximum: 15
0415 description: Specifies the channel's debounce exit factor.
0416
0417 patternProperties:
0418 "^event-(prox|touch)$":
0419 type: object
0420 $ref: input.yaml#
0421 description:
0422 Represents a proximity or touch event reported by the channel.
0423
0424 properties:
0425 azoteq,gpio-select:
0426 $ref: /schemas/types.yaml#/definitions/uint32-array
0427 minItems: 1
0428 maxItems: 3
0429 items:
0430 minimum: 0
0431 maximum: 2
0432 description: |
0433 Specifies one or more GPIO mapped to the event as follows:
0434 0: GPIO0
0435 1: GPIO3 (IQS7222C only)
0436 2: GPIO4 (IQS7222C only)
0437
0438 Note that although multiple events can be mapped to a single
0439 GPIO, they must all be of the same type (proximity, touch or
0440 slider gesture).
0441
0442 azoteq,thresh:
0443 $ref: /schemas/types.yaml#/definitions/uint32
0444 description:
0445 Specifies the threshold for the event. Valid entries range from
0446 0-127 and 0-255 for proximity and touch events, respectively.
0447
0448 azoteq,hyst:
0449 $ref: /schemas/types.yaml#/definitions/uint32
0450 minimum: 0
0451 maximum: 255
0452 description:
0453 Specifies the hysteresis for the event (touch events only).
0454
0455 azoteq,timeout-press-ms:
0456 multipleOf: 500
0457 minimum: 0
0458 maximum: 127500
0459 description:
0460 Specifies the length of time (in ms) to wait before automatically
0461 releasing a press event. Specify zero to allow the press state to
0462 persist indefinitely.
0463
0464 The IQS7222B does not feature channel-specific timeouts; the time-
0465 out specified for any one channel applies to all channels.
0466
0467 linux,code: true
0468
0469 linux,input-type:
0470 enum: [1, 5]
0471 default: 1
0472 description:
0473 Specifies whether the event is to be interpreted as a key (1)
0474 or a switch (5).
0475
0476 required:
0477 - linux,code
0478
0479 additionalProperties: false
0480
0481 dependencies:
0482 azoteq,ref-weight: ["azoteq,ref-select"]
0483 azoteq,use-prox: ["azoteq,ref-select"]
0484
0485 additionalProperties: false
0486
0487 "^slider-[0-1]$":
0488 type: object
0489 description: Represents a slider comprising three or four channels.
0490
0491 properties:
0492 azoteq,channel-select:
0493 $ref: /schemas/types.yaml#/definitions/uint32-array
0494 minItems: 3
0495 maxItems: 4
0496 items:
0497 minimum: 0
0498 maximum: 9
0499 description:
0500 Specifies the order of the channels that participate in the slider.
0501
0502 azoteq,slider-size:
0503 $ref: /schemas/types.yaml#/definitions/uint32
0504 minimum: 0
0505 maximum: 65535
0506 description:
0507 Specifies the slider's one-dimensional resolution, equal to the
0508 maximum coordinate plus one.
0509
0510 azoteq,lower-cal:
0511 $ref: /schemas/types.yaml#/definitions/uint32
0512 minimum: 0
0513 maximum: 255
0514 description: Specifies the slider's lower starting point.
0515
0516 azoteq,upper-cal:
0517 $ref: /schemas/types.yaml#/definitions/uint32
0518 minimum: 0
0519 maximum: 255
0520 description: Specifies the slider's upper starting point.
0521
0522 azoteq,top-speed:
0523 $ref: /schemas/types.yaml#/definitions/uint32
0524 minimum: 0
0525 maximum: 65535
0526 description:
0527 Specifies the speed of movement after which coordinate filtering is
0528 no longer applied.
0529
0530 azoteq,bottom-speed:
0531 $ref: /schemas/types.yaml#/definitions/uint32
0532 minimum: 0
0533 maximum: 255
0534 description:
0535 Specifies the speed of movement after which coordinate filtering is
0536 linearly reduced.
0537
0538 azoteq,bottom-beta:
0539 $ref: /schemas/types.yaml#/definitions/uint32
0540 minimum: 0
0541 maximum: 7
0542 description:
0543 Specifies the coordinate filter damping factor to be applied
0544 while the speed of movement is below that which is specified
0545 by azoteq,bottom-speed.
0546
0547 azoteq,static-beta:
0548 type: boolean
0549 description:
0550 Applies the coordinate filter damping factor specified by
0551 azoteq,bottom-beta regardless of the speed of movement.
0552
0553 azoteq,use-prox:
0554 type: boolean
0555 description:
0556 Directs the slider to respond to the proximity states of the selected
0557 channels instead of their corresponding touch states. Note the slider
0558 cannot report granular coordinates during a state of proximity.
0559
0560 linux,axis:
0561 $ref: /schemas/types.yaml#/definitions/uint32
0562 description:
0563 Specifies the absolute axis to which coordinates are mapped. Specify
0564 ABS_WHEEL to operate the slider as a wheel (IQS7222C only).
0565
0566 patternProperties:
0567 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
0568 type: object
0569 $ref: input.yaml#
0570 description:
0571 Represents a press or gesture (IQS7222A only) event reported by
0572 the slider.
0573
0574 properties:
0575 linux,code: true
0576
0577 azoteq,gesture-max-ms:
0578 multipleOf: 4
0579 minimum: 0
0580 maximum: 1020
0581 description:
0582 Specifies the length of time (in ms) within which a tap, swipe
0583 or flick gesture must be completed in order to be acknowledged
0584 by the device. The number specified for any one swipe or flick
0585 gesture applies to all remaining swipe or flick gestures.
0586
0587 azoteq,gesture-min-ms:
0588 multipleOf: 4
0589 minimum: 0
0590 maximum: 124
0591 description:
0592 Specifies the length of time (in ms) for which a tap gesture must
0593 be held in order to be acknowledged by the device.
0594
0595 azoteq,gesture-dist:
0596 $ref: /schemas/types.yaml#/definitions/uint32
0597 multipleOf: 16
0598 minimum: 0
0599 maximum: 4080
0600 description:
0601 Specifies the distance across which a swipe or flick gesture must
0602 travel in order to be acknowledged by the device. The number spec-
0603 ified for any one swipe or flick gesture applies to all remaining
0604 swipe or flick gestures.
0605
0606 azoteq,gpio-select:
0607 $ref: /schemas/types.yaml#/definitions/uint32-array
0608 minItems: 1
0609 maxItems: 3
0610 items:
0611 minimum: 0
0612 maximum: 2
0613 description: |
0614 Specifies one or more GPIO mapped to the event as follows:
0615 0: GPIO0
0616 1: GPIO3 (IQS7222C only)
0617 2: GPIO4 (IQS7222C only)
0618
0619 Note that although multiple events can be mapped to a single
0620 GPIO, they must all be of the same type (proximity, touch or
0621 slider gesture).
0622
0623 required:
0624 - linux,code
0625
0626 additionalProperties: false
0627
0628 required:
0629 - azoteq,channel-select
0630
0631 additionalProperties: false
0632
0633 "^gpio-[0-2]$":
0634 type: object
0635 description: |
0636 Represents a GPIO mapped to one or more events as follows:
0637 gpio-0: GPIO0
0638 gpio-1: GPIO3 (IQS7222C only)
0639 gpio-2: GPIO4 (IQS7222C only)
0640
0641 allOf:
0642 - $ref: ../pinctrl/pincfg-node.yaml#
0643
0644 properties:
0645 drive-open-drain: true
0646
0647 additionalProperties: false
0648
0649 allOf:
0650 - if:
0651 properties:
0652 compatible:
0653 contains:
0654 const: azoteq,iqs7222b
0655
0656 then:
0657 patternProperties:
0658 "^cycle-[0-9]$":
0659 properties:
0660 azoteq,iref-enable: false
0661
0662 "^channel-([0-9]|1[0-9])$":
0663 properties:
0664 azoteq,ref-select: false
0665
0666 patternProperties:
0667 "^event-(prox|touch)$":
0668 properties:
0669 azoteq,gpio-select: false
0670
0671 "^slider-[0-1]$": false
0672
0673 "^gpio-[0-2]$": false
0674
0675 - if:
0676 properties:
0677 compatible:
0678 contains:
0679 const: azoteq,iqs7222a
0680
0681 then:
0682 patternProperties:
0683 "^channel-([0-9]|1[0-9])$":
0684 patternProperties:
0685 "^event-(prox|touch)$":
0686 properties:
0687 azoteq,gpio-select:
0688 maxItems: 1
0689 items:
0690 maximum: 0
0691
0692 "^slider-[0-1]$":
0693 properties:
0694 azoteq,slider-size:
0695 multipleOf: 16
0696 maximum: 4080
0697
0698 azoteq,top-speed:
0699 multipleOf: 4
0700 maximum: 1020
0701
0702 patternProperties:
0703 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
0704 properties:
0705 azoteq,gpio-select:
0706 maxItems: 1
0707 items:
0708 maximum: 0
0709
0710 else:
0711 patternProperties:
0712 "^channel-([0-9]|1[0-9])$":
0713 properties:
0714 azoteq,ulp-allow: false
0715
0716 "^slider-[0-1]$":
0717 patternProperties:
0718 "^event-(press|tap|(swipe|flick)-(pos|neg))$":
0719 properties:
0720 azoteq,gesture-max-ms: false
0721
0722 azoteq,gesture-min-ms: false
0723
0724 azoteq,gesture-dist: false
0725
0726 required:
0727 - compatible
0728 - reg
0729 - irq-gpios
0730
0731 additionalProperties: false
0732
0733 examples:
0734 - |
0735 #include <dt-bindings/gpio/gpio.h>
0736 #include <dt-bindings/input/input.h>
0737
0738 i2c {
0739 #address-cells = <1>;
0740 #size-cells = <0>;
0741
0742 iqs7222a@44 {
0743 compatible = "azoteq,iqs7222a";
0744 reg = <0x44>;
0745 irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
0746 azoteq,lta-beta-lp = <7>;
0747 azoteq,lta-beta-np = <8>;
0748 azoteq,counts-beta-lp = <2>;
0749 azoteq,counts-beta-np = <3>;
0750 azoteq,lta-fast-beta-lp = <3>;
0751 azoteq,lta-fast-beta-np = <4>;
0752
0753 cycle-0 {
0754 azoteq,conv-period = <5>;
0755 azoteq,conv-frac = <127>;
0756 azoteq,tx-enable = <1>, <2>, <4>, <5>;
0757 azoteq,dead-time-enable;
0758 azoteq,sense-mode = <2>;
0759 };
0760
0761 cycle-1 {
0762 azoteq,conv-period = <5>;
0763 azoteq,conv-frac = <127>;
0764 azoteq,tx-enable = <5>;
0765 azoteq,dead-time-enable;
0766 azoteq,sense-mode = <2>;
0767 };
0768
0769 cycle-2 {
0770 azoteq,conv-period = <5>;
0771 azoteq,conv-frac = <127>;
0772 azoteq,tx-enable = <4>;
0773 azoteq,dead-time-enable;
0774 azoteq,sense-mode = <2>;
0775 };
0776
0777 cycle-3 {
0778 azoteq,conv-period = <5>;
0779 azoteq,conv-frac = <127>;
0780 azoteq,tx-enable = <2>;
0781 azoteq,dead-time-enable;
0782 azoteq,sense-mode = <2>;
0783 };
0784
0785 cycle-4 {
0786 azoteq,conv-period = <5>;
0787 azoteq,conv-frac = <127>;
0788 azoteq,tx-enable = <1>;
0789 azoteq,dead-time-enable;
0790 azoteq,sense-mode = <2>;
0791 };
0792
0793 cycle-5 {
0794 azoteq,conv-period = <2>;
0795 azoteq,conv-frac = <0>;
0796 };
0797
0798 cycle-6 {
0799 azoteq,conv-period = <2>;
0800 azoteq,conv-frac = <0>;
0801 };
0802
0803 channel-0 {
0804 azoteq,ulp-allow;
0805 azoteq,global-halt;
0806 azoteq,invert-enable;
0807 azoteq,rx-enable = <3>;
0808 azoteq,ati-target = <800>;
0809 azoteq,ati-base = <208>;
0810 azoteq,ati-mode = <5>;
0811 };
0812
0813 channel-1 {
0814 azoteq,global-halt;
0815 azoteq,invert-enable;
0816 azoteq,rx-enable = <3>;
0817 azoteq,ati-target = <496>;
0818 azoteq,ati-base = <208>;
0819 azoteq,ati-mode = <5>;
0820 };
0821
0822 channel-2 {
0823 azoteq,global-halt;
0824 azoteq,invert-enable;
0825 azoteq,rx-enable = <3>;
0826 azoteq,ati-target = <496>;
0827 azoteq,ati-base = <208>;
0828 azoteq,ati-mode = <5>;
0829 };
0830
0831 channel-3 {
0832 azoteq,global-halt;
0833 azoteq,invert-enable;
0834 azoteq,rx-enable = <3>;
0835 azoteq,ati-target = <496>;
0836 azoteq,ati-base = <208>;
0837 azoteq,ati-mode = <5>;
0838 };
0839
0840 channel-4 {
0841 azoteq,global-halt;
0842 azoteq,invert-enable;
0843 azoteq,rx-enable = <3>;
0844 azoteq,ati-target = <496>;
0845 azoteq,ati-base = <208>;
0846 azoteq,ati-mode = <5>;
0847 };
0848
0849 channel-5 {
0850 azoteq,ulp-allow;
0851 azoteq,global-halt;
0852 azoteq,invert-enable;
0853 azoteq,rx-enable = <6>;
0854 azoteq,ati-target = <800>;
0855 azoteq,ati-base = <144>;
0856 azoteq,ati-mode = <5>;
0857 };
0858
0859 channel-6 {
0860 azoteq,global-halt;
0861 azoteq,invert-enable;
0862 azoteq,rx-enable = <6>;
0863 azoteq,ati-target = <496>;
0864 azoteq,ati-base = <160>;
0865 azoteq,ati-mode = <5>;
0866
0867 event-touch {
0868 linux,code = <KEY_MUTE>;
0869 };
0870 };
0871
0872 channel-7 {
0873 azoteq,global-halt;
0874 azoteq,invert-enable;
0875 azoteq,rx-enable = <6>;
0876 azoteq,ati-target = <496>;
0877 azoteq,ati-base = <160>;
0878 azoteq,ati-mode = <5>;
0879
0880 event-touch {
0881 linux,code = <KEY_VOLUMEDOWN>;
0882 };
0883 };
0884
0885 channel-8 {
0886 azoteq,global-halt;
0887 azoteq,invert-enable;
0888 azoteq,rx-enable = <6>;
0889 azoteq,ati-target = <496>;
0890 azoteq,ati-base = <160>;
0891 azoteq,ati-mode = <5>;
0892
0893 event-touch {
0894 linux,code = <KEY_VOLUMEUP>;
0895 };
0896 };
0897
0898 channel-9 {
0899 azoteq,global-halt;
0900 azoteq,invert-enable;
0901 azoteq,rx-enable = <6>;
0902 azoteq,ati-target = <496>;
0903 azoteq,ati-base = <160>;
0904 azoteq,ati-mode = <5>;
0905
0906 event-touch {
0907 linux,code = <KEY_POWER>;
0908 };
0909 };
0910
0911 channel-10 {
0912 azoteq,ulp-allow;
0913 azoteq,ati-target = <496>;
0914 azoteq,ati-base = <112>;
0915
0916 event-touch {
0917 linux,code = <SW_LID>;
0918 linux,input-type = <EV_SW>;
0919 };
0920 };
0921
0922 channel-11 {
0923 azoteq,ati-target = <496>;
0924 azoteq,ati-base = <112>;
0925 };
0926
0927 slider-0 {
0928 azoteq,channel-select = <1>, <2>, <3>, <4>;
0929 azoteq,slider-size = <4080>;
0930 azoteq,upper-cal = <50>;
0931 azoteq,lower-cal = <30>;
0932 azoteq,top-speed = <200>;
0933 azoteq,bottom-speed = <1>;
0934 azoteq,bottom-beta = <3>;
0935
0936 event-tap {
0937 linux,code = <KEY_PLAYPAUSE>;
0938 azoteq,gesture-max-ms = <600>;
0939 azoteq,gesture-min-ms = <24>;
0940 };
0941
0942 event-flick-pos {
0943 linux,code = <KEY_NEXTSONG>;
0944 azoteq,gesture-max-ms = <600>;
0945 azoteq,gesture-dist = <816>;
0946 };
0947
0948 event-flick-neg {
0949 linux,code = <KEY_PREVIOUSSONG>;
0950 };
0951 };
0952 };
0953 };
0954
0955 ...