1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7*aa1a8ff2SEmmanuel Vadottitle: Azoteq IQS7222A/B/C/D Capacitive Touch Controller
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Jeff LaBundy <jeff@labundy.com>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotdescription: |
13*aa1a8ff2SEmmanuel Vadot  The Azoteq IQS7222A, IQS7222B, IQS7222C and IQS7222D are multichannel
14*aa1a8ff2SEmmanuel Vadot  capacitive touch controllers that feature additional sensing capabilities.
15d5b0e70fSEmmanuel Vadot
16d5b0e70fSEmmanuel Vadot  Link to datasheets: https://www.azoteq.com/
17d5b0e70fSEmmanuel Vadot
18d5b0e70fSEmmanuel Vadotproperties:
19d5b0e70fSEmmanuel Vadot  compatible:
20d5b0e70fSEmmanuel Vadot    enum:
21d5b0e70fSEmmanuel Vadot      - azoteq,iqs7222a
22d5b0e70fSEmmanuel Vadot      - azoteq,iqs7222b
23d5b0e70fSEmmanuel Vadot      - azoteq,iqs7222c
24*aa1a8ff2SEmmanuel Vadot      - azoteq,iqs7222d
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadot  reg:
27d5b0e70fSEmmanuel Vadot    maxItems: 1
28d5b0e70fSEmmanuel Vadot
29d5b0e70fSEmmanuel Vadot  irq-gpios:
30d5b0e70fSEmmanuel Vadot    maxItems: 1
31d5b0e70fSEmmanuel Vadot    description:
32d5b0e70fSEmmanuel Vadot      Specifies the GPIO connected to the device's active-low RDY output.
33d5b0e70fSEmmanuel Vadot
34d5b0e70fSEmmanuel Vadot  reset-gpios:
35d5b0e70fSEmmanuel Vadot    maxItems: 1
36d5b0e70fSEmmanuel Vadot    description:
37d5b0e70fSEmmanuel Vadot      Specifies the GPIO connected to the device's active-low MCLR input. The
38d5b0e70fSEmmanuel Vadot      device is temporarily held in hardware reset prior to initialization if
39d5b0e70fSEmmanuel Vadot      this property is present.
40d5b0e70fSEmmanuel Vadot
41d5b0e70fSEmmanuel Vadot  azoteq,max-counts:
42d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
43d5b0e70fSEmmanuel Vadot    enum: [0, 1, 2, 3]
44d5b0e70fSEmmanuel Vadot    description: |
45d5b0e70fSEmmanuel Vadot      Specifies the maximum number of conversion periods (counts) that can be
46d5b0e70fSEmmanuel Vadot      reported as follows:
47d5b0e70fSEmmanuel Vadot      0: 1023
48d5b0e70fSEmmanuel Vadot      1: 2047
49d5b0e70fSEmmanuel Vadot      2: 4095
50d5b0e70fSEmmanuel Vadot      3: 16384
51d5b0e70fSEmmanuel Vadot
52d5b0e70fSEmmanuel Vadot  azoteq,auto-mode:
53d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
54d5b0e70fSEmmanuel Vadot    enum: [0, 1, 2, 3]
55d5b0e70fSEmmanuel Vadot    description: |
56d5b0e70fSEmmanuel Vadot      Specifies the number of conversions to occur before an interrupt is
57d5b0e70fSEmmanuel Vadot      generated as follows:
58d5b0e70fSEmmanuel Vadot      0: 4
59d5b0e70fSEmmanuel Vadot      1: 8
60d5b0e70fSEmmanuel Vadot      2: 16
61d5b0e70fSEmmanuel Vadot      3: 32
62d5b0e70fSEmmanuel Vadot
63d5b0e70fSEmmanuel Vadot  azoteq,ati-frac-div-fine:
64d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
65d5b0e70fSEmmanuel Vadot    minimum: 0
66d5b0e70fSEmmanuel Vadot    maximum: 31
67d5b0e70fSEmmanuel Vadot    description: Specifies the preloaded ATI fine fractional divider.
68d5b0e70fSEmmanuel Vadot
69d5b0e70fSEmmanuel Vadot  azoteq,ati-frac-div-coarse:
70d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
71d5b0e70fSEmmanuel Vadot    minimum: 0
72d5b0e70fSEmmanuel Vadot    maximum: 31
73d5b0e70fSEmmanuel Vadot    description: Specifies the preloaded ATI coarse fractional divider.
74d5b0e70fSEmmanuel Vadot
75d5b0e70fSEmmanuel Vadot  azoteq,ati-comp-select:
76d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
77d5b0e70fSEmmanuel Vadot    minimum: 0
78d5b0e70fSEmmanuel Vadot    maximum: 1023
79d5b0e70fSEmmanuel Vadot    description: Specifies the preloaded ATI compensation selection.
80d5b0e70fSEmmanuel Vadot
81d5b0e70fSEmmanuel Vadot  azoteq,lta-beta-lp:
82d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
83d5b0e70fSEmmanuel Vadot    minimum: 0
84d5b0e70fSEmmanuel Vadot    maximum: 15
85d5b0e70fSEmmanuel Vadot    description:
86d5b0e70fSEmmanuel Vadot      Specifies the long-term average filter damping factor to be applied during
87d5b0e70fSEmmanuel Vadot      low-power mode.
88d5b0e70fSEmmanuel Vadot
89d5b0e70fSEmmanuel Vadot  azoteq,lta-beta-np:
90d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
91d5b0e70fSEmmanuel Vadot    minimum: 0
92d5b0e70fSEmmanuel Vadot    maximum: 15
93d5b0e70fSEmmanuel Vadot    description:
94d5b0e70fSEmmanuel Vadot      Specifies the long-term average filter damping factor to be applied during
95d5b0e70fSEmmanuel Vadot      normal-power mode.
96d5b0e70fSEmmanuel Vadot
97d5b0e70fSEmmanuel Vadot  azoteq,counts-beta-lp:
98d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
99d5b0e70fSEmmanuel Vadot    minimum: 0
100d5b0e70fSEmmanuel Vadot    maximum: 15
101d5b0e70fSEmmanuel Vadot    description:
102d5b0e70fSEmmanuel Vadot      Specifies the counts filter damping factor to be applied during low-power
103d5b0e70fSEmmanuel Vadot      mode.
104d5b0e70fSEmmanuel Vadot
105d5b0e70fSEmmanuel Vadot  azoteq,counts-beta-np:
106d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
107d5b0e70fSEmmanuel Vadot    minimum: 0
108d5b0e70fSEmmanuel Vadot    maximum: 15
109d5b0e70fSEmmanuel Vadot    description:
110d5b0e70fSEmmanuel Vadot      Specifies the counts filter damping factor to be applied during normal-
111d5b0e70fSEmmanuel Vadot      power mode.
112d5b0e70fSEmmanuel Vadot
113d5b0e70fSEmmanuel Vadot  azoteq,lta-fast-beta-lp:
114d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
115d5b0e70fSEmmanuel Vadot    minimum: 0
116d5b0e70fSEmmanuel Vadot    maximum: 15
117d5b0e70fSEmmanuel Vadot    description:
118d5b0e70fSEmmanuel Vadot      Specifies the long-term average filter fast damping factor to be applied
119d5b0e70fSEmmanuel Vadot      during low-power mode.
120d5b0e70fSEmmanuel Vadot
121d5b0e70fSEmmanuel Vadot  azoteq,lta-fast-beta-np:
122d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
123d5b0e70fSEmmanuel Vadot    minimum: 0
124d5b0e70fSEmmanuel Vadot    maximum: 15
125d5b0e70fSEmmanuel Vadot    description:
126d5b0e70fSEmmanuel Vadot      Specifies the long-term average filter fast damping factor to be applied
127d5b0e70fSEmmanuel Vadot      during normal-power mode.
128d5b0e70fSEmmanuel Vadot
129d5b0e70fSEmmanuel Vadot  azoteq,timeout-ati-ms:
130d5b0e70fSEmmanuel Vadot    multipleOf: 500
131d5b0e70fSEmmanuel Vadot    minimum: 0
132d5b0e70fSEmmanuel Vadot    maximum: 32767500
133d5b0e70fSEmmanuel Vadot    description:
134d5b0e70fSEmmanuel Vadot      Specifies the delay (in ms) before ATI is retried following an ATI error.
135d5b0e70fSEmmanuel Vadot
136d5b0e70fSEmmanuel Vadot  azoteq,rate-ati-ms:
137d5b0e70fSEmmanuel Vadot    minimum: 0
138d5b0e70fSEmmanuel Vadot    maximum: 65535
139d5b0e70fSEmmanuel Vadot    description: Specifies the rate (in ms) at which ATI status is evaluated.
140d5b0e70fSEmmanuel Vadot
141d5b0e70fSEmmanuel Vadot  azoteq,timeout-np-ms:
142d5b0e70fSEmmanuel Vadot    minimum: 0
143d5b0e70fSEmmanuel Vadot    maximum: 65535
144d5b0e70fSEmmanuel Vadot    description:
145d5b0e70fSEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
146d5b0e70fSEmmanuel Vadot      from normal-power mode to low-power mode.
147d5b0e70fSEmmanuel Vadot
148d5b0e70fSEmmanuel Vadot  azoteq,rate-np-ms:
149d5b0e70fSEmmanuel Vadot    minimum: 0
150d5b0e70fSEmmanuel Vadot    maximum: 3000
151d5b0e70fSEmmanuel Vadot    description: Specifies the report rate (in ms) during normal-power mode.
152d5b0e70fSEmmanuel Vadot
153d5b0e70fSEmmanuel Vadot  azoteq,timeout-lp-ms:
154d5b0e70fSEmmanuel Vadot    minimum: 0
155d5b0e70fSEmmanuel Vadot    maximum: 65535
156d5b0e70fSEmmanuel Vadot    description:
157d5b0e70fSEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
158d5b0e70fSEmmanuel Vadot      from low-power mode to ultra-low-power mode.
159d5b0e70fSEmmanuel Vadot
160d5b0e70fSEmmanuel Vadot  azoteq,rate-lp-ms:
161d5b0e70fSEmmanuel Vadot    minimum: 0
162d5b0e70fSEmmanuel Vadot    maximum: 3000
163d5b0e70fSEmmanuel Vadot    description: Specifies the report rate (in ms) during low-power mode.
164d5b0e70fSEmmanuel Vadot
165d5b0e70fSEmmanuel Vadot  azoteq,timeout-ulp-ms:
166d5b0e70fSEmmanuel Vadot    minimum: 0
167d5b0e70fSEmmanuel Vadot    maximum: 65535
168d5b0e70fSEmmanuel Vadot    description:
169d5b0e70fSEmmanuel Vadot      Specifies the rate (in ms) at which channels not regularly sampled during
170d5b0e70fSEmmanuel Vadot      ultra-low-power mode are updated.
171d5b0e70fSEmmanuel Vadot
172d5b0e70fSEmmanuel Vadot  azoteq,rate-ulp-ms:
173d5b0e70fSEmmanuel Vadot    minimum: 0
174d5b0e70fSEmmanuel Vadot    maximum: 3000
175d5b0e70fSEmmanuel Vadot    description: Specifies the report rate (in ms) during ultra-low-power mode.
176d5b0e70fSEmmanuel Vadot
177*aa1a8ff2SEmmanuel Vadot  touchscreen-size-x: true
178*aa1a8ff2SEmmanuel Vadot  touchscreen-size-y: true
179*aa1a8ff2SEmmanuel Vadot  touchscreen-inverted-x: true
180*aa1a8ff2SEmmanuel Vadot  touchscreen-inverted-y: true
181*aa1a8ff2SEmmanuel Vadot  touchscreen-swapped-x-y: true
182*aa1a8ff2SEmmanuel Vadot
183*aa1a8ff2SEmmanuel Vadot  trackpad:
184*aa1a8ff2SEmmanuel Vadot    type: object
185*aa1a8ff2SEmmanuel Vadot    description: Represents all channels associated with the trackpad.
186*aa1a8ff2SEmmanuel Vadot
187*aa1a8ff2SEmmanuel Vadot    properties:
188*aa1a8ff2SEmmanuel Vadot      azoteq,channel-select:
189*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
190*aa1a8ff2SEmmanuel Vadot        minItems: 1
191*aa1a8ff2SEmmanuel Vadot        maxItems: 12
192*aa1a8ff2SEmmanuel Vadot        items:
193*aa1a8ff2SEmmanuel Vadot          minimum: 0
194*aa1a8ff2SEmmanuel Vadot          maximum: 13
195*aa1a8ff2SEmmanuel Vadot        description:
196*aa1a8ff2SEmmanuel Vadot          Specifies the order of the channels that participate in the trackpad.
197*aa1a8ff2SEmmanuel Vadot          Specify 255 to omit a given channel for the purpose of mapping a non-
198*aa1a8ff2SEmmanuel Vadot          rectangular trackpad.
199*aa1a8ff2SEmmanuel Vadot
200*aa1a8ff2SEmmanuel Vadot      azoteq,num-rows:
201*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
202*aa1a8ff2SEmmanuel Vadot        minimum: 1
203*aa1a8ff2SEmmanuel Vadot        maximum: 12
204*aa1a8ff2SEmmanuel Vadot        description: Specifies the number of rows that comprise the trackpad.
205*aa1a8ff2SEmmanuel Vadot
206*aa1a8ff2SEmmanuel Vadot      azoteq,num-cols:
207*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
208*aa1a8ff2SEmmanuel Vadot        minimum: 1
209*aa1a8ff2SEmmanuel Vadot        maximum: 12
210*aa1a8ff2SEmmanuel Vadot        description: Specifies the number of columns that comprise the trackpad.
211*aa1a8ff2SEmmanuel Vadot
212*aa1a8ff2SEmmanuel Vadot      azoteq,top-speed:
213*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
214*aa1a8ff2SEmmanuel Vadot        multipleOf: 4
215*aa1a8ff2SEmmanuel Vadot        minimum: 0
216*aa1a8ff2SEmmanuel Vadot        maximum: 1020
217*aa1a8ff2SEmmanuel Vadot        description:
218*aa1a8ff2SEmmanuel Vadot          Specifies the speed (in coordinates traveled per conversion) after
219*aa1a8ff2SEmmanuel Vadot          which coordinate filtering is no longer applied.
220*aa1a8ff2SEmmanuel Vadot
221*aa1a8ff2SEmmanuel Vadot      azoteq,bottom-speed:
222*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
223*aa1a8ff2SEmmanuel Vadot        minimum: 0
224*aa1a8ff2SEmmanuel Vadot        maximum: 255
225*aa1a8ff2SEmmanuel Vadot        description:
226*aa1a8ff2SEmmanuel Vadot          Specifies the speed (in coordinates traveled per conversion) after
227*aa1a8ff2SEmmanuel Vadot          which coordinate filtering is linearly reduced.
228*aa1a8ff2SEmmanuel Vadot
229*aa1a8ff2SEmmanuel Vadot      azoteq,use-prox:
230*aa1a8ff2SEmmanuel Vadot        type: boolean
231*aa1a8ff2SEmmanuel Vadot        description:
232*aa1a8ff2SEmmanuel Vadot          Directs the trackpad to respond to the proximity states of the
233*aa1a8ff2SEmmanuel Vadot          selected channels instead of their corresponding touch states.
234*aa1a8ff2SEmmanuel Vadot          Note the trackpad cannot report granular coordinates during a
235*aa1a8ff2SEmmanuel Vadot          state of proximity.
236*aa1a8ff2SEmmanuel Vadot
237*aa1a8ff2SEmmanuel Vadot    patternProperties:
238*aa1a8ff2SEmmanuel Vadot      "^azoteq,lower-cal-(x|y)$":
239*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
240*aa1a8ff2SEmmanuel Vadot        minimum: 0
241*aa1a8ff2SEmmanuel Vadot        maximum: 255
242*aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's lower starting points.
243*aa1a8ff2SEmmanuel Vadot
244*aa1a8ff2SEmmanuel Vadot      "^azoteq,upper-cal-(x|y)$":
245*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
246*aa1a8ff2SEmmanuel Vadot        minimum: 0
247*aa1a8ff2SEmmanuel Vadot        maximum: 255
248*aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's upper starting points.
249*aa1a8ff2SEmmanuel Vadot
250*aa1a8ff2SEmmanuel Vadot      "^event-(press|tap|(swipe|flick)-(x|y)-(pos|neg))$":
251*aa1a8ff2SEmmanuel Vadot        type: object
252*aa1a8ff2SEmmanuel Vadot        $ref: input.yaml#
253*aa1a8ff2SEmmanuel Vadot        description:
254*aa1a8ff2SEmmanuel Vadot          Represents a press or gesture event reported by the trackpad. Specify
255*aa1a8ff2SEmmanuel Vadot          'linux,code' under the press event to report absolute coordinates.
256*aa1a8ff2SEmmanuel Vadot
257*aa1a8ff2SEmmanuel Vadot        properties:
258*aa1a8ff2SEmmanuel Vadot          linux,code: true
259*aa1a8ff2SEmmanuel Vadot
260*aa1a8ff2SEmmanuel Vadot          azoteq,gesture-angle-tighten:
261*aa1a8ff2SEmmanuel Vadot            type: boolean
262*aa1a8ff2SEmmanuel Vadot            description:
263*aa1a8ff2SEmmanuel Vadot              Limits the tangent of the gesture angle to 0.5 (axial gestures
264*aa1a8ff2SEmmanuel Vadot              only). If specified in one direction, the effect is applied in
265*aa1a8ff2SEmmanuel Vadot              either direction.
266*aa1a8ff2SEmmanuel Vadot
267*aa1a8ff2SEmmanuel Vadot          azoteq,gesture-max-ms:
268*aa1a8ff2SEmmanuel Vadot            multipleOf: 16
269*aa1a8ff2SEmmanuel Vadot            minimum: 0
270*aa1a8ff2SEmmanuel Vadot            maximum: 4080
271*aa1a8ff2SEmmanuel Vadot            description:
272*aa1a8ff2SEmmanuel Vadot              Specifies the length of time (in ms) within which a tap, swipe
273*aa1a8ff2SEmmanuel Vadot              or flick gesture must be completed in order to be acknowledged
274*aa1a8ff2SEmmanuel Vadot              by the device. The number specified for any one swipe or flick
275*aa1a8ff2SEmmanuel Vadot              gesture applies to all other swipe or flick gestures.
276*aa1a8ff2SEmmanuel Vadot
277*aa1a8ff2SEmmanuel Vadot          azoteq,gesture-min-ms:
278*aa1a8ff2SEmmanuel Vadot            multipleOf: 16
279*aa1a8ff2SEmmanuel Vadot            minimum: 0
280*aa1a8ff2SEmmanuel Vadot            maximum: 4080
281*aa1a8ff2SEmmanuel Vadot            description:
282*aa1a8ff2SEmmanuel Vadot              Specifies the length of time (in ms) for which a tap gesture must
283*aa1a8ff2SEmmanuel Vadot              be held in order to be acknowledged by the device.
284*aa1a8ff2SEmmanuel Vadot
285*aa1a8ff2SEmmanuel Vadot          azoteq,gesture-dist:
286*aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
287*aa1a8ff2SEmmanuel Vadot            minimum: 0
288*aa1a8ff2SEmmanuel Vadot            maximum: 65535
289*aa1a8ff2SEmmanuel Vadot            description:
290*aa1a8ff2SEmmanuel Vadot              Specifies the distance (in coordinates) across which a swipe or
291*aa1a8ff2SEmmanuel Vadot              flick gesture must travel in order to be acknowledged by the
292*aa1a8ff2SEmmanuel Vadot              device. The number specified for any one swipe or flick gesture
293*aa1a8ff2SEmmanuel Vadot              applies to all remaining swipe or flick gestures.
294*aa1a8ff2SEmmanuel Vadot
295*aa1a8ff2SEmmanuel Vadot              For tap gestures, this property specifies the distance from the
296*aa1a8ff2SEmmanuel Vadot              original point of contact across which the contact is permitted
297*aa1a8ff2SEmmanuel Vadot              to travel before the gesture is rejected by the device.
298*aa1a8ff2SEmmanuel Vadot
299*aa1a8ff2SEmmanuel Vadot          azoteq,gpio-select:
300*aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32-array
301*aa1a8ff2SEmmanuel Vadot            minItems: 1
302*aa1a8ff2SEmmanuel Vadot            maxItems: 3
303*aa1a8ff2SEmmanuel Vadot            items:
304*aa1a8ff2SEmmanuel Vadot              minimum: 0
305*aa1a8ff2SEmmanuel Vadot              maximum: 2
306*aa1a8ff2SEmmanuel Vadot            description: |
307*aa1a8ff2SEmmanuel Vadot              Specifies one or more GPIO mapped to the event as follows:
308*aa1a8ff2SEmmanuel Vadot              0: GPIO0
309*aa1a8ff2SEmmanuel Vadot              1: GPIO3
310*aa1a8ff2SEmmanuel Vadot              2: GPIO4
311*aa1a8ff2SEmmanuel Vadot
312*aa1a8ff2SEmmanuel Vadot              Note that although multiple events can be mapped to a single
313*aa1a8ff2SEmmanuel Vadot              GPIO, they must all be of the same type (proximity, touch or
314*aa1a8ff2SEmmanuel Vadot              trackpad gesture).
315*aa1a8ff2SEmmanuel Vadot
316*aa1a8ff2SEmmanuel Vadot        additionalProperties: false
317*aa1a8ff2SEmmanuel Vadot
318*aa1a8ff2SEmmanuel Vadot    required:
319*aa1a8ff2SEmmanuel Vadot      - azoteq,channel-select
320*aa1a8ff2SEmmanuel Vadot
321*aa1a8ff2SEmmanuel Vadot    additionalProperties: false
322*aa1a8ff2SEmmanuel Vadot
323d5b0e70fSEmmanuel VadotpatternProperties:
324d5b0e70fSEmmanuel Vadot  "^cycle-[0-9]$":
325d5b0e70fSEmmanuel Vadot    type: object
326d5b0e70fSEmmanuel Vadot    description: Represents a conversion cycle serving two sensing channels.
327d5b0e70fSEmmanuel Vadot
328d5b0e70fSEmmanuel Vadot    properties:
329d5b0e70fSEmmanuel Vadot      azoteq,conv-period:
330d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
331d5b0e70fSEmmanuel Vadot        minimum: 0
332d5b0e70fSEmmanuel Vadot        maximum: 255
333d5b0e70fSEmmanuel Vadot        description: Specifies the cycle's conversion period.
334d5b0e70fSEmmanuel Vadot
335d5b0e70fSEmmanuel Vadot      azoteq,conv-frac:
336d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
337d5b0e70fSEmmanuel Vadot        minimum: 0
338d5b0e70fSEmmanuel Vadot        maximum: 255
339d5b0e70fSEmmanuel Vadot        description: Specifies the cycle's conversion frequency fraction.
340d5b0e70fSEmmanuel Vadot
341d5b0e70fSEmmanuel Vadot      azoteq,tx-enable:
342d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
343d5b0e70fSEmmanuel Vadot        minItems: 1
344d5b0e70fSEmmanuel Vadot        maxItems: 9
345d5b0e70fSEmmanuel Vadot        items:
346d5b0e70fSEmmanuel Vadot          minimum: 0
347d5b0e70fSEmmanuel Vadot          maximum: 8
348d5b0e70fSEmmanuel Vadot        description: Specifies the CTx pin(s) associated with the cycle.
349d5b0e70fSEmmanuel Vadot
350d5b0e70fSEmmanuel Vadot      azoteq,rx-float-inactive:
351d5b0e70fSEmmanuel Vadot        type: boolean
352d5b0e70fSEmmanuel Vadot        description: Floats any inactive CRx pins instead of grounding them.
353d5b0e70fSEmmanuel Vadot
354d5b0e70fSEmmanuel Vadot      azoteq,dead-time-enable:
355d5b0e70fSEmmanuel Vadot        type: boolean
356d5b0e70fSEmmanuel Vadot        description:
357d5b0e70fSEmmanuel Vadot          Increases the denominator of the conversion frequency formula by one.
358d5b0e70fSEmmanuel Vadot
359d5b0e70fSEmmanuel Vadot      azoteq,tx-freq-fosc:
360d5b0e70fSEmmanuel Vadot        type: boolean
361d5b0e70fSEmmanuel Vadot        description:
362d5b0e70fSEmmanuel Vadot          Fixes the conversion frequency to that of the device's core clock.
363d5b0e70fSEmmanuel Vadot
364d5b0e70fSEmmanuel Vadot      azoteq,vbias-enable:
365d5b0e70fSEmmanuel Vadot        type: boolean
366d5b0e70fSEmmanuel Vadot        description: Enables the bias voltage for use during inductive sensing.
367d5b0e70fSEmmanuel Vadot
368d5b0e70fSEmmanuel Vadot      azoteq,sense-mode:
369d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
370d5b0e70fSEmmanuel Vadot        enum: [0, 1, 2, 3]
371d5b0e70fSEmmanuel Vadot        description: |
372d5b0e70fSEmmanuel Vadot          Specifies the cycle's sensing mode as follows:
373d5b0e70fSEmmanuel Vadot          0: None
374d5b0e70fSEmmanuel Vadot          1: Self capacitive
375d5b0e70fSEmmanuel Vadot          2: Mutual capacitive
376d5b0e70fSEmmanuel Vadot          3: Inductive
377d5b0e70fSEmmanuel Vadot
378d5b0e70fSEmmanuel Vadot          Note that in the case of IQS7222A, cycles 5 and 6 are restricted to
379d5b0e70fSEmmanuel Vadot          Hall-effect sensing.
380d5b0e70fSEmmanuel Vadot
381d5b0e70fSEmmanuel Vadot      azoteq,iref-enable:
382d5b0e70fSEmmanuel Vadot        type: boolean
383d5b0e70fSEmmanuel Vadot        description:
384d5b0e70fSEmmanuel Vadot          Enables the current reference for use during various sensing modes.
385d5b0e70fSEmmanuel Vadot
386d5b0e70fSEmmanuel Vadot      azoteq,iref-level:
387d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
388d5b0e70fSEmmanuel Vadot        minimum: 0
389d5b0e70fSEmmanuel Vadot        maximum: 15
390d5b0e70fSEmmanuel Vadot        description: Specifies the cycle's current reference level.
391d5b0e70fSEmmanuel Vadot
392d5b0e70fSEmmanuel Vadot      azoteq,iref-trim:
393d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
394d5b0e70fSEmmanuel Vadot        minimum: 0
395d5b0e70fSEmmanuel Vadot        maximum: 15
396d5b0e70fSEmmanuel Vadot        description: Specifies the cycle's current reference trim.
397d5b0e70fSEmmanuel Vadot
398d5b0e70fSEmmanuel Vadot    dependencies:
399d5b0e70fSEmmanuel Vadot      azoteq,iref-level: ["azoteq,iref-enable"]
400d5b0e70fSEmmanuel Vadot      azoteq,iref-trim: ["azoteq,iref-enable"]
401d5b0e70fSEmmanuel Vadot
402d5b0e70fSEmmanuel Vadot    additionalProperties: false
403d5b0e70fSEmmanuel Vadot
404d5b0e70fSEmmanuel Vadot  "^channel-([0-9]|1[0-9])$":
405d5b0e70fSEmmanuel Vadot    type: object
406d5b0e70fSEmmanuel Vadot    description:
407d5b0e70fSEmmanuel Vadot      Represents a single sensing channel. A channel is active if defined and
408d5b0e70fSEmmanuel Vadot      inactive otherwise.
409d5b0e70fSEmmanuel Vadot
410d5b0e70fSEmmanuel Vadot      Note that in the case of IQS7222A, channels 10 and 11 are restricted to
411d5b0e70fSEmmanuel Vadot      Hall-effect sensing with events reported on channel 10 only.
412d5b0e70fSEmmanuel Vadot
413d5b0e70fSEmmanuel Vadot    properties:
414d5b0e70fSEmmanuel Vadot      azoteq,ulp-allow:
415d5b0e70fSEmmanuel Vadot        type: boolean
416d5b0e70fSEmmanuel Vadot        description:
417d5b0e70fSEmmanuel Vadot          Permits the device to enter ultra-low-power mode while the channel
418d5b0e70fSEmmanuel Vadot          lies in a state of touch or proximity.
419d5b0e70fSEmmanuel Vadot
420d5b0e70fSEmmanuel Vadot      azoteq,ref-select:
421d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
422d5b0e70fSEmmanuel Vadot        minimum: 0
423d5b0e70fSEmmanuel Vadot        maximum: 9
424d5b0e70fSEmmanuel Vadot        description: Specifies a separate reference channel to be followed.
425d5b0e70fSEmmanuel Vadot
426d5b0e70fSEmmanuel Vadot      azoteq,ref-weight:
427d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
428d5b0e70fSEmmanuel Vadot        minimum: 0
429d5b0e70fSEmmanuel Vadot        maximum: 65535
430d5b0e70fSEmmanuel Vadot        description: Specifies the relative weight of the reference channel.
431d5b0e70fSEmmanuel Vadot
432d5b0e70fSEmmanuel Vadot      azoteq,use-prox:
433d5b0e70fSEmmanuel Vadot        type: boolean
434d5b0e70fSEmmanuel Vadot        description:
435d5b0e70fSEmmanuel Vadot          Activates the reference channel in response to proximity events
436d5b0e70fSEmmanuel Vadot          instead of touch events.
437d5b0e70fSEmmanuel Vadot
438*aa1a8ff2SEmmanuel Vadot      azoteq,counts-filt-enable:
439*aa1a8ff2SEmmanuel Vadot        type: boolean
440*aa1a8ff2SEmmanuel Vadot        description: Applies counts filtering to the channel.
441*aa1a8ff2SEmmanuel Vadot
442d5b0e70fSEmmanuel Vadot      azoteq,ati-band:
443d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
444d5b0e70fSEmmanuel Vadot        enum: [0, 1, 2, 3]
445d5b0e70fSEmmanuel Vadot        description: |
446d5b0e70fSEmmanuel Vadot          Specifies the channel's ATI band as a fraction of its ATI target as
447d5b0e70fSEmmanuel Vadot          follows:
448d5b0e70fSEmmanuel Vadot          0: 1/16
449d5b0e70fSEmmanuel Vadot          1: 1/8
450d5b0e70fSEmmanuel Vadot          2: 1/4
451d5b0e70fSEmmanuel Vadot          3: 1/2
452d5b0e70fSEmmanuel Vadot
453d5b0e70fSEmmanuel Vadot      azoteq,global-halt:
454d5b0e70fSEmmanuel Vadot        type: boolean
455d5b0e70fSEmmanuel Vadot        description:
456d5b0e70fSEmmanuel Vadot          Specifies that the channel's long-term average is to freeze if any
457d5b0e70fSEmmanuel Vadot          other participating channel lies in a proximity or touch state.
458d5b0e70fSEmmanuel Vadot
459d5b0e70fSEmmanuel Vadot      azoteq,invert-enable:
460d5b0e70fSEmmanuel Vadot        type: boolean
461d5b0e70fSEmmanuel Vadot        description:
462d5b0e70fSEmmanuel Vadot          Inverts the polarity of the states reported for proximity and touch
463d5b0e70fSEmmanuel Vadot          events relative to their respective thresholds.
464d5b0e70fSEmmanuel Vadot
465d5b0e70fSEmmanuel Vadot      azoteq,dual-direction:
466d5b0e70fSEmmanuel Vadot        type: boolean
467d5b0e70fSEmmanuel Vadot        description:
468d5b0e70fSEmmanuel Vadot          Specifies that the channel's long-term average is to freeze in the
469d5b0e70fSEmmanuel Vadot          presence of either increasing or decreasing counts, thereby permit-
470d5b0e70fSEmmanuel Vadot          ting events to be reported in either direction.
471d5b0e70fSEmmanuel Vadot
472d5b0e70fSEmmanuel Vadot      azoteq,rx-enable:
473d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
474d5b0e70fSEmmanuel Vadot        minItems: 1
475d5b0e70fSEmmanuel Vadot        maxItems: 4
476d5b0e70fSEmmanuel Vadot        items:
477d5b0e70fSEmmanuel Vadot          minimum: 0
478d5b0e70fSEmmanuel Vadot          maximum: 7
479d5b0e70fSEmmanuel Vadot        description: Specifies the CRx pin(s) associated with the channel.
480d5b0e70fSEmmanuel Vadot
481d5b0e70fSEmmanuel Vadot      azoteq,samp-cap-double:
482d5b0e70fSEmmanuel Vadot        type: boolean
483d5b0e70fSEmmanuel Vadot        description: Doubles the sampling capacitance from 40 pF to 80 pF.
484d5b0e70fSEmmanuel Vadot
485d5b0e70fSEmmanuel Vadot      azoteq,vref-half:
486d5b0e70fSEmmanuel Vadot        type: boolean
487d5b0e70fSEmmanuel Vadot        description: Halves the discharge threshold from 1.0 V to 0.5 V.
488d5b0e70fSEmmanuel Vadot
489d5b0e70fSEmmanuel Vadot      azoteq,proj-bias:
490d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
491d5b0e70fSEmmanuel Vadot        enum: [0, 1, 2, 3]
492d5b0e70fSEmmanuel Vadot        description: |
493d5b0e70fSEmmanuel Vadot          Specifies the bias current applied during mutual (projected)
494d5b0e70fSEmmanuel Vadot          capacitive sensing as follows:
495d5b0e70fSEmmanuel Vadot          0: 2 uA
496d5b0e70fSEmmanuel Vadot          1: 5 uA
497d5b0e70fSEmmanuel Vadot          2: 7 uA
498d5b0e70fSEmmanuel Vadot          3: 10 uA
499d5b0e70fSEmmanuel Vadot
500d5b0e70fSEmmanuel Vadot      azoteq,ati-target:
501d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
502d5b0e70fSEmmanuel Vadot        multipleOf: 8
503d5b0e70fSEmmanuel Vadot        minimum: 0
504d5b0e70fSEmmanuel Vadot        maximum: 2040
505d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI target.
506d5b0e70fSEmmanuel Vadot
507d5b0e70fSEmmanuel Vadot      azoteq,ati-base:
508d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
509d5b0e70fSEmmanuel Vadot        multipleOf: 16
510d5b0e70fSEmmanuel Vadot        minimum: 0
511d5b0e70fSEmmanuel Vadot        maximum: 496
512d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI base.
513d5b0e70fSEmmanuel Vadot
514d5b0e70fSEmmanuel Vadot      azoteq,ati-mode:
515d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
516d5b0e70fSEmmanuel Vadot        enum: [0, 1, 2, 3, 4, 5]
517d5b0e70fSEmmanuel Vadot        description: |
518d5b0e70fSEmmanuel Vadot          Specifies the channel's ATI mode as follows:
519d5b0e70fSEmmanuel Vadot          0: Disabled
520d5b0e70fSEmmanuel Vadot          1: Compensation
521d5b0e70fSEmmanuel Vadot          2: Compensation divider
522d5b0e70fSEmmanuel Vadot          3: Fine fractional divider
523d5b0e70fSEmmanuel Vadot          4: Coarse fractional divider
524d5b0e70fSEmmanuel Vadot          5: Full
525d5b0e70fSEmmanuel Vadot
526d5b0e70fSEmmanuel Vadot      azoteq,ati-frac-div-fine:
527d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
528d5b0e70fSEmmanuel Vadot        minimum: 0
529d5b0e70fSEmmanuel Vadot        maximum: 31
530d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI fine fractional divider.
531d5b0e70fSEmmanuel Vadot
532d5b0e70fSEmmanuel Vadot      azoteq,ati-frac-mult-coarse:
533d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
534d5b0e70fSEmmanuel Vadot        minimum: 0
535d5b0e70fSEmmanuel Vadot        maximum: 15
536d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI coarse fractional multiplier.
537d5b0e70fSEmmanuel Vadot
538d5b0e70fSEmmanuel Vadot      azoteq,ati-frac-div-coarse:
539d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
540d5b0e70fSEmmanuel Vadot        minimum: 0
541d5b0e70fSEmmanuel Vadot        maximum: 31
542d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI coarse fractional divider.
543d5b0e70fSEmmanuel Vadot
544d5b0e70fSEmmanuel Vadot      azoteq,ati-comp-div:
545d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
546d5b0e70fSEmmanuel Vadot        minimum: 0
547d5b0e70fSEmmanuel Vadot        maximum: 31
548d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI compensation divider.
549d5b0e70fSEmmanuel Vadot
550d5b0e70fSEmmanuel Vadot      azoteq,ati-comp-select:
551d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
552d5b0e70fSEmmanuel Vadot        minimum: 0
553d5b0e70fSEmmanuel Vadot        maximum: 1023
554d5b0e70fSEmmanuel Vadot        description: Specifies the channel's ATI compensation selection.
555d5b0e70fSEmmanuel Vadot
556d5b0e70fSEmmanuel Vadot      azoteq,debounce-enter:
557d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
558d5b0e70fSEmmanuel Vadot        minimum: 0
559d5b0e70fSEmmanuel Vadot        maximum: 15
560d5b0e70fSEmmanuel Vadot        description: Specifies the channel's debounce entrance factor.
561d5b0e70fSEmmanuel Vadot
562d5b0e70fSEmmanuel Vadot      azoteq,debounce-exit:
563d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
564d5b0e70fSEmmanuel Vadot        minimum: 0
565d5b0e70fSEmmanuel Vadot        maximum: 15
566d5b0e70fSEmmanuel Vadot        description: Specifies the channel's debounce exit factor.
567d5b0e70fSEmmanuel Vadot
568d5b0e70fSEmmanuel Vadot    patternProperties:
569d5b0e70fSEmmanuel Vadot      "^event-(prox|touch)$":
570d5b0e70fSEmmanuel Vadot        type: object
571b97ee269SEmmanuel Vadot        $ref: input.yaml#
572d5b0e70fSEmmanuel Vadot        description:
573d5b0e70fSEmmanuel Vadot          Represents a proximity or touch event reported by the channel.
574d5b0e70fSEmmanuel Vadot
575d5b0e70fSEmmanuel Vadot        properties:
576d5b0e70fSEmmanuel Vadot          azoteq,gpio-select:
577d5b0e70fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32-array
578d5b0e70fSEmmanuel Vadot            minItems: 1
579d5b0e70fSEmmanuel Vadot            maxItems: 3
580d5b0e70fSEmmanuel Vadot            items:
581d5b0e70fSEmmanuel Vadot              minimum: 0
582d5b0e70fSEmmanuel Vadot              maximum: 2
583d5b0e70fSEmmanuel Vadot            description: |
584d5b0e70fSEmmanuel Vadot              Specifies one or more GPIO mapped to the event as follows:
585d5b0e70fSEmmanuel Vadot              0: GPIO0
586*aa1a8ff2SEmmanuel Vadot              1: GPIO3
587*aa1a8ff2SEmmanuel Vadot              2: GPIO4
588d5b0e70fSEmmanuel Vadot
589d5b0e70fSEmmanuel Vadot              Note that although multiple events can be mapped to a single
590d5b0e70fSEmmanuel Vadot              GPIO, they must all be of the same type (proximity, touch or
591*aa1a8ff2SEmmanuel Vadot              slider/trackpad gesture).
592d5b0e70fSEmmanuel Vadot
593d5b0e70fSEmmanuel Vadot          azoteq,thresh:
594d5b0e70fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
595d5b0e70fSEmmanuel Vadot            description:
596d5b0e70fSEmmanuel Vadot              Specifies the threshold for the event. Valid entries range from
597d5b0e70fSEmmanuel Vadot              0-127 and 0-255 for proximity and touch events, respectively.
598d5b0e70fSEmmanuel Vadot
599d5b0e70fSEmmanuel Vadot          azoteq,hyst:
600d5b0e70fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
601d5b0e70fSEmmanuel Vadot            minimum: 0
602d5b0e70fSEmmanuel Vadot            maximum: 255
603d5b0e70fSEmmanuel Vadot            description:
604d5b0e70fSEmmanuel Vadot              Specifies the hysteresis for the event (touch events only).
605d5b0e70fSEmmanuel Vadot
606d5b0e70fSEmmanuel Vadot          azoteq,timeout-press-ms:
607d5b0e70fSEmmanuel Vadot            multipleOf: 500
608d5b0e70fSEmmanuel Vadot            minimum: 0
609d5b0e70fSEmmanuel Vadot            maximum: 127500
610d5b0e70fSEmmanuel Vadot            description:
611d5b0e70fSEmmanuel Vadot              Specifies the length of time (in ms) to wait before automatically
612d5b0e70fSEmmanuel Vadot              releasing a press event. Specify zero to allow the press state to
613d5b0e70fSEmmanuel Vadot              persist indefinitely.
614d5b0e70fSEmmanuel Vadot
615d5b0e70fSEmmanuel Vadot              The IQS7222B does not feature channel-specific timeouts; the time-
616d5b0e70fSEmmanuel Vadot              out specified for any one channel applies to all channels.
617d5b0e70fSEmmanuel Vadot
618b97ee269SEmmanuel Vadot          linux,code: true
619d5b0e70fSEmmanuel Vadot
620d5b0e70fSEmmanuel Vadot          linux,input-type:
621d5b0e70fSEmmanuel Vadot            enum: [1, 5]
622d5b0e70fSEmmanuel Vadot            default: 1
623d5b0e70fSEmmanuel Vadot            description:
624d5b0e70fSEmmanuel Vadot              Specifies whether the event is to be interpreted as a key (1)
625d5b0e70fSEmmanuel Vadot              or a switch (5).
626d5b0e70fSEmmanuel Vadot
627d5b0e70fSEmmanuel Vadot        additionalProperties: false
628d5b0e70fSEmmanuel Vadot
629d5b0e70fSEmmanuel Vadot    dependencies:
630d5b0e70fSEmmanuel Vadot      azoteq,ref-weight: ["azoteq,ref-select"]
631d5b0e70fSEmmanuel Vadot      azoteq,use-prox: ["azoteq,ref-select"]
632d5b0e70fSEmmanuel Vadot
633d5b0e70fSEmmanuel Vadot    additionalProperties: false
634d5b0e70fSEmmanuel Vadot
635d5b0e70fSEmmanuel Vadot  "^slider-[0-1]$":
636d5b0e70fSEmmanuel Vadot    type: object
637d5b0e70fSEmmanuel Vadot    description: Represents a slider comprising three or four channels.
638d5b0e70fSEmmanuel Vadot
639d5b0e70fSEmmanuel Vadot    properties:
640d5b0e70fSEmmanuel Vadot      azoteq,channel-select:
641d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
642d5b0e70fSEmmanuel Vadot        minItems: 3
643d5b0e70fSEmmanuel Vadot        maxItems: 4
644d5b0e70fSEmmanuel Vadot        items:
645d5b0e70fSEmmanuel Vadot          minimum: 0
646d5b0e70fSEmmanuel Vadot          maximum: 9
647d5b0e70fSEmmanuel Vadot        description:
648d5b0e70fSEmmanuel Vadot          Specifies the order of the channels that participate in the slider.
649d5b0e70fSEmmanuel Vadot
650d5b0e70fSEmmanuel Vadot      azoteq,slider-size:
651d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6528bab661aSEmmanuel Vadot        minimum: 1
653d5b0e70fSEmmanuel Vadot        maximum: 65535
654d5b0e70fSEmmanuel Vadot        description:
655d5b0e70fSEmmanuel Vadot          Specifies the slider's one-dimensional resolution, equal to the
656d5b0e70fSEmmanuel Vadot          maximum coordinate plus one.
657d5b0e70fSEmmanuel Vadot
658d5b0e70fSEmmanuel Vadot      azoteq,lower-cal:
659d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
660d5b0e70fSEmmanuel Vadot        minimum: 0
661d5b0e70fSEmmanuel Vadot        maximum: 255
662d5b0e70fSEmmanuel Vadot        description: Specifies the slider's lower starting point.
663d5b0e70fSEmmanuel Vadot
664d5b0e70fSEmmanuel Vadot      azoteq,upper-cal:
665d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
666d5b0e70fSEmmanuel Vadot        minimum: 0
667d5b0e70fSEmmanuel Vadot        maximum: 255
668d5b0e70fSEmmanuel Vadot        description: Specifies the slider's upper starting point.
669d5b0e70fSEmmanuel Vadot
670d5b0e70fSEmmanuel Vadot      azoteq,top-speed:
671d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
672d5b0e70fSEmmanuel Vadot        minimum: 0
673d5b0e70fSEmmanuel Vadot        maximum: 65535
674d5b0e70fSEmmanuel Vadot        description:
675*aa1a8ff2SEmmanuel Vadot          Specifies the speed (in coordinates traveled per conversion) after
676*aa1a8ff2SEmmanuel Vadot          which coordinate filtering is no longer applied.
677d5b0e70fSEmmanuel Vadot
678d5b0e70fSEmmanuel Vadot      azoteq,bottom-speed:
679d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
680d5b0e70fSEmmanuel Vadot        minimum: 0
681b97ee269SEmmanuel Vadot        maximum: 255
682d5b0e70fSEmmanuel Vadot        description:
683*aa1a8ff2SEmmanuel Vadot          Specifies the speed (in coordinates traveled per conversion) after
684*aa1a8ff2SEmmanuel Vadot          which coordinate filtering is linearly reduced.
685d5b0e70fSEmmanuel Vadot
686d5b0e70fSEmmanuel Vadot      azoteq,bottom-beta:
687d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
688d5b0e70fSEmmanuel Vadot        minimum: 0
689d5b0e70fSEmmanuel Vadot        maximum: 7
690d5b0e70fSEmmanuel Vadot        description:
691d5b0e70fSEmmanuel Vadot          Specifies the coordinate filter damping factor to be applied
692d5b0e70fSEmmanuel Vadot          while the speed of movement is below that which is specified
693d5b0e70fSEmmanuel Vadot          by azoteq,bottom-speed.
694d5b0e70fSEmmanuel Vadot
695d5b0e70fSEmmanuel Vadot      azoteq,static-beta:
696d5b0e70fSEmmanuel Vadot        type: boolean
697d5b0e70fSEmmanuel Vadot        description:
698d5b0e70fSEmmanuel Vadot          Applies the coordinate filter damping factor specified by
699d5b0e70fSEmmanuel Vadot          azoteq,bottom-beta regardless of the speed of movement.
700d5b0e70fSEmmanuel Vadot
701d5b0e70fSEmmanuel Vadot      azoteq,use-prox:
702d5b0e70fSEmmanuel Vadot        type: boolean
703d5b0e70fSEmmanuel Vadot        description:
704d5b0e70fSEmmanuel Vadot          Directs the slider to respond to the proximity states of the selected
705d5b0e70fSEmmanuel Vadot          channels instead of their corresponding touch states. Note the slider
706d5b0e70fSEmmanuel Vadot          cannot report granular coordinates during a state of proximity.
707d5b0e70fSEmmanuel Vadot
708d5b0e70fSEmmanuel Vadot      linux,axis:
709d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
710d5b0e70fSEmmanuel Vadot        description:
711d5b0e70fSEmmanuel Vadot          Specifies the absolute axis to which coordinates are mapped. Specify
712d5b0e70fSEmmanuel Vadot          ABS_WHEEL to operate the slider as a wheel (IQS7222C only).
713d5b0e70fSEmmanuel Vadot
714d5b0e70fSEmmanuel Vadot    patternProperties:
715d5b0e70fSEmmanuel Vadot      "^event-(press|tap|(swipe|flick)-(pos|neg))$":
716d5b0e70fSEmmanuel Vadot        type: object
717b97ee269SEmmanuel Vadot        $ref: input.yaml#
718d5b0e70fSEmmanuel Vadot        description:
719d5b0e70fSEmmanuel Vadot          Represents a press or gesture (IQS7222A only) event reported by
720d5b0e70fSEmmanuel Vadot          the slider.
721d5b0e70fSEmmanuel Vadot
722d5b0e70fSEmmanuel Vadot        properties:
723b97ee269SEmmanuel Vadot          linux,code: true
724d5b0e70fSEmmanuel Vadot
725d5b0e70fSEmmanuel Vadot          azoteq,gesture-max-ms:
7268bab661aSEmmanuel Vadot            multipleOf: 16
727d5b0e70fSEmmanuel Vadot            minimum: 0
7288bab661aSEmmanuel Vadot            maximum: 4080
729d5b0e70fSEmmanuel Vadot            description:
730d5b0e70fSEmmanuel Vadot              Specifies the length of time (in ms) within which a tap, swipe
731d5b0e70fSEmmanuel Vadot              or flick gesture must be completed in order to be acknowledged
732d5b0e70fSEmmanuel Vadot              by the device. The number specified for any one swipe or flick
733d5b0e70fSEmmanuel Vadot              gesture applies to all remaining swipe or flick gestures.
734d5b0e70fSEmmanuel Vadot
735d5b0e70fSEmmanuel Vadot          azoteq,gesture-min-ms:
7368bab661aSEmmanuel Vadot            multipleOf: 16
737d5b0e70fSEmmanuel Vadot            minimum: 0
7388bab661aSEmmanuel Vadot            maximum: 496
739d5b0e70fSEmmanuel Vadot            description:
740d5b0e70fSEmmanuel Vadot              Specifies the length of time (in ms) for which a tap gesture must
741d5b0e70fSEmmanuel Vadot              be held in order to be acknowledged by the device.
742d5b0e70fSEmmanuel Vadot
743d5b0e70fSEmmanuel Vadot          azoteq,gesture-dist:
744d5b0e70fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
745d5b0e70fSEmmanuel Vadot            multipleOf: 16
746d5b0e70fSEmmanuel Vadot            minimum: 0
747d5b0e70fSEmmanuel Vadot            maximum: 4080
748d5b0e70fSEmmanuel Vadot            description:
749*aa1a8ff2SEmmanuel Vadot              Specifies the distance (in coordinates) across which a swipe or
750*aa1a8ff2SEmmanuel Vadot              flick gesture must travel in order to be acknowledged by the
751*aa1a8ff2SEmmanuel Vadot              device. The number specified for any one swipe or flick gesture
752*aa1a8ff2SEmmanuel Vadot              applies to all remaining swipe or flick gestures.
753d5b0e70fSEmmanuel Vadot
754d5b0e70fSEmmanuel Vadot          azoteq,gpio-select:
755d5b0e70fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32-array
756d5b0e70fSEmmanuel Vadot            minItems: 1
757b97ee269SEmmanuel Vadot            maxItems: 3
758d5b0e70fSEmmanuel Vadot            items:
759d5b0e70fSEmmanuel Vadot              minimum: 0
760b97ee269SEmmanuel Vadot              maximum: 2
761d5b0e70fSEmmanuel Vadot            description: |
762b97ee269SEmmanuel Vadot              Specifies one or more GPIO mapped to the event as follows:
763d5b0e70fSEmmanuel Vadot              0: GPIO0
764*aa1a8ff2SEmmanuel Vadot              1: GPIO3
765*aa1a8ff2SEmmanuel Vadot              2: GPIO4
766d5b0e70fSEmmanuel Vadot
767d5b0e70fSEmmanuel Vadot              Note that although multiple events can be mapped to a single
768d5b0e70fSEmmanuel Vadot              GPIO, they must all be of the same type (proximity, touch or
769d5b0e70fSEmmanuel Vadot              slider gesture).
770d5b0e70fSEmmanuel Vadot
771d5b0e70fSEmmanuel Vadot        additionalProperties: false
772d5b0e70fSEmmanuel Vadot
773d5b0e70fSEmmanuel Vadot    required:
774d5b0e70fSEmmanuel Vadot      - azoteq,channel-select
775d5b0e70fSEmmanuel Vadot
776d5b0e70fSEmmanuel Vadot    additionalProperties: false
777d5b0e70fSEmmanuel Vadot
778d5b0e70fSEmmanuel Vadot  "^gpio-[0-2]$":
779d5b0e70fSEmmanuel Vadot    type: object
780d5b0e70fSEmmanuel Vadot    description: |
781d5b0e70fSEmmanuel Vadot      Represents a GPIO mapped to one or more events as follows:
782d5b0e70fSEmmanuel Vadot      gpio-0: GPIO0
783*aa1a8ff2SEmmanuel Vadot      gpio-1: GPIO3
784*aa1a8ff2SEmmanuel Vadot      gpio-2: GPIO4
785d5b0e70fSEmmanuel Vadot
786d5b0e70fSEmmanuel Vadot    allOf:
787d5b0e70fSEmmanuel Vadot      - $ref: ../pinctrl/pincfg-node.yaml#
788d5b0e70fSEmmanuel Vadot
789d5b0e70fSEmmanuel Vadot    properties:
790d5b0e70fSEmmanuel Vadot      drive-open-drain: true
791d5b0e70fSEmmanuel Vadot
792d5b0e70fSEmmanuel Vadot    additionalProperties: false
793d5b0e70fSEmmanuel Vadot
794d5b0e70fSEmmanuel VadotallOf:
795*aa1a8ff2SEmmanuel Vadot  - $ref: touchscreen/touchscreen.yaml#
796*aa1a8ff2SEmmanuel Vadot
797d5b0e70fSEmmanuel Vadot  - if:
798d5b0e70fSEmmanuel Vadot      properties:
799d5b0e70fSEmmanuel Vadot        compatible:
800d5b0e70fSEmmanuel Vadot          contains:
801*aa1a8ff2SEmmanuel Vadot            enum:
802*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222a
803*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222b
804*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222c
805*aa1a8ff2SEmmanuel Vadot
806*aa1a8ff2SEmmanuel Vadot    then:
807*aa1a8ff2SEmmanuel Vadot      properties:
808*aa1a8ff2SEmmanuel Vadot        touchscreen-size-x: false
809*aa1a8ff2SEmmanuel Vadot        touchscreen-size-y: false
810*aa1a8ff2SEmmanuel Vadot        touchscreen-inverted-x: false
811*aa1a8ff2SEmmanuel Vadot        touchscreen-inverted-y: false
812*aa1a8ff2SEmmanuel Vadot        touchscreen-swapped-x-y: false
813*aa1a8ff2SEmmanuel Vadot
814*aa1a8ff2SEmmanuel Vadot        trackpad: false
815*aa1a8ff2SEmmanuel Vadot
816*aa1a8ff2SEmmanuel Vadot      patternProperties:
817*aa1a8ff2SEmmanuel Vadot        "^channel-([0-9]|1[0-9])$":
818*aa1a8ff2SEmmanuel Vadot          properties:
819*aa1a8ff2SEmmanuel Vadot            azoteq,counts-filt-enable: false
820*aa1a8ff2SEmmanuel Vadot
821*aa1a8ff2SEmmanuel Vadot  - if:
822*aa1a8ff2SEmmanuel Vadot      properties:
823*aa1a8ff2SEmmanuel Vadot        compatible:
824*aa1a8ff2SEmmanuel Vadot          contains:
825*aa1a8ff2SEmmanuel Vadot            enum:
826*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222b
827*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222c
828*aa1a8ff2SEmmanuel Vadot
829*aa1a8ff2SEmmanuel Vadot    then:
830*aa1a8ff2SEmmanuel Vadot      patternProperties:
831*aa1a8ff2SEmmanuel Vadot        "^channel-([0-9]|1[0-9])$":
832*aa1a8ff2SEmmanuel Vadot          properties:
833*aa1a8ff2SEmmanuel Vadot            azoteq,ulp-allow: false
834*aa1a8ff2SEmmanuel Vadot
835*aa1a8ff2SEmmanuel Vadot  - if:
836*aa1a8ff2SEmmanuel Vadot      properties:
837*aa1a8ff2SEmmanuel Vadot        compatible:
838*aa1a8ff2SEmmanuel Vadot          contains:
839*aa1a8ff2SEmmanuel Vadot            enum:
840*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222b
841*aa1a8ff2SEmmanuel Vadot              - azoteq,iqs7222d
842d5b0e70fSEmmanuel Vadot
843d5b0e70fSEmmanuel Vadot    then:
844d5b0e70fSEmmanuel Vadot      patternProperties:
845d5b0e70fSEmmanuel Vadot        "^cycle-[0-9]$":
846d5b0e70fSEmmanuel Vadot          properties:
847d5b0e70fSEmmanuel Vadot            azoteq,iref-enable: false
848d5b0e70fSEmmanuel Vadot
849d5b0e70fSEmmanuel Vadot        "^channel-([0-9]|1[0-9])$":
850d5b0e70fSEmmanuel Vadot          properties:
851d5b0e70fSEmmanuel Vadot            azoteq,ref-select: false
852d5b0e70fSEmmanuel Vadot
853*aa1a8ff2SEmmanuel Vadot        "^slider-[0-1]$": false
854*aa1a8ff2SEmmanuel Vadot
855*aa1a8ff2SEmmanuel Vadot  - if:
856*aa1a8ff2SEmmanuel Vadot      properties:
857*aa1a8ff2SEmmanuel Vadot        compatible:
858*aa1a8ff2SEmmanuel Vadot          contains:
859*aa1a8ff2SEmmanuel Vadot            const: azoteq,iqs7222b
860*aa1a8ff2SEmmanuel Vadot
861*aa1a8ff2SEmmanuel Vadot    then:
862*aa1a8ff2SEmmanuel Vadot      patternProperties:
863*aa1a8ff2SEmmanuel Vadot        "^channel-([0-9]|1[0-9])$":
864d5b0e70fSEmmanuel Vadot          patternProperties:
865d5b0e70fSEmmanuel Vadot            "^event-(prox|touch)$":
866d5b0e70fSEmmanuel Vadot              properties:
867d5b0e70fSEmmanuel Vadot                azoteq,gpio-select: false
868d5b0e70fSEmmanuel Vadot
869d5b0e70fSEmmanuel Vadot        "^gpio-[0-2]$": false
870d5b0e70fSEmmanuel Vadot
871d5b0e70fSEmmanuel Vadot  - if:
872d5b0e70fSEmmanuel Vadot      properties:
873d5b0e70fSEmmanuel Vadot        compatible:
874d5b0e70fSEmmanuel Vadot          contains:
875d5b0e70fSEmmanuel Vadot            const: azoteq,iqs7222a
876d5b0e70fSEmmanuel Vadot
877d5b0e70fSEmmanuel Vadot    then:
878d5b0e70fSEmmanuel Vadot      patternProperties:
879d5b0e70fSEmmanuel Vadot        "^channel-([0-9]|1[0-9])$":
880d5b0e70fSEmmanuel Vadot          patternProperties:
881d5b0e70fSEmmanuel Vadot            "^event-(prox|touch)$":
882d5b0e70fSEmmanuel Vadot              properties:
883d5b0e70fSEmmanuel Vadot                azoteq,gpio-select:
884d5b0e70fSEmmanuel Vadot                  maxItems: 1
885d5b0e70fSEmmanuel Vadot                  items:
886d5b0e70fSEmmanuel Vadot                    maximum: 0
887d5b0e70fSEmmanuel Vadot
888d5b0e70fSEmmanuel Vadot        "^slider-[0-1]$":
889d5b0e70fSEmmanuel Vadot          properties:
890d5b0e70fSEmmanuel Vadot            azoteq,slider-size:
891d5b0e70fSEmmanuel Vadot              multipleOf: 16
8928bab661aSEmmanuel Vadot              minimum: 16
893d5b0e70fSEmmanuel Vadot              maximum: 4080
894d5b0e70fSEmmanuel Vadot
895d5b0e70fSEmmanuel Vadot            azoteq,top-speed:
896d5b0e70fSEmmanuel Vadot              multipleOf: 4
897d5b0e70fSEmmanuel Vadot              maximum: 1020
898d5b0e70fSEmmanuel Vadot
899b97ee269SEmmanuel Vadot          patternProperties:
900b97ee269SEmmanuel Vadot            "^event-(press|tap|(swipe|flick)-(pos|neg))$":
901b97ee269SEmmanuel Vadot              properties:
902b97ee269SEmmanuel Vadot                azoteq,gpio-select:
903b97ee269SEmmanuel Vadot                  maxItems: 1
904b97ee269SEmmanuel Vadot                  items:
905b97ee269SEmmanuel Vadot                    maximum: 0
906b97ee269SEmmanuel Vadot
907d5b0e70fSEmmanuel Vadot    else:
908d5b0e70fSEmmanuel Vadot      patternProperties:
909d5b0e70fSEmmanuel Vadot        "^slider-[0-1]$":
910d5b0e70fSEmmanuel Vadot          patternProperties:
911d5b0e70fSEmmanuel Vadot            "^event-(press|tap|(swipe|flick)-(pos|neg))$":
912d5b0e70fSEmmanuel Vadot              properties:
913d5b0e70fSEmmanuel Vadot                azoteq,gesture-max-ms: false
914d5b0e70fSEmmanuel Vadot
915d5b0e70fSEmmanuel Vadot                azoteq,gesture-min-ms: false
916d5b0e70fSEmmanuel Vadot
917d5b0e70fSEmmanuel Vadot                azoteq,gesture-dist: false
918d5b0e70fSEmmanuel Vadot
919d5b0e70fSEmmanuel Vadotrequired:
920d5b0e70fSEmmanuel Vadot  - compatible
921d5b0e70fSEmmanuel Vadot  - reg
922d5b0e70fSEmmanuel Vadot  - irq-gpios
923d5b0e70fSEmmanuel Vadot
924d5b0e70fSEmmanuel VadotadditionalProperties: false
925d5b0e70fSEmmanuel Vadot
926d5b0e70fSEmmanuel Vadotexamples:
927d5b0e70fSEmmanuel Vadot  - |
928d5b0e70fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
929d5b0e70fSEmmanuel Vadot    #include <dt-bindings/input/input.h>
930d5b0e70fSEmmanuel Vadot
931d5b0e70fSEmmanuel Vadot    i2c {
932d5b0e70fSEmmanuel Vadot            #address-cells = <1>;
933d5b0e70fSEmmanuel Vadot            #size-cells = <0>;
934d5b0e70fSEmmanuel Vadot
935d5b0e70fSEmmanuel Vadot            iqs7222a@44 {
936d5b0e70fSEmmanuel Vadot                    compatible = "azoteq,iqs7222a";
937d5b0e70fSEmmanuel Vadot                    reg = <0x44>;
938d5b0e70fSEmmanuel Vadot                    irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
939d5b0e70fSEmmanuel Vadot                    azoteq,lta-beta-lp = <7>;
940d5b0e70fSEmmanuel Vadot                    azoteq,lta-beta-np = <8>;
941d5b0e70fSEmmanuel Vadot                    azoteq,counts-beta-lp = <2>;
942d5b0e70fSEmmanuel Vadot                    azoteq,counts-beta-np = <3>;
943d5b0e70fSEmmanuel Vadot                    azoteq,lta-fast-beta-lp = <3>;
944d5b0e70fSEmmanuel Vadot                    azoteq,lta-fast-beta-np = <4>;
945d5b0e70fSEmmanuel Vadot
946d5b0e70fSEmmanuel Vadot                    cycle-0 {
947d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <5>;
948d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <127>;
949d5b0e70fSEmmanuel Vadot                            azoteq,tx-enable = <1>, <2>, <4>, <5>;
950d5b0e70fSEmmanuel Vadot                            azoteq,dead-time-enable;
951d5b0e70fSEmmanuel Vadot                            azoteq,sense-mode = <2>;
952d5b0e70fSEmmanuel Vadot                    };
953d5b0e70fSEmmanuel Vadot
954d5b0e70fSEmmanuel Vadot                    cycle-1 {
955d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <5>;
956d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <127>;
957d5b0e70fSEmmanuel Vadot                            azoteq,tx-enable = <5>;
958d5b0e70fSEmmanuel Vadot                            azoteq,dead-time-enable;
959d5b0e70fSEmmanuel Vadot                            azoteq,sense-mode = <2>;
960d5b0e70fSEmmanuel Vadot                    };
961d5b0e70fSEmmanuel Vadot
962d5b0e70fSEmmanuel Vadot                    cycle-2 {
963d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <5>;
964d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <127>;
965d5b0e70fSEmmanuel Vadot                            azoteq,tx-enable = <4>;
966d5b0e70fSEmmanuel Vadot                            azoteq,dead-time-enable;
967d5b0e70fSEmmanuel Vadot                            azoteq,sense-mode = <2>;
968d5b0e70fSEmmanuel Vadot                    };
969d5b0e70fSEmmanuel Vadot
970d5b0e70fSEmmanuel Vadot                    cycle-3 {
971d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <5>;
972d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <127>;
973d5b0e70fSEmmanuel Vadot                            azoteq,tx-enable = <2>;
974d5b0e70fSEmmanuel Vadot                            azoteq,dead-time-enable;
975d5b0e70fSEmmanuel Vadot                            azoteq,sense-mode = <2>;
976d5b0e70fSEmmanuel Vadot                    };
977d5b0e70fSEmmanuel Vadot
978d5b0e70fSEmmanuel Vadot                    cycle-4 {
979d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <5>;
980d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <127>;
981d5b0e70fSEmmanuel Vadot                            azoteq,tx-enable = <1>;
982d5b0e70fSEmmanuel Vadot                            azoteq,dead-time-enable;
983d5b0e70fSEmmanuel Vadot                            azoteq,sense-mode = <2>;
984d5b0e70fSEmmanuel Vadot                    };
985d5b0e70fSEmmanuel Vadot
986d5b0e70fSEmmanuel Vadot                    cycle-5 {
987d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <2>;
988d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <0>;
989d5b0e70fSEmmanuel Vadot                    };
990d5b0e70fSEmmanuel Vadot
991d5b0e70fSEmmanuel Vadot                    cycle-6 {
992d5b0e70fSEmmanuel Vadot                            azoteq,conv-period = <2>;
993d5b0e70fSEmmanuel Vadot                            azoteq,conv-frac = <0>;
994d5b0e70fSEmmanuel Vadot                    };
995d5b0e70fSEmmanuel Vadot
996d5b0e70fSEmmanuel Vadot                    channel-0 {
997d5b0e70fSEmmanuel Vadot                            azoteq,ulp-allow;
998d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
999d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1000d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <3>;
1001d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <800>;
1002d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <208>;
1003d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1004d5b0e70fSEmmanuel Vadot                    };
1005d5b0e70fSEmmanuel Vadot
1006d5b0e70fSEmmanuel Vadot                    channel-1 {
1007d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1008d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1009d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <3>;
1010d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1011d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <208>;
1012d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1013d5b0e70fSEmmanuel Vadot                    };
1014d5b0e70fSEmmanuel Vadot
1015d5b0e70fSEmmanuel Vadot                    channel-2 {
1016d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1017d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1018d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <3>;
1019d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1020d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <208>;
1021d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1022d5b0e70fSEmmanuel Vadot                    };
1023d5b0e70fSEmmanuel Vadot
1024d5b0e70fSEmmanuel Vadot                    channel-3 {
1025d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1026d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1027d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <3>;
1028d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1029d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <208>;
1030d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1031d5b0e70fSEmmanuel Vadot                    };
1032d5b0e70fSEmmanuel Vadot
1033d5b0e70fSEmmanuel Vadot                    channel-4 {
1034d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1035d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1036d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <3>;
1037d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1038d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <208>;
1039d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1040d5b0e70fSEmmanuel Vadot                    };
1041d5b0e70fSEmmanuel Vadot
1042d5b0e70fSEmmanuel Vadot                    channel-5 {
1043d5b0e70fSEmmanuel Vadot                            azoteq,ulp-allow;
1044d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1045d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1046d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <6>;
1047d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <800>;
1048d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <144>;
1049d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1050d5b0e70fSEmmanuel Vadot                    };
1051d5b0e70fSEmmanuel Vadot
1052d5b0e70fSEmmanuel Vadot                    channel-6 {
1053d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1054d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1055d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <6>;
1056d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1057d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <160>;
1058d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1059d5b0e70fSEmmanuel Vadot
1060d5b0e70fSEmmanuel Vadot                            event-touch {
1061d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_MUTE>;
1062d5b0e70fSEmmanuel Vadot                            };
1063d5b0e70fSEmmanuel Vadot                    };
1064d5b0e70fSEmmanuel Vadot
1065d5b0e70fSEmmanuel Vadot                    channel-7 {
1066d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1067d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1068d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <6>;
1069d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1070d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <160>;
1071d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1072d5b0e70fSEmmanuel Vadot
1073d5b0e70fSEmmanuel Vadot                            event-touch {
1074d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_VOLUMEDOWN>;
1075d5b0e70fSEmmanuel Vadot                            };
1076d5b0e70fSEmmanuel Vadot                    };
1077d5b0e70fSEmmanuel Vadot
1078d5b0e70fSEmmanuel Vadot                    channel-8 {
1079d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1080d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1081d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <6>;
1082d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1083d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <160>;
1084d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1085d5b0e70fSEmmanuel Vadot
1086d5b0e70fSEmmanuel Vadot                            event-touch {
1087d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_VOLUMEUP>;
1088d5b0e70fSEmmanuel Vadot                            };
1089d5b0e70fSEmmanuel Vadot                    };
1090d5b0e70fSEmmanuel Vadot
1091d5b0e70fSEmmanuel Vadot                    channel-9 {
1092d5b0e70fSEmmanuel Vadot                            azoteq,global-halt;
1093d5b0e70fSEmmanuel Vadot                            azoteq,invert-enable;
1094d5b0e70fSEmmanuel Vadot                            azoteq,rx-enable = <6>;
1095d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1096d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <160>;
1097d5b0e70fSEmmanuel Vadot                            azoteq,ati-mode = <5>;
1098d5b0e70fSEmmanuel Vadot
1099d5b0e70fSEmmanuel Vadot                            event-touch {
1100d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_POWER>;
1101d5b0e70fSEmmanuel Vadot                            };
1102d5b0e70fSEmmanuel Vadot                    };
1103d5b0e70fSEmmanuel Vadot
1104d5b0e70fSEmmanuel Vadot                    channel-10 {
1105d5b0e70fSEmmanuel Vadot                            azoteq,ulp-allow;
1106d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1107d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <112>;
1108d5b0e70fSEmmanuel Vadot
1109d5b0e70fSEmmanuel Vadot                            event-touch {
1110d5b0e70fSEmmanuel Vadot                                    linux,code = <SW_LID>;
1111d5b0e70fSEmmanuel Vadot                                    linux,input-type = <EV_SW>;
1112d5b0e70fSEmmanuel Vadot                            };
1113d5b0e70fSEmmanuel Vadot                    };
1114d5b0e70fSEmmanuel Vadot
1115d5b0e70fSEmmanuel Vadot                    channel-11 {
1116d5b0e70fSEmmanuel Vadot                            azoteq,ati-target = <496>;
1117d5b0e70fSEmmanuel Vadot                            azoteq,ati-base = <112>;
1118d5b0e70fSEmmanuel Vadot                    };
1119d5b0e70fSEmmanuel Vadot
1120d5b0e70fSEmmanuel Vadot                    slider-0 {
1121d5b0e70fSEmmanuel Vadot                            azoteq,channel-select = <1>, <2>, <3>, <4>;
1122d5b0e70fSEmmanuel Vadot                            azoteq,slider-size = <4080>;
1123d5b0e70fSEmmanuel Vadot                            azoteq,upper-cal = <50>;
1124d5b0e70fSEmmanuel Vadot                            azoteq,lower-cal = <30>;
1125d5b0e70fSEmmanuel Vadot                            azoteq,top-speed = <200>;
1126d5b0e70fSEmmanuel Vadot                            azoteq,bottom-speed = <1>;
1127d5b0e70fSEmmanuel Vadot                            azoteq,bottom-beta = <3>;
1128d5b0e70fSEmmanuel Vadot
1129d5b0e70fSEmmanuel Vadot                            event-tap {
1130d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_PLAYPAUSE>;
11318bab661aSEmmanuel Vadot                                    azoteq,gesture-max-ms = <400>;
11328bab661aSEmmanuel Vadot                                    azoteq,gesture-min-ms = <32>;
1133d5b0e70fSEmmanuel Vadot                            };
1134d5b0e70fSEmmanuel Vadot
1135d5b0e70fSEmmanuel Vadot                            event-flick-pos {
1136d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_NEXTSONG>;
11378bab661aSEmmanuel Vadot                                    azoteq,gesture-max-ms = <800>;
11388bab661aSEmmanuel Vadot                                    azoteq,gesture-dist = <800>;
1139d5b0e70fSEmmanuel Vadot                            };
1140d5b0e70fSEmmanuel Vadot
1141d5b0e70fSEmmanuel Vadot                            event-flick-neg {
1142d5b0e70fSEmmanuel Vadot                                    linux,code = <KEY_PREVIOUSSONG>;
1143d5b0e70fSEmmanuel Vadot                            };
1144d5b0e70fSEmmanuel Vadot                    };
1145d5b0e70fSEmmanuel Vadot            };
1146d5b0e70fSEmmanuel Vadot    };
1147d5b0e70fSEmmanuel Vadot
1148d5b0e70fSEmmanuel Vadot...
1149