Back to home page

OSCL-LXR

 
 

    


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 ...