xref: /openbmc/linux/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
144dc42d2SJeff LaBundy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
244dc42d2SJeff LaBundy%YAML 1.2
344dc42d2SJeff LaBundy---
444dc42d2SJeff LaBundy$id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml#
544dc42d2SJeff LaBundy$schema: http://devicetree.org/meta-schemas/core.yaml#
644dc42d2SJeff LaBundy
7*823b28c5SJeff LaBundytitle: Azoteq IQS7222A/B/C/D Capacitive Touch Controller
844dc42d2SJeff LaBundy
944dc42d2SJeff LaBundymaintainers:
1044dc42d2SJeff LaBundy  - Jeff LaBundy <jeff@labundy.com>
1144dc42d2SJeff LaBundy
1244dc42d2SJeff LaBundydescription: |
13*823b28c5SJeff LaBundy  The Azoteq IQS7222A, IQS7222B, IQS7222C and IQS7222D are multichannel
14*823b28c5SJeff LaBundy  capacitive touch controllers that feature additional sensing capabilities.
1544dc42d2SJeff LaBundy
1644dc42d2SJeff LaBundy  Link to datasheets: https://www.azoteq.com/
1744dc42d2SJeff LaBundy
1844dc42d2SJeff LaBundyproperties:
1944dc42d2SJeff LaBundy  compatible:
2044dc42d2SJeff LaBundy    enum:
2144dc42d2SJeff LaBundy      - azoteq,iqs7222a
2244dc42d2SJeff LaBundy      - azoteq,iqs7222b
2344dc42d2SJeff LaBundy      - azoteq,iqs7222c
24*823b28c5SJeff LaBundy      - azoteq,iqs7222d
2544dc42d2SJeff LaBundy
2644dc42d2SJeff LaBundy  reg:
2744dc42d2SJeff LaBundy    maxItems: 1
2844dc42d2SJeff LaBundy
2944dc42d2SJeff LaBundy  irq-gpios:
3044dc42d2SJeff LaBundy    maxItems: 1
3144dc42d2SJeff LaBundy    description:
3244dc42d2SJeff LaBundy      Specifies the GPIO connected to the device's active-low RDY output.
3344dc42d2SJeff LaBundy
3444dc42d2SJeff LaBundy  reset-gpios:
3544dc42d2SJeff LaBundy    maxItems: 1
3644dc42d2SJeff LaBundy    description:
3744dc42d2SJeff LaBundy      Specifies the GPIO connected to the device's active-low MCLR input. The
3844dc42d2SJeff LaBundy      device is temporarily held in hardware reset prior to initialization if
3944dc42d2SJeff LaBundy      this property is present.
4044dc42d2SJeff LaBundy
4144dc42d2SJeff LaBundy  azoteq,max-counts:
4244dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
4344dc42d2SJeff LaBundy    enum: [0, 1, 2, 3]
4444dc42d2SJeff LaBundy    description: |
4544dc42d2SJeff LaBundy      Specifies the maximum number of conversion periods (counts) that can be
4644dc42d2SJeff LaBundy      reported as follows:
4744dc42d2SJeff LaBundy      0: 1023
4844dc42d2SJeff LaBundy      1: 2047
4944dc42d2SJeff LaBundy      2: 4095
5044dc42d2SJeff LaBundy      3: 16384
5144dc42d2SJeff LaBundy
5244dc42d2SJeff LaBundy  azoteq,auto-mode:
5344dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
5444dc42d2SJeff LaBundy    enum: [0, 1, 2, 3]
5544dc42d2SJeff LaBundy    description: |
5644dc42d2SJeff LaBundy      Specifies the number of conversions to occur before an interrupt is
5744dc42d2SJeff LaBundy      generated as follows:
5844dc42d2SJeff LaBundy      0: 4
5944dc42d2SJeff LaBundy      1: 8
6044dc42d2SJeff LaBundy      2: 16
6144dc42d2SJeff LaBundy      3: 32
6244dc42d2SJeff LaBundy
6344dc42d2SJeff LaBundy  azoteq,ati-frac-div-fine:
6444dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
6544dc42d2SJeff LaBundy    minimum: 0
6644dc42d2SJeff LaBundy    maximum: 31
6744dc42d2SJeff LaBundy    description: Specifies the preloaded ATI fine fractional divider.
6844dc42d2SJeff LaBundy
6944dc42d2SJeff LaBundy  azoteq,ati-frac-div-coarse:
7044dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
7144dc42d2SJeff LaBundy    minimum: 0
7244dc42d2SJeff LaBundy    maximum: 31
7344dc42d2SJeff LaBundy    description: Specifies the preloaded ATI coarse fractional divider.
7444dc42d2SJeff LaBundy
7544dc42d2SJeff LaBundy  azoteq,ati-comp-select:
7644dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
7744dc42d2SJeff LaBundy    minimum: 0
7844dc42d2SJeff LaBundy    maximum: 1023
7944dc42d2SJeff LaBundy    description: Specifies the preloaded ATI compensation selection.
8044dc42d2SJeff LaBundy
8144dc42d2SJeff LaBundy  azoteq,lta-beta-lp:
8244dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
8344dc42d2SJeff LaBundy    minimum: 0
8444dc42d2SJeff LaBundy    maximum: 15
8544dc42d2SJeff LaBundy    description:
8644dc42d2SJeff LaBundy      Specifies the long-term average filter damping factor to be applied during
8744dc42d2SJeff LaBundy      low-power mode.
8844dc42d2SJeff LaBundy
8944dc42d2SJeff LaBundy  azoteq,lta-beta-np:
9044dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
9144dc42d2SJeff LaBundy    minimum: 0
9244dc42d2SJeff LaBundy    maximum: 15
9344dc42d2SJeff LaBundy    description:
9444dc42d2SJeff LaBundy      Specifies the long-term average filter damping factor to be applied during
9544dc42d2SJeff LaBundy      normal-power mode.
9644dc42d2SJeff LaBundy
9744dc42d2SJeff LaBundy  azoteq,counts-beta-lp:
9844dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
9944dc42d2SJeff LaBundy    minimum: 0
10044dc42d2SJeff LaBundy    maximum: 15
10144dc42d2SJeff LaBundy    description:
10244dc42d2SJeff LaBundy      Specifies the counts filter damping factor to be applied during low-power
10344dc42d2SJeff LaBundy      mode.
10444dc42d2SJeff LaBundy
10544dc42d2SJeff LaBundy  azoteq,counts-beta-np:
10644dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
10744dc42d2SJeff LaBundy    minimum: 0
10844dc42d2SJeff LaBundy    maximum: 15
10944dc42d2SJeff LaBundy    description:
11044dc42d2SJeff LaBundy      Specifies the counts filter damping factor to be applied during normal-
11144dc42d2SJeff LaBundy      power mode.
11244dc42d2SJeff LaBundy
11344dc42d2SJeff LaBundy  azoteq,lta-fast-beta-lp:
11444dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
11544dc42d2SJeff LaBundy    minimum: 0
11644dc42d2SJeff LaBundy    maximum: 15
11744dc42d2SJeff LaBundy    description:
11844dc42d2SJeff LaBundy      Specifies the long-term average filter fast damping factor to be applied
11944dc42d2SJeff LaBundy      during low-power mode.
12044dc42d2SJeff LaBundy
12144dc42d2SJeff LaBundy  azoteq,lta-fast-beta-np:
12244dc42d2SJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
12344dc42d2SJeff LaBundy    minimum: 0
12444dc42d2SJeff LaBundy    maximum: 15
12544dc42d2SJeff LaBundy    description:
12644dc42d2SJeff LaBundy      Specifies the long-term average filter fast damping factor to be applied
12744dc42d2SJeff LaBundy      during normal-power mode.
12844dc42d2SJeff LaBundy
12944dc42d2SJeff LaBundy  azoteq,timeout-ati-ms:
13044dc42d2SJeff LaBundy    multipleOf: 500
13144dc42d2SJeff LaBundy    minimum: 0
13244dc42d2SJeff LaBundy    maximum: 32767500
13344dc42d2SJeff LaBundy    description:
13444dc42d2SJeff LaBundy      Specifies the delay (in ms) before ATI is retried following an ATI error.
13544dc42d2SJeff LaBundy
13644dc42d2SJeff LaBundy  azoteq,rate-ati-ms:
13744dc42d2SJeff LaBundy    minimum: 0
13844dc42d2SJeff LaBundy    maximum: 65535
13944dc42d2SJeff LaBundy    description: Specifies the rate (in ms) at which ATI status is evaluated.
14044dc42d2SJeff LaBundy
14144dc42d2SJeff LaBundy  azoteq,timeout-np-ms:
14244dc42d2SJeff LaBundy    minimum: 0
14344dc42d2SJeff LaBundy    maximum: 65535
14444dc42d2SJeff LaBundy    description:
14544dc42d2SJeff LaBundy      Specifies the length of time (in ms) to wait for an event before moving
14644dc42d2SJeff LaBundy      from normal-power mode to low-power mode.
14744dc42d2SJeff LaBundy
14844dc42d2SJeff LaBundy  azoteq,rate-np-ms:
14944dc42d2SJeff LaBundy    minimum: 0
15044dc42d2SJeff LaBundy    maximum: 3000
15144dc42d2SJeff LaBundy    description: Specifies the report rate (in ms) during normal-power mode.
15244dc42d2SJeff LaBundy
15344dc42d2SJeff LaBundy  azoteq,timeout-lp-ms:
15444dc42d2SJeff LaBundy    minimum: 0
15544dc42d2SJeff LaBundy    maximum: 65535
15644dc42d2SJeff LaBundy    description:
15744dc42d2SJeff LaBundy      Specifies the length of time (in ms) to wait for an event before moving
15844dc42d2SJeff LaBundy      from low-power mode to ultra-low-power mode.
15944dc42d2SJeff LaBundy
16044dc42d2SJeff LaBundy  azoteq,rate-lp-ms:
16144dc42d2SJeff LaBundy    minimum: 0
16244dc42d2SJeff LaBundy    maximum: 3000
16344dc42d2SJeff LaBundy    description: Specifies the report rate (in ms) during low-power mode.
16444dc42d2SJeff LaBundy
16544dc42d2SJeff LaBundy  azoteq,timeout-ulp-ms:
16644dc42d2SJeff LaBundy    minimum: 0
16744dc42d2SJeff LaBundy    maximum: 65535
16844dc42d2SJeff LaBundy    description:
16944dc42d2SJeff LaBundy      Specifies the rate (in ms) at which channels not regularly sampled during
17044dc42d2SJeff LaBundy      ultra-low-power mode are updated.
17144dc42d2SJeff LaBundy
17244dc42d2SJeff LaBundy  azoteq,rate-ulp-ms:
17344dc42d2SJeff LaBundy    minimum: 0
17444dc42d2SJeff LaBundy    maximum: 3000
17544dc42d2SJeff LaBundy    description: Specifies the report rate (in ms) during ultra-low-power mode.
17644dc42d2SJeff LaBundy
177*823b28c5SJeff LaBundy  touchscreen-size-x: true
178*823b28c5SJeff LaBundy  touchscreen-size-y: true
179*823b28c5SJeff LaBundy  touchscreen-inverted-x: true
180*823b28c5SJeff LaBundy  touchscreen-inverted-y: true
181*823b28c5SJeff LaBundy  touchscreen-swapped-x-y: true
182*823b28c5SJeff LaBundy
183*823b28c5SJeff LaBundy  trackpad:
184*823b28c5SJeff LaBundy    type: object
185*823b28c5SJeff LaBundy    description: Represents all channels associated with the trackpad.
186*823b28c5SJeff LaBundy
187*823b28c5SJeff LaBundy    properties:
188*823b28c5SJeff LaBundy      azoteq,channel-select:
189*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32-array
190*823b28c5SJeff LaBundy        minItems: 1
191*823b28c5SJeff LaBundy        maxItems: 12
192*823b28c5SJeff LaBundy        items:
193*823b28c5SJeff LaBundy          minimum: 0
194*823b28c5SJeff LaBundy          maximum: 13
195*823b28c5SJeff LaBundy        description:
196*823b28c5SJeff LaBundy          Specifies the order of the channels that participate in the trackpad.
197*823b28c5SJeff LaBundy          Specify 255 to omit a given channel for the purpose of mapping a non-
198*823b28c5SJeff LaBundy          rectangular trackpad.
199*823b28c5SJeff LaBundy
200*823b28c5SJeff LaBundy      azoteq,num-rows:
201*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
202*823b28c5SJeff LaBundy        minimum: 1
203*823b28c5SJeff LaBundy        maximum: 12
204*823b28c5SJeff LaBundy        description: Specifies the number of rows that comprise the trackpad.
205*823b28c5SJeff LaBundy
206*823b28c5SJeff LaBundy      azoteq,num-cols:
207*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
208*823b28c5SJeff LaBundy        minimum: 1
209*823b28c5SJeff LaBundy        maximum: 12
210*823b28c5SJeff LaBundy        description: Specifies the number of columns that comprise the trackpad.
211*823b28c5SJeff LaBundy
212*823b28c5SJeff LaBundy      azoteq,top-speed:
213*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
214*823b28c5SJeff LaBundy        multipleOf: 4
215*823b28c5SJeff LaBundy        minimum: 0
216*823b28c5SJeff LaBundy        maximum: 1020
217*823b28c5SJeff LaBundy        description:
218*823b28c5SJeff LaBundy          Specifies the speed (in coordinates traveled per conversion) after
219*823b28c5SJeff LaBundy          which coordinate filtering is no longer applied.
220*823b28c5SJeff LaBundy
221*823b28c5SJeff LaBundy      azoteq,bottom-speed:
222*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
223*823b28c5SJeff LaBundy        minimum: 0
224*823b28c5SJeff LaBundy        maximum: 255
225*823b28c5SJeff LaBundy        description:
226*823b28c5SJeff LaBundy          Specifies the speed (in coordinates traveled per conversion) after
227*823b28c5SJeff LaBundy          which coordinate filtering is linearly reduced.
228*823b28c5SJeff LaBundy
229*823b28c5SJeff LaBundy      azoteq,use-prox:
230*823b28c5SJeff LaBundy        type: boolean
231*823b28c5SJeff LaBundy        description:
232*823b28c5SJeff LaBundy          Directs the trackpad to respond to the proximity states of the
233*823b28c5SJeff LaBundy          selected channels instead of their corresponding touch states.
234*823b28c5SJeff LaBundy          Note the trackpad cannot report granular coordinates during a
235*823b28c5SJeff LaBundy          state of proximity.
236*823b28c5SJeff LaBundy
237*823b28c5SJeff LaBundy    patternProperties:
238*823b28c5SJeff LaBundy      "^azoteq,lower-cal-(x|y)$":
239*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
240*823b28c5SJeff LaBundy        minimum: 0
241*823b28c5SJeff LaBundy        maximum: 255
242*823b28c5SJeff LaBundy        description: Specifies the trackpad's lower starting points.
243*823b28c5SJeff LaBundy
244*823b28c5SJeff LaBundy      "^azoteq,upper-cal-(x|y)$":
245*823b28c5SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
246*823b28c5SJeff LaBundy        minimum: 0
247*823b28c5SJeff LaBundy        maximum: 255
248*823b28c5SJeff LaBundy        description: Specifies the trackpad's upper starting points.
249*823b28c5SJeff LaBundy
250*823b28c5SJeff LaBundy      "^event-(press|tap|(swipe|flick)-(x|y)-(pos|neg))$":
251*823b28c5SJeff LaBundy        type: object
252*823b28c5SJeff LaBundy        $ref: input.yaml#
253*823b28c5SJeff LaBundy        description:
254*823b28c5SJeff LaBundy          Represents a press or gesture event reported by the trackpad. Specify
255*823b28c5SJeff LaBundy          'linux,code' under the press event to report absolute coordinates.
256*823b28c5SJeff LaBundy
257*823b28c5SJeff LaBundy        properties:
258*823b28c5SJeff LaBundy          linux,code: true
259*823b28c5SJeff LaBundy
260*823b28c5SJeff LaBundy          azoteq,gesture-angle-tighten:
261*823b28c5SJeff LaBundy            type: boolean
262*823b28c5SJeff LaBundy            description:
263*823b28c5SJeff LaBundy              Limits the tangent of the gesture angle to 0.5 (axial gestures
264*823b28c5SJeff LaBundy              only). If specified in one direction, the effect is applied in
265*823b28c5SJeff LaBundy              either direction.
266*823b28c5SJeff LaBundy
267*823b28c5SJeff LaBundy          azoteq,gesture-max-ms:
268*823b28c5SJeff LaBundy            multipleOf: 16
269*823b28c5SJeff LaBundy            minimum: 0
270*823b28c5SJeff LaBundy            maximum: 4080
271*823b28c5SJeff LaBundy            description:
272*823b28c5SJeff LaBundy              Specifies the length of time (in ms) within which a tap, swipe
273*823b28c5SJeff LaBundy              or flick gesture must be completed in order to be acknowledged
274*823b28c5SJeff LaBundy              by the device. The number specified for any one swipe or flick
275*823b28c5SJeff LaBundy              gesture applies to all other swipe or flick gestures.
276*823b28c5SJeff LaBundy
277*823b28c5SJeff LaBundy          azoteq,gesture-min-ms:
278*823b28c5SJeff LaBundy            multipleOf: 16
279*823b28c5SJeff LaBundy            minimum: 0
280*823b28c5SJeff LaBundy            maximum: 4080
281*823b28c5SJeff LaBundy            description:
282*823b28c5SJeff LaBundy              Specifies the length of time (in ms) for which a tap gesture must
283*823b28c5SJeff LaBundy              be held in order to be acknowledged by the device.
284*823b28c5SJeff LaBundy
285*823b28c5SJeff LaBundy          azoteq,gesture-dist:
286*823b28c5SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
287*823b28c5SJeff LaBundy            minimum: 0
288*823b28c5SJeff LaBundy            maximum: 65535
289*823b28c5SJeff LaBundy            description:
290*823b28c5SJeff LaBundy              Specifies the distance (in coordinates) across which a swipe or
291*823b28c5SJeff LaBundy              flick gesture must travel in order to be acknowledged by the
292*823b28c5SJeff LaBundy              device. The number specified for any one swipe or flick gesture
293*823b28c5SJeff LaBundy              applies to all remaining swipe or flick gestures.
294*823b28c5SJeff LaBundy
295*823b28c5SJeff LaBundy              For tap gestures, this property specifies the distance from the
296*823b28c5SJeff LaBundy              original point of contact across which the contact is permitted
297*823b28c5SJeff LaBundy              to travel before the gesture is rejected by the device.
298*823b28c5SJeff LaBundy
299*823b28c5SJeff LaBundy          azoteq,gpio-select:
300*823b28c5SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32-array
301*823b28c5SJeff LaBundy            minItems: 1
302*823b28c5SJeff LaBundy            maxItems: 3
303*823b28c5SJeff LaBundy            items:
304*823b28c5SJeff LaBundy              minimum: 0
305*823b28c5SJeff LaBundy              maximum: 2
306*823b28c5SJeff LaBundy            description: |
307*823b28c5SJeff LaBundy              Specifies one or more GPIO mapped to the event as follows:
308*823b28c5SJeff LaBundy              0: GPIO0
309*823b28c5SJeff LaBundy              1: GPIO3
310*823b28c5SJeff LaBundy              2: GPIO4
311*823b28c5SJeff LaBundy
312*823b28c5SJeff LaBundy              Note that although multiple events can be mapped to a single
313*823b28c5SJeff LaBundy              GPIO, they must all be of the same type (proximity, touch or
314*823b28c5SJeff LaBundy              trackpad gesture).
315*823b28c5SJeff LaBundy
316*823b28c5SJeff LaBundy        additionalProperties: false
317*823b28c5SJeff LaBundy
318*823b28c5SJeff LaBundy    required:
319*823b28c5SJeff LaBundy      - azoteq,channel-select
320*823b28c5SJeff LaBundy
321*823b28c5SJeff LaBundy    additionalProperties: false
322*823b28c5SJeff LaBundy
32344dc42d2SJeff LaBundypatternProperties:
32444dc42d2SJeff LaBundy  "^cycle-[0-9]$":
32544dc42d2SJeff LaBundy    type: object
32644dc42d2SJeff LaBundy    description: Represents a conversion cycle serving two sensing channels.
32744dc42d2SJeff LaBundy
32844dc42d2SJeff LaBundy    properties:
32944dc42d2SJeff LaBundy      azoteq,conv-period:
33044dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
33144dc42d2SJeff LaBundy        minimum: 0
33244dc42d2SJeff LaBundy        maximum: 255
33344dc42d2SJeff LaBundy        description: Specifies the cycle's conversion period.
33444dc42d2SJeff LaBundy
33544dc42d2SJeff LaBundy      azoteq,conv-frac:
33644dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
33744dc42d2SJeff LaBundy        minimum: 0
33844dc42d2SJeff LaBundy        maximum: 255
33944dc42d2SJeff LaBundy        description: Specifies the cycle's conversion frequency fraction.
34044dc42d2SJeff LaBundy
34144dc42d2SJeff LaBundy      azoteq,tx-enable:
34244dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32-array
34344dc42d2SJeff LaBundy        minItems: 1
34444dc42d2SJeff LaBundy        maxItems: 9
34544dc42d2SJeff LaBundy        items:
34644dc42d2SJeff LaBundy          minimum: 0
34744dc42d2SJeff LaBundy          maximum: 8
34844dc42d2SJeff LaBundy        description: Specifies the CTx pin(s) associated with the cycle.
34944dc42d2SJeff LaBundy
35044dc42d2SJeff LaBundy      azoteq,rx-float-inactive:
35144dc42d2SJeff LaBundy        type: boolean
35244dc42d2SJeff LaBundy        description: Floats any inactive CRx pins instead of grounding them.
35344dc42d2SJeff LaBundy
35444dc42d2SJeff LaBundy      azoteq,dead-time-enable:
35544dc42d2SJeff LaBundy        type: boolean
35644dc42d2SJeff LaBundy        description:
35744dc42d2SJeff LaBundy          Increases the denominator of the conversion frequency formula by one.
35844dc42d2SJeff LaBundy
35944dc42d2SJeff LaBundy      azoteq,tx-freq-fosc:
36044dc42d2SJeff LaBundy        type: boolean
36144dc42d2SJeff LaBundy        description:
36244dc42d2SJeff LaBundy          Fixes the conversion frequency to that of the device's core clock.
36344dc42d2SJeff LaBundy
36444dc42d2SJeff LaBundy      azoteq,vbias-enable:
36544dc42d2SJeff LaBundy        type: boolean
36644dc42d2SJeff LaBundy        description: Enables the bias voltage for use during inductive sensing.
36744dc42d2SJeff LaBundy
36844dc42d2SJeff LaBundy      azoteq,sense-mode:
36944dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
37044dc42d2SJeff LaBundy        enum: [0, 1, 2, 3]
37144dc42d2SJeff LaBundy        description: |
37244dc42d2SJeff LaBundy          Specifies the cycle's sensing mode as follows:
37344dc42d2SJeff LaBundy          0: None
37444dc42d2SJeff LaBundy          1: Self capacitive
37544dc42d2SJeff LaBundy          2: Mutual capacitive
37644dc42d2SJeff LaBundy          3: Inductive
37744dc42d2SJeff LaBundy
37844dc42d2SJeff LaBundy          Note that in the case of IQS7222A, cycles 5 and 6 are restricted to
37944dc42d2SJeff LaBundy          Hall-effect sensing.
38044dc42d2SJeff LaBundy
38144dc42d2SJeff LaBundy      azoteq,iref-enable:
38244dc42d2SJeff LaBundy        type: boolean
38344dc42d2SJeff LaBundy        description:
38444dc42d2SJeff LaBundy          Enables the current reference for use during various sensing modes.
38544dc42d2SJeff LaBundy
38644dc42d2SJeff LaBundy      azoteq,iref-level:
38744dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
38844dc42d2SJeff LaBundy        minimum: 0
38944dc42d2SJeff LaBundy        maximum: 15
39044dc42d2SJeff LaBundy        description: Specifies the cycle's current reference level.
39144dc42d2SJeff LaBundy
39244dc42d2SJeff LaBundy      azoteq,iref-trim:
39344dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
39444dc42d2SJeff LaBundy        minimum: 0
39544dc42d2SJeff LaBundy        maximum: 15
39644dc42d2SJeff LaBundy        description: Specifies the cycle's current reference trim.
39744dc42d2SJeff LaBundy
39844dc42d2SJeff LaBundy    dependencies:
39944dc42d2SJeff LaBundy      azoteq,iref-level: ["azoteq,iref-enable"]
40044dc42d2SJeff LaBundy      azoteq,iref-trim: ["azoteq,iref-enable"]
40144dc42d2SJeff LaBundy
40244dc42d2SJeff LaBundy    additionalProperties: false
40344dc42d2SJeff LaBundy
40444dc42d2SJeff LaBundy  "^channel-([0-9]|1[0-9])$":
40544dc42d2SJeff LaBundy    type: object
40644dc42d2SJeff LaBundy    description:
40744dc42d2SJeff LaBundy      Represents a single sensing channel. A channel is active if defined and
40844dc42d2SJeff LaBundy      inactive otherwise.
40944dc42d2SJeff LaBundy
41044dc42d2SJeff LaBundy      Note that in the case of IQS7222A, channels 10 and 11 are restricted to
41144dc42d2SJeff LaBundy      Hall-effect sensing with events reported on channel 10 only.
41244dc42d2SJeff LaBundy
41344dc42d2SJeff LaBundy    properties:
41444dc42d2SJeff LaBundy      azoteq,ulp-allow:
41544dc42d2SJeff LaBundy        type: boolean
41644dc42d2SJeff LaBundy        description:
41744dc42d2SJeff LaBundy          Permits the device to enter ultra-low-power mode while the channel
41844dc42d2SJeff LaBundy          lies in a state of touch or proximity.
41944dc42d2SJeff LaBundy
42044dc42d2SJeff LaBundy      azoteq,ref-select:
42144dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
42244dc42d2SJeff LaBundy        minimum: 0
42344dc42d2SJeff LaBundy        maximum: 9
42444dc42d2SJeff LaBundy        description: Specifies a separate reference channel to be followed.
42544dc42d2SJeff LaBundy
42644dc42d2SJeff LaBundy      azoteq,ref-weight:
42744dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
42844dc42d2SJeff LaBundy        minimum: 0
42944dc42d2SJeff LaBundy        maximum: 65535
43044dc42d2SJeff LaBundy        description: Specifies the relative weight of the reference channel.
43144dc42d2SJeff LaBundy
43244dc42d2SJeff LaBundy      azoteq,use-prox:
43344dc42d2SJeff LaBundy        type: boolean
43444dc42d2SJeff LaBundy        description:
43544dc42d2SJeff LaBundy          Activates the reference channel in response to proximity events
43644dc42d2SJeff LaBundy          instead of touch events.
43744dc42d2SJeff LaBundy
438*823b28c5SJeff LaBundy      azoteq,counts-filt-enable:
439*823b28c5SJeff LaBundy        type: boolean
440*823b28c5SJeff LaBundy        description: Applies counts filtering to the channel.
441*823b28c5SJeff LaBundy
44244dc42d2SJeff LaBundy      azoteq,ati-band:
44344dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
44444dc42d2SJeff LaBundy        enum: [0, 1, 2, 3]
44544dc42d2SJeff LaBundy        description: |
44644dc42d2SJeff LaBundy          Specifies the channel's ATI band as a fraction of its ATI target as
44744dc42d2SJeff LaBundy          follows:
44844dc42d2SJeff LaBundy          0: 1/16
44944dc42d2SJeff LaBundy          1: 1/8
45044dc42d2SJeff LaBundy          2: 1/4
45144dc42d2SJeff LaBundy          3: 1/2
45244dc42d2SJeff LaBundy
45344dc42d2SJeff LaBundy      azoteq,global-halt:
45444dc42d2SJeff LaBundy        type: boolean
45544dc42d2SJeff LaBundy        description:
45644dc42d2SJeff LaBundy          Specifies that the channel's long-term average is to freeze if any
45744dc42d2SJeff LaBundy          other participating channel lies in a proximity or touch state.
45844dc42d2SJeff LaBundy
45944dc42d2SJeff LaBundy      azoteq,invert-enable:
46044dc42d2SJeff LaBundy        type: boolean
46144dc42d2SJeff LaBundy        description:
46244dc42d2SJeff LaBundy          Inverts the polarity of the states reported for proximity and touch
46344dc42d2SJeff LaBundy          events relative to their respective thresholds.
46444dc42d2SJeff LaBundy
46544dc42d2SJeff LaBundy      azoteq,dual-direction:
46644dc42d2SJeff LaBundy        type: boolean
46744dc42d2SJeff LaBundy        description:
46844dc42d2SJeff LaBundy          Specifies that the channel's long-term average is to freeze in the
46944dc42d2SJeff LaBundy          presence of either increasing or decreasing counts, thereby permit-
47044dc42d2SJeff LaBundy          ting events to be reported in either direction.
47144dc42d2SJeff LaBundy
47244dc42d2SJeff LaBundy      azoteq,rx-enable:
47344dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32-array
47444dc42d2SJeff LaBundy        minItems: 1
47544dc42d2SJeff LaBundy        maxItems: 4
47644dc42d2SJeff LaBundy        items:
47744dc42d2SJeff LaBundy          minimum: 0
47844dc42d2SJeff LaBundy          maximum: 7
47944dc42d2SJeff LaBundy        description: Specifies the CRx pin(s) associated with the channel.
48044dc42d2SJeff LaBundy
48144dc42d2SJeff LaBundy      azoteq,samp-cap-double:
48244dc42d2SJeff LaBundy        type: boolean
48344dc42d2SJeff LaBundy        description: Doubles the sampling capacitance from 40 pF to 80 pF.
48444dc42d2SJeff LaBundy
48544dc42d2SJeff LaBundy      azoteq,vref-half:
48644dc42d2SJeff LaBundy        type: boolean
48744dc42d2SJeff LaBundy        description: Halves the discharge threshold from 1.0 V to 0.5 V.
48844dc42d2SJeff LaBundy
48944dc42d2SJeff LaBundy      azoteq,proj-bias:
49044dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
49144dc42d2SJeff LaBundy        enum: [0, 1, 2, 3]
49244dc42d2SJeff LaBundy        description: |
49344dc42d2SJeff LaBundy          Specifies the bias current applied during mutual (projected)
49444dc42d2SJeff LaBundy          capacitive sensing as follows:
49544dc42d2SJeff LaBundy          0: 2 uA
49644dc42d2SJeff LaBundy          1: 5 uA
49744dc42d2SJeff LaBundy          2: 7 uA
49844dc42d2SJeff LaBundy          3: 10 uA
49944dc42d2SJeff LaBundy
50044dc42d2SJeff LaBundy      azoteq,ati-target:
50144dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
50244dc42d2SJeff LaBundy        multipleOf: 8
50344dc42d2SJeff LaBundy        minimum: 0
50444dc42d2SJeff LaBundy        maximum: 2040
50544dc42d2SJeff LaBundy        description: Specifies the channel's ATI target.
50644dc42d2SJeff LaBundy
50744dc42d2SJeff LaBundy      azoteq,ati-base:
50844dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
50944dc42d2SJeff LaBundy        multipleOf: 16
51044dc42d2SJeff LaBundy        minimum: 0
51144dc42d2SJeff LaBundy        maximum: 496
51244dc42d2SJeff LaBundy        description: Specifies the channel's ATI base.
51344dc42d2SJeff LaBundy
51444dc42d2SJeff LaBundy      azoteq,ati-mode:
51544dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
51644dc42d2SJeff LaBundy        enum: [0, 1, 2, 3, 4, 5]
51744dc42d2SJeff LaBundy        description: |
51844dc42d2SJeff LaBundy          Specifies the channel's ATI mode as follows:
51944dc42d2SJeff LaBundy          0: Disabled
52044dc42d2SJeff LaBundy          1: Compensation
52144dc42d2SJeff LaBundy          2: Compensation divider
52244dc42d2SJeff LaBundy          3: Fine fractional divider
52344dc42d2SJeff LaBundy          4: Coarse fractional divider
52444dc42d2SJeff LaBundy          5: Full
52544dc42d2SJeff LaBundy
52644dc42d2SJeff LaBundy      azoteq,ati-frac-div-fine:
52744dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
52844dc42d2SJeff LaBundy        minimum: 0
52944dc42d2SJeff LaBundy        maximum: 31
53044dc42d2SJeff LaBundy        description: Specifies the channel's ATI fine fractional divider.
53144dc42d2SJeff LaBundy
53244dc42d2SJeff LaBundy      azoteq,ati-frac-mult-coarse:
53344dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
53444dc42d2SJeff LaBundy        minimum: 0
53544dc42d2SJeff LaBundy        maximum: 15
53644dc42d2SJeff LaBundy        description: Specifies the channel's ATI coarse fractional multiplier.
53744dc42d2SJeff LaBundy
53844dc42d2SJeff LaBundy      azoteq,ati-frac-div-coarse:
53944dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
54044dc42d2SJeff LaBundy        minimum: 0
54144dc42d2SJeff LaBundy        maximum: 31
54244dc42d2SJeff LaBundy        description: Specifies the channel's ATI coarse fractional divider.
54344dc42d2SJeff LaBundy
54444dc42d2SJeff LaBundy      azoteq,ati-comp-div:
54544dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
54644dc42d2SJeff LaBundy        minimum: 0
54744dc42d2SJeff LaBundy        maximum: 31
54844dc42d2SJeff LaBundy        description: Specifies the channel's ATI compensation divider.
54944dc42d2SJeff LaBundy
55044dc42d2SJeff LaBundy      azoteq,ati-comp-select:
55144dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
55244dc42d2SJeff LaBundy        minimum: 0
55344dc42d2SJeff LaBundy        maximum: 1023
55444dc42d2SJeff LaBundy        description: Specifies the channel's ATI compensation selection.
55544dc42d2SJeff LaBundy
55644dc42d2SJeff LaBundy      azoteq,debounce-enter:
55744dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
55844dc42d2SJeff LaBundy        minimum: 0
55944dc42d2SJeff LaBundy        maximum: 15
56044dc42d2SJeff LaBundy        description: Specifies the channel's debounce entrance factor.
56144dc42d2SJeff LaBundy
56244dc42d2SJeff LaBundy      azoteq,debounce-exit:
56344dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
56444dc42d2SJeff LaBundy        minimum: 0
56544dc42d2SJeff LaBundy        maximum: 15
56644dc42d2SJeff LaBundy        description: Specifies the channel's debounce exit factor.
56744dc42d2SJeff LaBundy
56844dc42d2SJeff LaBundy    patternProperties:
56944dc42d2SJeff LaBundy      "^event-(prox|touch)$":
57044dc42d2SJeff LaBundy        type: object
5718ac14d2cSRob Herring        $ref: input.yaml#
57244dc42d2SJeff LaBundy        description:
57344dc42d2SJeff LaBundy          Represents a proximity or touch event reported by the channel.
57444dc42d2SJeff LaBundy
57544dc42d2SJeff LaBundy        properties:
57644dc42d2SJeff LaBundy          azoteq,gpio-select:
57744dc42d2SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32-array
57844dc42d2SJeff LaBundy            minItems: 1
57944dc42d2SJeff LaBundy            maxItems: 3
58044dc42d2SJeff LaBundy            items:
58144dc42d2SJeff LaBundy              minimum: 0
58244dc42d2SJeff LaBundy              maximum: 2
58344dc42d2SJeff LaBundy            description: |
58444dc42d2SJeff LaBundy              Specifies one or more GPIO mapped to the event as follows:
58544dc42d2SJeff LaBundy              0: GPIO0
586*823b28c5SJeff LaBundy              1: GPIO3
587*823b28c5SJeff LaBundy              2: GPIO4
58844dc42d2SJeff LaBundy
58944dc42d2SJeff LaBundy              Note that although multiple events can be mapped to a single
59044dc42d2SJeff LaBundy              GPIO, they must all be of the same type (proximity, touch or
591*823b28c5SJeff LaBundy              slider/trackpad gesture).
59244dc42d2SJeff LaBundy
59344dc42d2SJeff LaBundy          azoteq,thresh:
59444dc42d2SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
59544dc42d2SJeff LaBundy            description:
59644dc42d2SJeff LaBundy              Specifies the threshold for the event. Valid entries range from
59744dc42d2SJeff LaBundy              0-127 and 0-255 for proximity and touch events, respectively.
59844dc42d2SJeff LaBundy
59944dc42d2SJeff LaBundy          azoteq,hyst:
60044dc42d2SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
60144dc42d2SJeff LaBundy            minimum: 0
60244dc42d2SJeff LaBundy            maximum: 255
60344dc42d2SJeff LaBundy            description:
60444dc42d2SJeff LaBundy              Specifies the hysteresis for the event (touch events only).
60544dc42d2SJeff LaBundy
60644dc42d2SJeff LaBundy          azoteq,timeout-press-ms:
60744dc42d2SJeff LaBundy            multipleOf: 500
60844dc42d2SJeff LaBundy            minimum: 0
60944dc42d2SJeff LaBundy            maximum: 127500
61044dc42d2SJeff LaBundy            description:
61144dc42d2SJeff LaBundy              Specifies the length of time (in ms) to wait before automatically
61244dc42d2SJeff LaBundy              releasing a press event. Specify zero to allow the press state to
61344dc42d2SJeff LaBundy              persist indefinitely.
61444dc42d2SJeff LaBundy
61544dc42d2SJeff LaBundy              The IQS7222B does not feature channel-specific timeouts; the time-
61644dc42d2SJeff LaBundy              out specified for any one channel applies to all channels.
61744dc42d2SJeff LaBundy
6188ac14d2cSRob Herring          linux,code: true
61944dc42d2SJeff LaBundy
62044dc42d2SJeff LaBundy          linux,input-type:
62144dc42d2SJeff LaBundy            enum: [1, 5]
62244dc42d2SJeff LaBundy            default: 1
62344dc42d2SJeff LaBundy            description:
62444dc42d2SJeff LaBundy              Specifies whether the event is to be interpreted as a key (1)
62544dc42d2SJeff LaBundy              or a switch (5).
62644dc42d2SJeff LaBundy
62744dc42d2SJeff LaBundy        additionalProperties: false
62844dc42d2SJeff LaBundy
62944dc42d2SJeff LaBundy    dependencies:
63044dc42d2SJeff LaBundy      azoteq,ref-weight: ["azoteq,ref-select"]
63144dc42d2SJeff LaBundy      azoteq,use-prox: ["azoteq,ref-select"]
63244dc42d2SJeff LaBundy
63344dc42d2SJeff LaBundy    additionalProperties: false
63444dc42d2SJeff LaBundy
63544dc42d2SJeff LaBundy  "^slider-[0-1]$":
63644dc42d2SJeff LaBundy    type: object
63744dc42d2SJeff LaBundy    description: Represents a slider comprising three or four channels.
63844dc42d2SJeff LaBundy
63944dc42d2SJeff LaBundy    properties:
64044dc42d2SJeff LaBundy      azoteq,channel-select:
64144dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32-array
64244dc42d2SJeff LaBundy        minItems: 3
64344dc42d2SJeff LaBundy        maxItems: 4
64444dc42d2SJeff LaBundy        items:
64544dc42d2SJeff LaBundy          minimum: 0
64644dc42d2SJeff LaBundy          maximum: 9
64744dc42d2SJeff LaBundy        description:
64844dc42d2SJeff LaBundy          Specifies the order of the channels that participate in the slider.
64944dc42d2SJeff LaBundy
65044dc42d2SJeff LaBundy      azoteq,slider-size:
65144dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
65299d03b54SJeff LaBundy        minimum: 1
65344dc42d2SJeff LaBundy        maximum: 65535
65444dc42d2SJeff LaBundy        description:
65544dc42d2SJeff LaBundy          Specifies the slider's one-dimensional resolution, equal to the
65644dc42d2SJeff LaBundy          maximum coordinate plus one.
65744dc42d2SJeff LaBundy
65844dc42d2SJeff LaBundy      azoteq,lower-cal:
65944dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
66044dc42d2SJeff LaBundy        minimum: 0
66144dc42d2SJeff LaBundy        maximum: 255
66244dc42d2SJeff LaBundy        description: Specifies the slider's lower starting point.
66344dc42d2SJeff LaBundy
66444dc42d2SJeff LaBundy      azoteq,upper-cal:
66544dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
66644dc42d2SJeff LaBundy        minimum: 0
66744dc42d2SJeff LaBundy        maximum: 255
66844dc42d2SJeff LaBundy        description: Specifies the slider's upper starting point.
66944dc42d2SJeff LaBundy
67044dc42d2SJeff LaBundy      azoteq,top-speed:
67144dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
67244dc42d2SJeff LaBundy        minimum: 0
67344dc42d2SJeff LaBundy        maximum: 65535
67444dc42d2SJeff LaBundy        description:
67592b46a7bSJeff LaBundy          Specifies the speed (in coordinates traveled per conversion) after
67692b46a7bSJeff LaBundy          which coordinate filtering is no longer applied.
67744dc42d2SJeff LaBundy
67844dc42d2SJeff LaBundy      azoteq,bottom-speed:
67944dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
68044dc42d2SJeff LaBundy        minimum: 0
6816cfb3578SJeff LaBundy        maximum: 255
68244dc42d2SJeff LaBundy        description:
68392b46a7bSJeff LaBundy          Specifies the speed (in coordinates traveled per conversion) after
68492b46a7bSJeff LaBundy          which coordinate filtering is linearly reduced.
68544dc42d2SJeff LaBundy
68644dc42d2SJeff LaBundy      azoteq,bottom-beta:
68744dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
68844dc42d2SJeff LaBundy        minimum: 0
68944dc42d2SJeff LaBundy        maximum: 7
69044dc42d2SJeff LaBundy        description:
69144dc42d2SJeff LaBundy          Specifies the coordinate filter damping factor to be applied
69244dc42d2SJeff LaBundy          while the speed of movement is below that which is specified
69344dc42d2SJeff LaBundy          by azoteq,bottom-speed.
69444dc42d2SJeff LaBundy
69544dc42d2SJeff LaBundy      azoteq,static-beta:
69644dc42d2SJeff LaBundy        type: boolean
69744dc42d2SJeff LaBundy        description:
69844dc42d2SJeff LaBundy          Applies the coordinate filter damping factor specified by
69944dc42d2SJeff LaBundy          azoteq,bottom-beta regardless of the speed of movement.
70044dc42d2SJeff LaBundy
70144dc42d2SJeff LaBundy      azoteq,use-prox:
70244dc42d2SJeff LaBundy        type: boolean
70344dc42d2SJeff LaBundy        description:
70444dc42d2SJeff LaBundy          Directs the slider to respond to the proximity states of the selected
70544dc42d2SJeff LaBundy          channels instead of their corresponding touch states. Note the slider
70644dc42d2SJeff LaBundy          cannot report granular coordinates during a state of proximity.
70744dc42d2SJeff LaBundy
70844dc42d2SJeff LaBundy      linux,axis:
70944dc42d2SJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
71044dc42d2SJeff LaBundy        description:
71144dc42d2SJeff LaBundy          Specifies the absolute axis to which coordinates are mapped. Specify
71244dc42d2SJeff LaBundy          ABS_WHEEL to operate the slider as a wheel (IQS7222C only).
71344dc42d2SJeff LaBundy
71444dc42d2SJeff LaBundy    patternProperties:
71544dc42d2SJeff LaBundy      "^event-(press|tap|(swipe|flick)-(pos|neg))$":
71644dc42d2SJeff LaBundy        type: object
71739636805SJeff LaBundy        $ref: input.yaml#
71844dc42d2SJeff LaBundy        description:
71944dc42d2SJeff LaBundy          Represents a press or gesture (IQS7222A only) event reported by
72044dc42d2SJeff LaBundy          the slider.
72144dc42d2SJeff LaBundy
72244dc42d2SJeff LaBundy        properties:
72339636805SJeff LaBundy          linux,code: true
72444dc42d2SJeff LaBundy
72544dc42d2SJeff LaBundy          azoteq,gesture-max-ms:
72697384a65SJeff LaBundy            multipleOf: 16
72744dc42d2SJeff LaBundy            minimum: 0
72897384a65SJeff LaBundy            maximum: 4080
72944dc42d2SJeff LaBundy            description:
73044dc42d2SJeff LaBundy              Specifies the length of time (in ms) within which a tap, swipe
73144dc42d2SJeff LaBundy              or flick gesture must be completed in order to be acknowledged
73244dc42d2SJeff LaBundy              by the device. The number specified for any one swipe or flick
73344dc42d2SJeff LaBundy              gesture applies to all remaining swipe or flick gestures.
73444dc42d2SJeff LaBundy
73544dc42d2SJeff LaBundy          azoteq,gesture-min-ms:
73697384a65SJeff LaBundy            multipleOf: 16
73744dc42d2SJeff LaBundy            minimum: 0
73897384a65SJeff LaBundy            maximum: 496
73944dc42d2SJeff LaBundy            description:
74044dc42d2SJeff LaBundy              Specifies the length of time (in ms) for which a tap gesture must
74144dc42d2SJeff LaBundy              be held in order to be acknowledged by the device.
74244dc42d2SJeff LaBundy
74344dc42d2SJeff LaBundy          azoteq,gesture-dist:
74444dc42d2SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
74544dc42d2SJeff LaBundy            multipleOf: 16
74644dc42d2SJeff LaBundy            minimum: 0
74744dc42d2SJeff LaBundy            maximum: 4080
74844dc42d2SJeff LaBundy            description:
74992b46a7bSJeff LaBundy              Specifies the distance (in coordinates) across which a swipe or
75092b46a7bSJeff LaBundy              flick gesture must travel in order to be acknowledged by the
75192b46a7bSJeff LaBundy              device. The number specified for any one swipe or flick gesture
75292b46a7bSJeff LaBundy              applies to all remaining swipe or flick gestures.
75344dc42d2SJeff LaBundy
75444dc42d2SJeff LaBundy          azoteq,gpio-select:
75544dc42d2SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32-array
75644dc42d2SJeff LaBundy            minItems: 1
757f0ea4527SJeff LaBundy            maxItems: 3
75844dc42d2SJeff LaBundy            items:
75944dc42d2SJeff LaBundy              minimum: 0
760f0ea4527SJeff LaBundy              maximum: 2
76144dc42d2SJeff LaBundy            description: |
762f0ea4527SJeff LaBundy              Specifies one or more GPIO mapped to the event as follows:
76344dc42d2SJeff LaBundy              0: GPIO0
764*823b28c5SJeff LaBundy              1: GPIO3
765*823b28c5SJeff LaBundy              2: GPIO4
76644dc42d2SJeff LaBundy
76744dc42d2SJeff LaBundy              Note that although multiple events can be mapped to a single
76844dc42d2SJeff LaBundy              GPIO, they must all be of the same type (proximity, touch or
76944dc42d2SJeff LaBundy              slider gesture).
77044dc42d2SJeff LaBundy
77144dc42d2SJeff LaBundy        additionalProperties: false
77244dc42d2SJeff LaBundy
77344dc42d2SJeff LaBundy    required:
77444dc42d2SJeff LaBundy      - azoteq,channel-select
77544dc42d2SJeff LaBundy
77644dc42d2SJeff LaBundy    additionalProperties: false
77744dc42d2SJeff LaBundy
77844dc42d2SJeff LaBundy  "^gpio-[0-2]$":
77944dc42d2SJeff LaBundy    type: object
78044dc42d2SJeff LaBundy    description: |
78144dc42d2SJeff LaBundy      Represents a GPIO mapped to one or more events as follows:
78244dc42d2SJeff LaBundy      gpio-0: GPIO0
783*823b28c5SJeff LaBundy      gpio-1: GPIO3
784*823b28c5SJeff LaBundy      gpio-2: GPIO4
78544dc42d2SJeff LaBundy
78644dc42d2SJeff LaBundy    allOf:
78744dc42d2SJeff LaBundy      - $ref: ../pinctrl/pincfg-node.yaml#
78844dc42d2SJeff LaBundy
78944dc42d2SJeff LaBundy    properties:
79044dc42d2SJeff LaBundy      drive-open-drain: true
79144dc42d2SJeff LaBundy
79244dc42d2SJeff LaBundy    additionalProperties: false
79344dc42d2SJeff LaBundy
79444dc42d2SJeff LaBundyallOf:
795*823b28c5SJeff LaBundy  - $ref: touchscreen/touchscreen.yaml#
796*823b28c5SJeff LaBundy
79744dc42d2SJeff LaBundy  - if:
79844dc42d2SJeff LaBundy      properties:
79944dc42d2SJeff LaBundy        compatible:
80044dc42d2SJeff LaBundy          contains:
801*823b28c5SJeff LaBundy            enum:
802*823b28c5SJeff LaBundy              - azoteq,iqs7222a
803*823b28c5SJeff LaBundy              - azoteq,iqs7222b
804*823b28c5SJeff LaBundy              - azoteq,iqs7222c
805*823b28c5SJeff LaBundy
806*823b28c5SJeff LaBundy    then:
807*823b28c5SJeff LaBundy      properties:
808*823b28c5SJeff LaBundy        touchscreen-size-x: false
809*823b28c5SJeff LaBundy        touchscreen-size-y: false
810*823b28c5SJeff LaBundy        touchscreen-inverted-x: false
811*823b28c5SJeff LaBundy        touchscreen-inverted-y: false
812*823b28c5SJeff LaBundy        touchscreen-swapped-x-y: false
813*823b28c5SJeff LaBundy
814*823b28c5SJeff LaBundy        trackpad: false
815*823b28c5SJeff LaBundy
816*823b28c5SJeff LaBundy      patternProperties:
817*823b28c5SJeff LaBundy        "^channel-([0-9]|1[0-9])$":
818*823b28c5SJeff LaBundy          properties:
819*823b28c5SJeff LaBundy            azoteq,counts-filt-enable: false
820*823b28c5SJeff LaBundy
821*823b28c5SJeff LaBundy  - if:
822*823b28c5SJeff LaBundy      properties:
823*823b28c5SJeff LaBundy        compatible:
824*823b28c5SJeff LaBundy          contains:
825*823b28c5SJeff LaBundy            enum:
826*823b28c5SJeff LaBundy              - azoteq,iqs7222b
827*823b28c5SJeff LaBundy              - azoteq,iqs7222c
828*823b28c5SJeff LaBundy
829*823b28c5SJeff LaBundy    then:
830*823b28c5SJeff LaBundy      patternProperties:
831*823b28c5SJeff LaBundy        "^channel-([0-9]|1[0-9])$":
832*823b28c5SJeff LaBundy          properties:
833*823b28c5SJeff LaBundy            azoteq,ulp-allow: false
834*823b28c5SJeff LaBundy
835*823b28c5SJeff LaBundy  - if:
836*823b28c5SJeff LaBundy      properties:
837*823b28c5SJeff LaBundy        compatible:
838*823b28c5SJeff LaBundy          contains:
839*823b28c5SJeff LaBundy            enum:
840*823b28c5SJeff LaBundy              - azoteq,iqs7222b
841*823b28c5SJeff LaBundy              - azoteq,iqs7222d
84244dc42d2SJeff LaBundy
84344dc42d2SJeff LaBundy    then:
84444dc42d2SJeff LaBundy      patternProperties:
84544dc42d2SJeff LaBundy        "^cycle-[0-9]$":
84644dc42d2SJeff LaBundy          properties:
84744dc42d2SJeff LaBundy            azoteq,iref-enable: false
84844dc42d2SJeff LaBundy
84944dc42d2SJeff LaBundy        "^channel-([0-9]|1[0-9])$":
85044dc42d2SJeff LaBundy          properties:
85144dc42d2SJeff LaBundy            azoteq,ref-select: false
85244dc42d2SJeff LaBundy
853*823b28c5SJeff LaBundy        "^slider-[0-1]$": false
854*823b28c5SJeff LaBundy
855*823b28c5SJeff LaBundy  - if:
856*823b28c5SJeff LaBundy      properties:
857*823b28c5SJeff LaBundy        compatible:
858*823b28c5SJeff LaBundy          contains:
859*823b28c5SJeff LaBundy            const: azoteq,iqs7222b
860*823b28c5SJeff LaBundy
861*823b28c5SJeff LaBundy    then:
862*823b28c5SJeff LaBundy      patternProperties:
863*823b28c5SJeff LaBundy        "^channel-([0-9]|1[0-9])$":
86444dc42d2SJeff LaBundy          patternProperties:
86544dc42d2SJeff LaBundy            "^event-(prox|touch)$":
86644dc42d2SJeff LaBundy              properties:
86744dc42d2SJeff LaBundy                azoteq,gpio-select: false
86844dc42d2SJeff LaBundy
86944dc42d2SJeff LaBundy        "^gpio-[0-2]$": false
87044dc42d2SJeff LaBundy
87144dc42d2SJeff LaBundy  - if:
87244dc42d2SJeff LaBundy      properties:
87344dc42d2SJeff LaBundy        compatible:
87444dc42d2SJeff LaBundy          contains:
87544dc42d2SJeff LaBundy            const: azoteq,iqs7222a
87644dc42d2SJeff LaBundy
87744dc42d2SJeff LaBundy    then:
87844dc42d2SJeff LaBundy      patternProperties:
87944dc42d2SJeff LaBundy        "^channel-([0-9]|1[0-9])$":
88044dc42d2SJeff LaBundy          patternProperties:
88144dc42d2SJeff LaBundy            "^event-(prox|touch)$":
88244dc42d2SJeff LaBundy              properties:
88344dc42d2SJeff LaBundy                azoteq,gpio-select:
88444dc42d2SJeff LaBundy                  maxItems: 1
88544dc42d2SJeff LaBundy                  items:
88644dc42d2SJeff LaBundy                    maximum: 0
88744dc42d2SJeff LaBundy
88844dc42d2SJeff LaBundy        "^slider-[0-1]$":
88944dc42d2SJeff LaBundy          properties:
89044dc42d2SJeff LaBundy            azoteq,slider-size:
89144dc42d2SJeff LaBundy              multipleOf: 16
89299d03b54SJeff LaBundy              minimum: 16
89344dc42d2SJeff LaBundy              maximum: 4080
89444dc42d2SJeff LaBundy
89544dc42d2SJeff LaBundy            azoteq,top-speed:
89644dc42d2SJeff LaBundy              multipleOf: 4
89744dc42d2SJeff LaBundy              maximum: 1020
89844dc42d2SJeff LaBundy
899f0ea4527SJeff LaBundy          patternProperties:
900f0ea4527SJeff LaBundy            "^event-(press|tap|(swipe|flick)-(pos|neg))$":
901f0ea4527SJeff LaBundy              properties:
902f0ea4527SJeff LaBundy                azoteq,gpio-select:
903f0ea4527SJeff LaBundy                  maxItems: 1
904f0ea4527SJeff LaBundy                  items:
905f0ea4527SJeff LaBundy                    maximum: 0
906f0ea4527SJeff LaBundy
90744dc42d2SJeff LaBundy    else:
90844dc42d2SJeff LaBundy      patternProperties:
90944dc42d2SJeff LaBundy        "^slider-[0-1]$":
91044dc42d2SJeff LaBundy          patternProperties:
91144dc42d2SJeff LaBundy            "^event-(press|tap|(swipe|flick)-(pos|neg))$":
91244dc42d2SJeff LaBundy              properties:
91344dc42d2SJeff LaBundy                azoteq,gesture-max-ms: false
91444dc42d2SJeff LaBundy
91544dc42d2SJeff LaBundy                azoteq,gesture-min-ms: false
91644dc42d2SJeff LaBundy
91744dc42d2SJeff LaBundy                azoteq,gesture-dist: false
91844dc42d2SJeff LaBundy
91944dc42d2SJeff LaBundyrequired:
92044dc42d2SJeff LaBundy  - compatible
92144dc42d2SJeff LaBundy  - reg
92244dc42d2SJeff LaBundy  - irq-gpios
92344dc42d2SJeff LaBundy
92444dc42d2SJeff LaBundyadditionalProperties: false
92544dc42d2SJeff LaBundy
92644dc42d2SJeff LaBundyexamples:
92744dc42d2SJeff LaBundy  - |
92844dc42d2SJeff LaBundy    #include <dt-bindings/gpio/gpio.h>
92944dc42d2SJeff LaBundy    #include <dt-bindings/input/input.h>
93044dc42d2SJeff LaBundy
93144dc42d2SJeff LaBundy    i2c {
93244dc42d2SJeff LaBundy            #address-cells = <1>;
93344dc42d2SJeff LaBundy            #size-cells = <0>;
93444dc42d2SJeff LaBundy
93544dc42d2SJeff LaBundy            iqs7222a@44 {
93644dc42d2SJeff LaBundy                    compatible = "azoteq,iqs7222a";
93744dc42d2SJeff LaBundy                    reg = <0x44>;
93844dc42d2SJeff LaBundy                    irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
93944dc42d2SJeff LaBundy                    azoteq,lta-beta-lp = <7>;
94044dc42d2SJeff LaBundy                    azoteq,lta-beta-np = <8>;
94144dc42d2SJeff LaBundy                    azoteq,counts-beta-lp = <2>;
94244dc42d2SJeff LaBundy                    azoteq,counts-beta-np = <3>;
94344dc42d2SJeff LaBundy                    azoteq,lta-fast-beta-lp = <3>;
94444dc42d2SJeff LaBundy                    azoteq,lta-fast-beta-np = <4>;
94544dc42d2SJeff LaBundy
94644dc42d2SJeff LaBundy                    cycle-0 {
94744dc42d2SJeff LaBundy                            azoteq,conv-period = <5>;
94844dc42d2SJeff LaBundy                            azoteq,conv-frac = <127>;
94944dc42d2SJeff LaBundy                            azoteq,tx-enable = <1>, <2>, <4>, <5>;
95044dc42d2SJeff LaBundy                            azoteq,dead-time-enable;
95144dc42d2SJeff LaBundy                            azoteq,sense-mode = <2>;
95244dc42d2SJeff LaBundy                    };
95344dc42d2SJeff LaBundy
95444dc42d2SJeff LaBundy                    cycle-1 {
95544dc42d2SJeff LaBundy                            azoteq,conv-period = <5>;
95644dc42d2SJeff LaBundy                            azoteq,conv-frac = <127>;
95744dc42d2SJeff LaBundy                            azoteq,tx-enable = <5>;
95844dc42d2SJeff LaBundy                            azoteq,dead-time-enable;
95944dc42d2SJeff LaBundy                            azoteq,sense-mode = <2>;
96044dc42d2SJeff LaBundy                    };
96144dc42d2SJeff LaBundy
96244dc42d2SJeff LaBundy                    cycle-2 {
96344dc42d2SJeff LaBundy                            azoteq,conv-period = <5>;
96444dc42d2SJeff LaBundy                            azoteq,conv-frac = <127>;
96544dc42d2SJeff LaBundy                            azoteq,tx-enable = <4>;
96644dc42d2SJeff LaBundy                            azoteq,dead-time-enable;
96744dc42d2SJeff LaBundy                            azoteq,sense-mode = <2>;
96844dc42d2SJeff LaBundy                    };
96944dc42d2SJeff LaBundy
97044dc42d2SJeff LaBundy                    cycle-3 {
97144dc42d2SJeff LaBundy                            azoteq,conv-period = <5>;
97244dc42d2SJeff LaBundy                            azoteq,conv-frac = <127>;
97344dc42d2SJeff LaBundy                            azoteq,tx-enable = <2>;
97444dc42d2SJeff LaBundy                            azoteq,dead-time-enable;
97544dc42d2SJeff LaBundy                            azoteq,sense-mode = <2>;
97644dc42d2SJeff LaBundy                    };
97744dc42d2SJeff LaBundy
97844dc42d2SJeff LaBundy                    cycle-4 {
97944dc42d2SJeff LaBundy                            azoteq,conv-period = <5>;
98044dc42d2SJeff LaBundy                            azoteq,conv-frac = <127>;
98144dc42d2SJeff LaBundy                            azoteq,tx-enable = <1>;
98244dc42d2SJeff LaBundy                            azoteq,dead-time-enable;
98344dc42d2SJeff LaBundy                            azoteq,sense-mode = <2>;
98444dc42d2SJeff LaBundy                    };
98544dc42d2SJeff LaBundy
98644dc42d2SJeff LaBundy                    cycle-5 {
98744dc42d2SJeff LaBundy                            azoteq,conv-period = <2>;
98844dc42d2SJeff LaBundy                            azoteq,conv-frac = <0>;
98944dc42d2SJeff LaBundy                    };
99044dc42d2SJeff LaBundy
99144dc42d2SJeff LaBundy                    cycle-6 {
99244dc42d2SJeff LaBundy                            azoteq,conv-period = <2>;
99344dc42d2SJeff LaBundy                            azoteq,conv-frac = <0>;
99444dc42d2SJeff LaBundy                    };
99544dc42d2SJeff LaBundy
99644dc42d2SJeff LaBundy                    channel-0 {
99744dc42d2SJeff LaBundy                            azoteq,ulp-allow;
99844dc42d2SJeff LaBundy                            azoteq,global-halt;
99944dc42d2SJeff LaBundy                            azoteq,invert-enable;
100044dc42d2SJeff LaBundy                            azoteq,rx-enable = <3>;
100144dc42d2SJeff LaBundy                            azoteq,ati-target = <800>;
100244dc42d2SJeff LaBundy                            azoteq,ati-base = <208>;
100344dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
100444dc42d2SJeff LaBundy                    };
100544dc42d2SJeff LaBundy
100644dc42d2SJeff LaBundy                    channel-1 {
100744dc42d2SJeff LaBundy                            azoteq,global-halt;
100844dc42d2SJeff LaBundy                            azoteq,invert-enable;
100944dc42d2SJeff LaBundy                            azoteq,rx-enable = <3>;
101044dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
101144dc42d2SJeff LaBundy                            azoteq,ati-base = <208>;
101244dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
101344dc42d2SJeff LaBundy                    };
101444dc42d2SJeff LaBundy
101544dc42d2SJeff LaBundy                    channel-2 {
101644dc42d2SJeff LaBundy                            azoteq,global-halt;
101744dc42d2SJeff LaBundy                            azoteq,invert-enable;
101844dc42d2SJeff LaBundy                            azoteq,rx-enable = <3>;
101944dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
102044dc42d2SJeff LaBundy                            azoteq,ati-base = <208>;
102144dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
102244dc42d2SJeff LaBundy                    };
102344dc42d2SJeff LaBundy
102444dc42d2SJeff LaBundy                    channel-3 {
102544dc42d2SJeff LaBundy                            azoteq,global-halt;
102644dc42d2SJeff LaBundy                            azoteq,invert-enable;
102744dc42d2SJeff LaBundy                            azoteq,rx-enable = <3>;
102844dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
102944dc42d2SJeff LaBundy                            azoteq,ati-base = <208>;
103044dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
103144dc42d2SJeff LaBundy                    };
103244dc42d2SJeff LaBundy
103344dc42d2SJeff LaBundy                    channel-4 {
103444dc42d2SJeff LaBundy                            azoteq,global-halt;
103544dc42d2SJeff LaBundy                            azoteq,invert-enable;
103644dc42d2SJeff LaBundy                            azoteq,rx-enable = <3>;
103744dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
103844dc42d2SJeff LaBundy                            azoteq,ati-base = <208>;
103944dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
104044dc42d2SJeff LaBundy                    };
104144dc42d2SJeff LaBundy
104244dc42d2SJeff LaBundy                    channel-5 {
104344dc42d2SJeff LaBundy                            azoteq,ulp-allow;
104444dc42d2SJeff LaBundy                            azoteq,global-halt;
104544dc42d2SJeff LaBundy                            azoteq,invert-enable;
104644dc42d2SJeff LaBundy                            azoteq,rx-enable = <6>;
104744dc42d2SJeff LaBundy                            azoteq,ati-target = <800>;
104844dc42d2SJeff LaBundy                            azoteq,ati-base = <144>;
104944dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
105044dc42d2SJeff LaBundy                    };
105144dc42d2SJeff LaBundy
105244dc42d2SJeff LaBundy                    channel-6 {
105344dc42d2SJeff LaBundy                            azoteq,global-halt;
105444dc42d2SJeff LaBundy                            azoteq,invert-enable;
105544dc42d2SJeff LaBundy                            azoteq,rx-enable = <6>;
105644dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
105744dc42d2SJeff LaBundy                            azoteq,ati-base = <160>;
105844dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
105944dc42d2SJeff LaBundy
106044dc42d2SJeff LaBundy                            event-touch {
106144dc42d2SJeff LaBundy                                    linux,code = <KEY_MUTE>;
106244dc42d2SJeff LaBundy                            };
106344dc42d2SJeff LaBundy                    };
106444dc42d2SJeff LaBundy
106544dc42d2SJeff LaBundy                    channel-7 {
106644dc42d2SJeff LaBundy                            azoteq,global-halt;
106744dc42d2SJeff LaBundy                            azoteq,invert-enable;
106844dc42d2SJeff LaBundy                            azoteq,rx-enable = <6>;
106944dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
107044dc42d2SJeff LaBundy                            azoteq,ati-base = <160>;
107144dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
107244dc42d2SJeff LaBundy
107344dc42d2SJeff LaBundy                            event-touch {
107444dc42d2SJeff LaBundy                                    linux,code = <KEY_VOLUMEDOWN>;
107544dc42d2SJeff LaBundy                            };
107644dc42d2SJeff LaBundy                    };
107744dc42d2SJeff LaBundy
107844dc42d2SJeff LaBundy                    channel-8 {
107944dc42d2SJeff LaBundy                            azoteq,global-halt;
108044dc42d2SJeff LaBundy                            azoteq,invert-enable;
108144dc42d2SJeff LaBundy                            azoteq,rx-enable = <6>;
108244dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
108344dc42d2SJeff LaBundy                            azoteq,ati-base = <160>;
108444dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
108544dc42d2SJeff LaBundy
108644dc42d2SJeff LaBundy                            event-touch {
108744dc42d2SJeff LaBundy                                    linux,code = <KEY_VOLUMEUP>;
108844dc42d2SJeff LaBundy                            };
108944dc42d2SJeff LaBundy                    };
109044dc42d2SJeff LaBundy
109144dc42d2SJeff LaBundy                    channel-9 {
109244dc42d2SJeff LaBundy                            azoteq,global-halt;
109344dc42d2SJeff LaBundy                            azoteq,invert-enable;
109444dc42d2SJeff LaBundy                            azoteq,rx-enable = <6>;
109544dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
109644dc42d2SJeff LaBundy                            azoteq,ati-base = <160>;
109744dc42d2SJeff LaBundy                            azoteq,ati-mode = <5>;
109844dc42d2SJeff LaBundy
109944dc42d2SJeff LaBundy                            event-touch {
110044dc42d2SJeff LaBundy                                    linux,code = <KEY_POWER>;
110144dc42d2SJeff LaBundy                            };
110244dc42d2SJeff LaBundy                    };
110344dc42d2SJeff LaBundy
110444dc42d2SJeff LaBundy                    channel-10 {
110544dc42d2SJeff LaBundy                            azoteq,ulp-allow;
110644dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
110744dc42d2SJeff LaBundy                            azoteq,ati-base = <112>;
110844dc42d2SJeff LaBundy
110944dc42d2SJeff LaBundy                            event-touch {
111044dc42d2SJeff LaBundy                                    linux,code = <SW_LID>;
111144dc42d2SJeff LaBundy                                    linux,input-type = <EV_SW>;
111244dc42d2SJeff LaBundy                            };
111344dc42d2SJeff LaBundy                    };
111444dc42d2SJeff LaBundy
111544dc42d2SJeff LaBundy                    channel-11 {
111644dc42d2SJeff LaBundy                            azoteq,ati-target = <496>;
111744dc42d2SJeff LaBundy                            azoteq,ati-base = <112>;
111844dc42d2SJeff LaBundy                    };
111944dc42d2SJeff LaBundy
112044dc42d2SJeff LaBundy                    slider-0 {
112144dc42d2SJeff LaBundy                            azoteq,channel-select = <1>, <2>, <3>, <4>;
112244dc42d2SJeff LaBundy                            azoteq,slider-size = <4080>;
112344dc42d2SJeff LaBundy                            azoteq,upper-cal = <50>;
112444dc42d2SJeff LaBundy                            azoteq,lower-cal = <30>;
112544dc42d2SJeff LaBundy                            azoteq,top-speed = <200>;
112644dc42d2SJeff LaBundy                            azoteq,bottom-speed = <1>;
112744dc42d2SJeff LaBundy                            azoteq,bottom-beta = <3>;
112844dc42d2SJeff LaBundy
112944dc42d2SJeff LaBundy                            event-tap {
113044dc42d2SJeff LaBundy                                    linux,code = <KEY_PLAYPAUSE>;
113197384a65SJeff LaBundy                                    azoteq,gesture-max-ms = <400>;
113297384a65SJeff LaBundy                                    azoteq,gesture-min-ms = <32>;
113344dc42d2SJeff LaBundy                            };
113444dc42d2SJeff LaBundy
113544dc42d2SJeff LaBundy                            event-flick-pos {
113644dc42d2SJeff LaBundy                                    linux,code = <KEY_NEXTSONG>;
113797384a65SJeff LaBundy                                    azoteq,gesture-max-ms = <800>;
113897384a65SJeff LaBundy                                    azoteq,gesture-dist = <800>;
113944dc42d2SJeff LaBundy                            };
114044dc42d2SJeff LaBundy
114144dc42d2SJeff LaBundy                            event-flick-neg {
114244dc42d2SJeff LaBundy                                    linux,code = <KEY_PREVIOUSSONG>;
114344dc42d2SJeff LaBundy                            };
114444dc42d2SJeff LaBundy                    };
114544dc42d2SJeff LaBundy            };
114644dc42d2SJeff LaBundy    };
114744dc42d2SJeff LaBundy
114844dc42d2SJeff LaBundy...
1149