1a8f1f0dcSJeff LaBundy# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2a8f1f0dcSJeff LaBundy%YAML 1.2
3a8f1f0dcSJeff LaBundy---
4a8f1f0dcSJeff LaBundy$id: http://devicetree.org/schemas/input/iqs626a.yaml#
5a8f1f0dcSJeff LaBundy$schema: http://devicetree.org/meta-schemas/core.yaml#
6a8f1f0dcSJeff LaBundy
7a8f1f0dcSJeff LaBundytitle: Azoteq IQS626A Capacitive Touch Controller
8a8f1f0dcSJeff LaBundy
9a8f1f0dcSJeff LaBundymaintainers:
10a8f1f0dcSJeff LaBundy  - Jeff LaBundy <jeff@labundy.com>
11a8f1f0dcSJeff LaBundy
12a8f1f0dcSJeff LaBundydescription: |
13a8f1f0dcSJeff LaBundy  The Azoteq IQS626A is a 14-channel capacitive touch controller that features
14a8f1f0dcSJeff LaBundy  additional Hall-effect and inductive sensing capabilities.
15a8f1f0dcSJeff LaBundy
16a8f1f0dcSJeff LaBundy  Link to datasheet: https://www.azoteq.com/
17a8f1f0dcSJeff LaBundy
18a8f1f0dcSJeff LaBundyallOf:
19a8f1f0dcSJeff LaBundy  - $ref: touchscreen/touchscreen.yaml#
20a8f1f0dcSJeff LaBundy
21a8f1f0dcSJeff LaBundyproperties:
22a8f1f0dcSJeff LaBundy  compatible:
23a8f1f0dcSJeff LaBundy    const: azoteq,iqs626a
24a8f1f0dcSJeff LaBundy
25a8f1f0dcSJeff LaBundy  reg:
26a8f1f0dcSJeff LaBundy    maxItems: 1
27a8f1f0dcSJeff LaBundy
28a8f1f0dcSJeff LaBundy  interrupts:
29a8f1f0dcSJeff LaBundy    maxItems: 1
30a8f1f0dcSJeff LaBundy
31a8f1f0dcSJeff LaBundy  "#address-cells":
32a8f1f0dcSJeff LaBundy    const: 1
33a8f1f0dcSJeff LaBundy
34a8f1f0dcSJeff LaBundy  "#size-cells":
35a8f1f0dcSJeff LaBundy    const: 0
36a8f1f0dcSJeff LaBundy
37a8f1f0dcSJeff LaBundy  azoteq,suspend-mode:
38a8f1f0dcSJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
39a8f1f0dcSJeff LaBundy    enum: [0, 1, 2, 3]
40a8f1f0dcSJeff LaBundy    default: 0
41a8f1f0dcSJeff LaBundy    description: |
42a8f1f0dcSJeff LaBundy      Specifies the power mode during suspend as follows:
43a8f1f0dcSJeff LaBundy      0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
44a8f1f0dcSJeff LaBundy      1: Low power (all sensing at a reduced reporting rate)
45a8f1f0dcSJeff LaBundy      2: Ultra-low power (ULP channel proximity sensing)
46a8f1f0dcSJeff LaBundy      3: Halt (no sensing)
47a8f1f0dcSJeff LaBundy
48a8f1f0dcSJeff LaBundy  azoteq,clk-div:
49a8f1f0dcSJeff LaBundy    type: boolean
50a8f1f0dcSJeff LaBundy    description: Divides the device's core clock by a factor of 4.
51a8f1f0dcSJeff LaBundy
52a8f1f0dcSJeff LaBundy  azoteq,ulp-enable:
53a8f1f0dcSJeff LaBundy    type: boolean
54a8f1f0dcSJeff LaBundy    description:
55a8f1f0dcSJeff LaBundy      Permits the device to automatically enter ultra-low-power mode from low-
56a8f1f0dcSJeff LaBundy      power mode.
57a8f1f0dcSJeff LaBundy
58a8f1f0dcSJeff LaBundy  azoteq,ulp-update:
59a8f1f0dcSJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
60a8f1f0dcSJeff LaBundy    enum: [0, 1, 2, 3, 4, 5, 6, 7]
61a8f1f0dcSJeff LaBundy    default: 3
62a8f1f0dcSJeff LaBundy    description: |
63a8f1f0dcSJeff LaBundy      Specifies the rate at which the trackpad, generic and Hall channels are
64a8f1f0dcSJeff LaBundy      updated during ultra-low-power mode as follows:
65a8f1f0dcSJeff LaBundy      0: 8
66a8f1f0dcSJeff LaBundy      1: 13
67a8f1f0dcSJeff LaBundy      2: 28
68a8f1f0dcSJeff LaBundy      3: 54
69a8f1f0dcSJeff LaBundy      4: 89
70a8f1f0dcSJeff LaBundy      5: 135
71a8f1f0dcSJeff LaBundy      6: 190
72a8f1f0dcSJeff LaBundy      7: 256
73a8f1f0dcSJeff LaBundy
74a8f1f0dcSJeff LaBundy  azoteq,ati-band-disable:
75a8f1f0dcSJeff LaBundy    type: boolean
76a8f1f0dcSJeff LaBundy    description: Disables the ATI band check.
77a8f1f0dcSJeff LaBundy
78a8f1f0dcSJeff LaBundy  azoteq,ati-lp-only:
79a8f1f0dcSJeff LaBundy    type: boolean
80a8f1f0dcSJeff LaBundy    description: Limits automatic ATI to low-power mode.
81a8f1f0dcSJeff LaBundy
82a8f1f0dcSJeff LaBundy  azoteq,gpio3-select:
83a8f1f0dcSJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
84a8f1f0dcSJeff LaBundy    enum: [0, 1, 2, 3, 4, 5, 6, 7]
85a8f1f0dcSJeff LaBundy    default: 1
86a8f1f0dcSJeff LaBundy    description: |
87a8f1f0dcSJeff LaBundy      Selects the channel or group of channels for which the GPIO3 pin
88a8f1f0dcSJeff LaBundy      represents touch state as follows:
89a8f1f0dcSJeff LaBundy      0: None
90a8f1f0dcSJeff LaBundy      1: ULP channel
91a8f1f0dcSJeff LaBundy      2: Trackpad
92a8f1f0dcSJeff LaBundy      3: Trackpad
93a8f1f0dcSJeff LaBundy      4: Generic channel 0
94a8f1f0dcSJeff LaBundy      5: Generic channel 1
95a8f1f0dcSJeff LaBundy      6: Generic channel 2
96a8f1f0dcSJeff LaBundy      7: Hall channel
97a8f1f0dcSJeff LaBundy
98a8f1f0dcSJeff LaBundy  azoteq,reseed-select:
99a8f1f0dcSJeff LaBundy    $ref: /schemas/types.yaml#/definitions/uint32
100a8f1f0dcSJeff LaBundy    enum: [0, 1, 2, 3]
101a8f1f0dcSJeff LaBundy    default: 0
102a8f1f0dcSJeff LaBundy    description: |
103a8f1f0dcSJeff LaBundy      Specifies the event(s) that prompt the device to reseed (i.e. reset the
104a8f1f0dcSJeff LaBundy      long-term average) of an associated channel as follows:
105a8f1f0dcSJeff LaBundy      0: None
106a8f1f0dcSJeff LaBundy      1: Proximity
107a8f1f0dcSJeff LaBundy      2: Proximity or touch
108a8f1f0dcSJeff LaBundy      3: Proximity, touch or deep touch
109a8f1f0dcSJeff LaBundy
110a8f1f0dcSJeff LaBundy  azoteq,thresh-extend:
111a8f1f0dcSJeff LaBundy    type: boolean
112a8f1f0dcSJeff LaBundy    description: Multiplies all touch and deep-touch thresholds by 4.
113a8f1f0dcSJeff LaBundy
114a8f1f0dcSJeff LaBundy  azoteq,tracking-enable:
115a8f1f0dcSJeff LaBundy    type: boolean
116a8f1f0dcSJeff LaBundy    description:
117a8f1f0dcSJeff LaBundy      Enables all associated channels to track their respective reference
118a8f1f0dcSJeff LaBundy      channels.
119a8f1f0dcSJeff LaBundy
120a8f1f0dcSJeff LaBundy  azoteq,reseed-offset:
121a8f1f0dcSJeff LaBundy    type: boolean
122a8f1f0dcSJeff LaBundy    description:
123a8f1f0dcSJeff LaBundy      Applies an 8-count offset to all long-term averages upon either ATI or
124a8f1f0dcSJeff LaBundy      reseed events.
125a8f1f0dcSJeff LaBundy
126a8f1f0dcSJeff LaBundy  azoteq,rate-np-ms:
127a8f1f0dcSJeff LaBundy    minimum: 0
128a8f1f0dcSJeff LaBundy    maximum: 255
129a8f1f0dcSJeff LaBundy    default: 150
130a8f1f0dcSJeff LaBundy    description: Specifies the report rate (in ms) during normal-power mode.
131a8f1f0dcSJeff LaBundy
132a8f1f0dcSJeff LaBundy  azoteq,rate-lp-ms:
133a8f1f0dcSJeff LaBundy    minimum: 0
134a8f1f0dcSJeff LaBundy    maximum: 255
135a8f1f0dcSJeff LaBundy    default: 150
136a8f1f0dcSJeff LaBundy    description: Specifies the report rate (in ms) during low-power mode.
137a8f1f0dcSJeff LaBundy
138a8f1f0dcSJeff LaBundy  azoteq,rate-ulp-ms:
139a8f1f0dcSJeff LaBundy    multipleOf: 16
140a8f1f0dcSJeff LaBundy    minimum: 0
141a8f1f0dcSJeff LaBundy    maximum: 4080
142a8f1f0dcSJeff LaBundy    default: 0
143a8f1f0dcSJeff LaBundy    description: Specifies the report rate (in ms) during ultra-low-power mode.
144a8f1f0dcSJeff LaBundy
145a8f1f0dcSJeff LaBundy  azoteq,timeout-pwr-ms:
146a8f1f0dcSJeff LaBundy    multipleOf: 512
147a8f1f0dcSJeff LaBundy    minimum: 0
148a8f1f0dcSJeff LaBundy    maximum: 130560
149a8f1f0dcSJeff LaBundy    default: 2560
150a8f1f0dcSJeff LaBundy    description:
151a8f1f0dcSJeff LaBundy      Specifies the length of time (in ms) to wait for an event before moving
152a8f1f0dcSJeff LaBundy      from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
153a8f1f0dcSJeff LaBundy      present) from low-power mode to ultra-low-power mode.
154a8f1f0dcSJeff LaBundy
155a8f1f0dcSJeff LaBundy  azoteq,timeout-lta-ms:
156a8f1f0dcSJeff LaBundy    multipleOf: 512
157a8f1f0dcSJeff LaBundy    minimum: 0
158a8f1f0dcSJeff LaBundy    maximum: 130560
159a8f1f0dcSJeff LaBundy    default: 40960
160a8f1f0dcSJeff LaBundy    description:
161a8f1f0dcSJeff LaBundy      Specifies the length of time (in ms) to wait before resetting the long-
162a8f1f0dcSJeff LaBundy      term average of all channels. Specify the maximum timeout to disable it
163a8f1f0dcSJeff LaBundy      altogether.
164a8f1f0dcSJeff LaBundy
165a8f1f0dcSJeff LaBundy  touchscreen-inverted-x: true
166a8f1f0dcSJeff LaBundy  touchscreen-inverted-y: true
167a8f1f0dcSJeff LaBundy  touchscreen-swapped-x-y: true
168a8f1f0dcSJeff LaBundy
169a8f1f0dcSJeff LaBundypatternProperties:
170a8f1f0dcSJeff LaBundy  "^ulp-0|generic-[0-2]|hall$":
171a8f1f0dcSJeff LaBundy    type: object
172a8f1f0dcSJeff LaBundy    description:
173a8f1f0dcSJeff LaBundy      Represents a single sensing channel. A channel is active if defined and
174a8f1f0dcSJeff LaBundy      inactive otherwise.
175a8f1f0dcSJeff LaBundy
176a8f1f0dcSJeff LaBundy    properties:
177a8f1f0dcSJeff LaBundy      azoteq,ati-exclude:
178a8f1f0dcSJeff LaBundy        type: boolean
179a8f1f0dcSJeff LaBundy        description:
180a8f1f0dcSJeff LaBundy          Prevents the channel from participating in an ATI event that is
181a8f1f0dcSJeff LaBundy          manually triggered during initialization.
182a8f1f0dcSJeff LaBundy
183a8f1f0dcSJeff LaBundy      azoteq,reseed-disable:
184a8f1f0dcSJeff LaBundy        type: boolean
185a8f1f0dcSJeff LaBundy        description:
186a8f1f0dcSJeff LaBundy          Prevents the channel from being reseeded if the long-term average
187a8f1f0dcSJeff LaBundy          timeout (defined in 'azoteq,timeout-lta') expires.
188a8f1f0dcSJeff LaBundy
189a8f1f0dcSJeff LaBundy      azoteq,meas-cap-decrease:
190a8f1f0dcSJeff LaBundy        type: boolean
191a8f1f0dcSJeff LaBundy        description:
192a8f1f0dcSJeff LaBundy          Decreases the internal measurement capacitance from 60 pF to 15 pF.
193a8f1f0dcSJeff LaBundy
194a8f1f0dcSJeff LaBundy      azoteq,rx-inactive:
195a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
196a8f1f0dcSJeff LaBundy        enum: [0, 1, 2]
197a8f1f0dcSJeff LaBundy        default: 0
198a8f1f0dcSJeff LaBundy        description: |
199a8f1f0dcSJeff LaBundy          Specifies how inactive CRX pins are to be terminated as follows:
200a8f1f0dcSJeff LaBundy          0: VSS
201a8f1f0dcSJeff LaBundy          1: Floating
202a8f1f0dcSJeff LaBundy          2: VREG (generic channels only)
203a8f1f0dcSJeff LaBundy
204a8f1f0dcSJeff LaBundy      azoteq,linearize:
205a8f1f0dcSJeff LaBundy        type: boolean
206a8f1f0dcSJeff LaBundy        description:
207a8f1f0dcSJeff LaBundy          Enables linearization of the channel's counts (generic and Hall
208a8f1f0dcSJeff LaBundy          channels) or inverts the polarity of the channel's proximity or
209a8f1f0dcSJeff LaBundy          touch states (ULP channel).
210a8f1f0dcSJeff LaBundy
211a8f1f0dcSJeff LaBundy      azoteq,dual-direction:
212a8f1f0dcSJeff LaBundy        type: boolean
213a8f1f0dcSJeff LaBundy        description:
214a8f1f0dcSJeff LaBundy          Specifies that the channel's long-term average is to freeze in the
215a8f1f0dcSJeff LaBundy          presence of either increasing or decreasing counts, thereby permit-
216a8f1f0dcSJeff LaBundy          ting events to be reported in either direction.
217a8f1f0dcSJeff LaBundy
218a8f1f0dcSJeff LaBundy      azoteq,filt-disable:
219a8f1f0dcSJeff LaBundy        type: boolean
220a8f1f0dcSJeff LaBundy        description: Disables raw count filtering for the channel.
221a8f1f0dcSJeff LaBundy
222a8f1f0dcSJeff LaBundy      azoteq,ati-mode:
223a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
224a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
225a8f1f0dcSJeff LaBundy        description: |
226a8f1f0dcSJeff LaBundy          Specifies the channel's ATI mode as follows:
227a8f1f0dcSJeff LaBundy          0: Disabled
228a8f1f0dcSJeff LaBundy          1: Semi-partial
229a8f1f0dcSJeff LaBundy          2: Partial
230a8f1f0dcSJeff LaBundy          3: Full
231a8f1f0dcSJeff LaBundy
232a8f1f0dcSJeff LaBundy          The default value is a function of the channel and the device's reset
233a8f1f0dcSJeff LaBundy          user interface (RUI); reference the datasheet for further information
234a8f1f0dcSJeff LaBundy          about the available RUI options.
235a8f1f0dcSJeff LaBundy
236a8f1f0dcSJeff LaBundy      azoteq,ati-base:
237a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
238a8f1f0dcSJeff LaBundy        enum: [75, 100, 150, 200]
239a8f1f0dcSJeff LaBundy        description:
240a8f1f0dcSJeff LaBundy          Specifies the channel's ATI base. The default value is a function
241a8f1f0dcSJeff LaBundy          of the channel and the device's RUI.
242a8f1f0dcSJeff LaBundy
243a8f1f0dcSJeff LaBundy      azoteq,ati-target:
244a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
245a8f1f0dcSJeff LaBundy        multipleOf: 32
246a8f1f0dcSJeff LaBundy        minimum: 0
247a8f1f0dcSJeff LaBundy        maximum: 2016
248a8f1f0dcSJeff LaBundy        description:
249a8f1f0dcSJeff LaBundy          Specifies the channel's ATI target. The default value is a function
250a8f1f0dcSJeff LaBundy          of the channel and the device's RUI.
251a8f1f0dcSJeff LaBundy
252a8f1f0dcSJeff LaBundy      azoteq,cct-increase:
253a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
254a8f1f0dcSJeff LaBundy        minimum: 0
255a8f1f0dcSJeff LaBundy        maximum: 16
256a8f1f0dcSJeff LaBundy        default: 0
257a8f1f0dcSJeff LaBundy        description:
258a8f1f0dcSJeff LaBundy          Specifies the degree to which the channel's charge cycle time is to
259a8f1f0dcSJeff LaBundy          be increased, with 0 representing no increase. The maximum value is
260a8f1f0dcSJeff LaBundy          limited to 4 in the case of the ULP channel, and the property is un-
261a8f1f0dcSJeff LaBundy          available entirely in the case of the Hall channel.
262a8f1f0dcSJeff LaBundy
263a8f1f0dcSJeff LaBundy      azoteq,proj-bias:
264a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
265a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
266a8f1f0dcSJeff LaBundy        default: 0
267a8f1f0dcSJeff LaBundy        description: |
268a8f1f0dcSJeff LaBundy          Specifies the bias current applied during projected-capacitance
269a8f1f0dcSJeff LaBundy          sensing as follows:
270a8f1f0dcSJeff LaBundy          0: 2.5 uA
271a8f1f0dcSJeff LaBundy          1: 5 uA
272a8f1f0dcSJeff LaBundy          2: 10 uA
273a8f1f0dcSJeff LaBundy          3: 20 uA
274a8f1f0dcSJeff LaBundy
275a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the Hall channel.
276a8f1f0dcSJeff LaBundy
277a8f1f0dcSJeff LaBundy      azoteq,sense-freq:
278a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
279a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
280a8f1f0dcSJeff LaBundy        description: |
281a8f1f0dcSJeff LaBundy          Specifies the channel's sensing frequency as follows (parenthesized
282a8f1f0dcSJeff LaBundy          numbers represent the frequency if 'azoteq,clk-div' is present):
283a8f1f0dcSJeff LaBundy          0: 4 MHz (1 MHz)
284a8f1f0dcSJeff LaBundy          1: 2 MHz (500 kHz)
285a8f1f0dcSJeff LaBundy          2: 1 MHz (250 kHz)
286a8f1f0dcSJeff LaBundy          3: 500 kHz (125 kHz)
287a8f1f0dcSJeff LaBundy
288a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the Hall channel. The
289a8f1f0dcSJeff LaBundy          default value is a function of the channel and the device's RUI.
290a8f1f0dcSJeff LaBundy
291a8f1f0dcSJeff LaBundy      azoteq,ati-band-tighten:
292a8f1f0dcSJeff LaBundy        type: boolean
293a8f1f0dcSJeff LaBundy        description:
294a8f1f0dcSJeff LaBundy          Tightens the ATI band from 1/8 to 1/16 of the desired target (ULP and
295a8f1f0dcSJeff LaBundy          generic channels only).
296a8f1f0dcSJeff LaBundy
297a8f1f0dcSJeff LaBundy      azoteq,proj-enable:
298a8f1f0dcSJeff LaBundy        type: boolean
299a8f1f0dcSJeff LaBundy        description: Enables projected-capacitance sensing (ULP channel only).
300a8f1f0dcSJeff LaBundy
301a8f1f0dcSJeff LaBundy      azoteq,filt-str-np-cnt:
302a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
303a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
304a8f1f0dcSJeff LaBundy        default: 0
305a8f1f0dcSJeff LaBundy        description:
306a8f1f0dcSJeff LaBundy          Specifies the raw count filter strength during normal-power mode (ULP
307a8f1f0dcSJeff LaBundy          and generic channels only).
308a8f1f0dcSJeff LaBundy
309a8f1f0dcSJeff LaBundy      azoteq,filt-str-lp-cnt:
310a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
311a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
312a8f1f0dcSJeff LaBundy        default: 0
313a8f1f0dcSJeff LaBundy        description:
314a8f1f0dcSJeff LaBundy          Specifies the raw count filter strength during low-power mode (ULP and
315a8f1f0dcSJeff LaBundy          generic channels only).
316a8f1f0dcSJeff LaBundy
317a8f1f0dcSJeff LaBundy      azoteq,filt-str-np-lta:
318a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
319a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
320a8f1f0dcSJeff LaBundy        default: 0
321a8f1f0dcSJeff LaBundy        description:
322a8f1f0dcSJeff LaBundy          Specifies the long-term average filter strength during normal-power
323a8f1f0dcSJeff LaBundy          mode (ULP and generic channels only).
324a8f1f0dcSJeff LaBundy
325a8f1f0dcSJeff LaBundy      azoteq,filt-str-lp-lta:
326a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
327a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
328a8f1f0dcSJeff LaBundy        default: 0
329a8f1f0dcSJeff LaBundy        description:
330a8f1f0dcSJeff LaBundy          Specifies the long-term average filter strength during low-power mode
331a8f1f0dcSJeff LaBundy          (ULP and generic channels only).
332a8f1f0dcSJeff LaBundy
333a8f1f0dcSJeff LaBundy      azoteq,rx-enable:
334a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32-array
335a8f1f0dcSJeff LaBundy        minItems: 1
336a8f1f0dcSJeff LaBundy        maxItems: 8
337a8f1f0dcSJeff LaBundy        items:
338a8f1f0dcSJeff LaBundy          minimum: 0
339a8f1f0dcSJeff LaBundy          maximum: 7
340a8f1f0dcSJeff LaBundy        description:
341a8f1f0dcSJeff LaBundy          Specifies the CRX pin(s) associated with the channel.
342a8f1f0dcSJeff LaBundy
343a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the Hall channel. The
344a8f1f0dcSJeff LaBundy          default value is a function of the channel and the device's RUI.
345a8f1f0dcSJeff LaBundy
346a8f1f0dcSJeff LaBundy      azoteq,tx-enable:
347a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32-array
348a8f1f0dcSJeff LaBundy        minItems: 1
349a8f1f0dcSJeff LaBundy        maxItems: 8
350a8f1f0dcSJeff LaBundy        items:
351a8f1f0dcSJeff LaBundy          minimum: 0
352a8f1f0dcSJeff LaBundy          maximum: 7
353a8f1f0dcSJeff LaBundy        description:
354a8f1f0dcSJeff LaBundy          Specifies the TX pin(s) associated with the channel.
355a8f1f0dcSJeff LaBundy
356a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the Hall channel. The
357a8f1f0dcSJeff LaBundy          default value is a function of the channel and the device's RUI.
358a8f1f0dcSJeff LaBundy
359a8f1f0dcSJeff LaBundy      azoteq,local-cap-size:
360a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
361a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3, 4]
362a8f1f0dcSJeff LaBundy        default: 0
363a8f1f0dcSJeff LaBundy        description: |
364a8f1f0dcSJeff LaBundy          Specifies the capacitance to be added to the channel as follows:
365a8f1f0dcSJeff LaBundy          0: 0 pF
366a8f1f0dcSJeff LaBundy          1: 0.5 pF
367a8f1f0dcSJeff LaBundy          2: 1.0 pF
368a8f1f0dcSJeff LaBundy          3: 1.5 pF
369a8f1f0dcSJeff LaBundy          4: 2.0 pF
370a8f1f0dcSJeff LaBundy
371a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the ULP or Hall channels.
372a8f1f0dcSJeff LaBundy
373a8f1f0dcSJeff LaBundy      azoteq,sense-mode:
374a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
375a8f1f0dcSJeff LaBundy        enum: [0, 1, 8, 9, 12, 14, 15]
376a8f1f0dcSJeff LaBundy        description: |
377a8f1f0dcSJeff LaBundy          Specifies the channel's sensing mode as follows:
378a8f1f0dcSJeff LaBundy          0:  Self capacitance
379a8f1f0dcSJeff LaBundy          1:  Projected capacitance
380a8f1f0dcSJeff LaBundy          8:  Self inductance
381a8f1f0dcSJeff LaBundy          9:  Mutual inductance
382a8f1f0dcSJeff LaBundy          12: External
383a8f1f0dcSJeff LaBundy          14: Hall effect
384a8f1f0dcSJeff LaBundy          15: Temperature
385a8f1f0dcSJeff LaBundy
386a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the ULP or Hall channels.
387a8f1f0dcSJeff LaBundy          The default value is a function of the channel and the device's RUI.
388a8f1f0dcSJeff LaBundy
389a8f1f0dcSJeff LaBundy      azoteq,tx-freq:
390a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
391a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
392a8f1f0dcSJeff LaBundy        default: 0
393a8f1f0dcSJeff LaBundy        description: |
394a8f1f0dcSJeff LaBundy          Specifies the inductive sensing excitation frequency as follows
395a8f1f0dcSJeff LaBundy          (parenthesized numbers represent the frequency if 'azoteq,clk-div'
396a8f1f0dcSJeff LaBundy          is present):
397a8f1f0dcSJeff LaBundy          0: 16 MHz (4 MHz)
398a8f1f0dcSJeff LaBundy          1: 8 MHz (2 MHz)
399a8f1f0dcSJeff LaBundy          2: 4 MHz (1 MHz)
400a8f1f0dcSJeff LaBundy          3: 2 MHz (500 kHz)
401a8f1f0dcSJeff LaBundy
402a8f1f0dcSJeff LaBundy          This property is unavailable in the case of the ULP or Hall channels.
403a8f1f0dcSJeff LaBundy
404a8f1f0dcSJeff LaBundy      azoteq,invert-enable:
405a8f1f0dcSJeff LaBundy        type: boolean
406a8f1f0dcSJeff LaBundy        description:
407a8f1f0dcSJeff LaBundy          Inverts the polarity of the states reported for proximity, touch and
408a8f1f0dcSJeff LaBundy          deep-touch events relative to their respective thresholds (generic
409a8f1f0dcSJeff LaBundy          channels only).
410a8f1f0dcSJeff LaBundy
411a8f1f0dcSJeff LaBundy      azoteq,comp-disable:
412a8f1f0dcSJeff LaBundy        type: boolean
413a8f1f0dcSJeff LaBundy        description:
414a8f1f0dcSJeff LaBundy          Disables compensation for the channel (generic channels only).
415a8f1f0dcSJeff LaBundy
416a8f1f0dcSJeff LaBundy      azoteq,static-enable:
417a8f1f0dcSJeff LaBundy        type: boolean
418a8f1f0dcSJeff LaBundy        description:
419a8f1f0dcSJeff LaBundy          Enables the static front-end for the channel (generic channels only).
420a8f1f0dcSJeff LaBundy
421a8f1f0dcSJeff LaBundy      azoteq,assoc-select:
422a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/string-array
423a8f1f0dcSJeff LaBundy        minItems: 1
424a8f1f0dcSJeff LaBundy        maxItems: 6
425a8f1f0dcSJeff LaBundy        items:
426a8f1f0dcSJeff LaBundy          enum:
427a8f1f0dcSJeff LaBundy            - ulp-0
428a8f1f0dcSJeff LaBundy            - trackpad-3x2
429a8f1f0dcSJeff LaBundy            - trackpad-3x3
430a8f1f0dcSJeff LaBundy            - generic-0
431a8f1f0dcSJeff LaBundy            - generic-1
432a8f1f0dcSJeff LaBundy            - generic-2
433a8f1f0dcSJeff LaBundy            - hall
434a8f1f0dcSJeff LaBundy        description:
435a8f1f0dcSJeff LaBundy          Specifies the associated channels for which the channel serves as a
436a8f1f0dcSJeff LaBundy          reference channel. By default, no channels are selected. This prop-
437a8f1f0dcSJeff LaBundy          erty is only available for the generic channels.
438a8f1f0dcSJeff LaBundy
439a8f1f0dcSJeff LaBundy      azoteq,assoc-weight:
440a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
441a8f1f0dcSJeff LaBundy        minimum: 0
442a8f1f0dcSJeff LaBundy        maximum: 255
443a8f1f0dcSJeff LaBundy        default: 0
444a8f1f0dcSJeff LaBundy        description:
445a8f1f0dcSJeff LaBundy          Specifies the channel's impact weight if it acts as an associated
446a8f1f0dcSJeff LaBundy          channel (0 = 0% impact, 255 = 200% impact). This property is only
447a8f1f0dcSJeff LaBundy          available for the generic channels.
448a8f1f0dcSJeff LaBundy
449a8f1f0dcSJeff LaBundy    patternProperties:
450a8f1f0dcSJeff LaBundy      "^event-(prox|touch|deep)(-alt)?$":
451a8f1f0dcSJeff LaBundy        type: object
4528ac14d2cSRob Herring        $ref: input.yaml#
453a8f1f0dcSJeff LaBundy        description:
454a8f1f0dcSJeff LaBundy          Represents a proximity, touch or deep-touch event reported by the
455a8f1f0dcSJeff LaBundy          channel in response to a decrease in counts. Node names suffixed with
456a8f1f0dcSJeff LaBundy          '-alt' instead correspond to an increase in counts.
457a8f1f0dcSJeff LaBundy
458a8f1f0dcSJeff LaBundy          By default, the long-term average tracks an increase in counts such
459a8f1f0dcSJeff LaBundy          that only events corresponding to a decrease in counts are reported
460a8f1f0dcSJeff LaBundy          (refer to the datasheet for more information).
461a8f1f0dcSJeff LaBundy
462a8f1f0dcSJeff LaBundy          Specify 'azoteq,dual-direction' to freeze the long-term average when
463a8f1f0dcSJeff LaBundy          the counts increase or decrease such that events of either direction
464a8f1f0dcSJeff LaBundy          can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
465a8f1f0dcSJeff LaBundy          vert the polarity of the states reported by the channel.
466a8f1f0dcSJeff LaBundy
467a8f1f0dcSJeff LaBundy          Complementary events (e.g. event-touch and event-touch-alt) can both
468a8f1f0dcSJeff LaBundy          be present and specify different key or switch codes, but not differ-
469a8f1f0dcSJeff LaBundy          ent thresholds or hysteresis (if applicable).
470a8f1f0dcSJeff LaBundy
471a8f1f0dcSJeff LaBundy          Proximity events are unavailable in the case of the Hall channel, and
472a8f1f0dcSJeff LaBundy          deep-touch events are only available for the generic channels. Unless
473a8f1f0dcSJeff LaBundy          otherwise specified, default values are a function of the channel and
474a8f1f0dcSJeff LaBundy          the device's RUI.
475a8f1f0dcSJeff LaBundy
476a8f1f0dcSJeff LaBundy        properties:
477a8f1f0dcSJeff LaBundy          azoteq,thresh:
478a8f1f0dcSJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
479a8f1f0dcSJeff LaBundy            minimum: 0
480a8f1f0dcSJeff LaBundy            maximum: 255
481a8f1f0dcSJeff LaBundy            description: Specifies the threshold for the event.
482a8f1f0dcSJeff LaBundy
483a8f1f0dcSJeff LaBundy          azoteq,hyst:
484a8f1f0dcSJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
485a8f1f0dcSJeff LaBundy            minimum: 0
486a8f1f0dcSJeff LaBundy            maximum: 15
487a8f1f0dcSJeff LaBundy            description:
488a8f1f0dcSJeff LaBundy              Specifies the hysteresis for the event (touch and deep-touch
489a8f1f0dcSJeff LaBundy              events only).
490a8f1f0dcSJeff LaBundy
4918ac14d2cSRob Herring          linux,code: true
492a8f1f0dcSJeff LaBundy
493a8f1f0dcSJeff LaBundy          linux,input-type:
494a8f1f0dcSJeff LaBundy            enum: [1, 5]
495a8f1f0dcSJeff LaBundy            description:
496a8f1f0dcSJeff LaBundy              Specifies whether the event is to be interpreted as a key (1) or
497a8f1f0dcSJeff LaBundy              a switch (5). By default, Hall-channel events are interpreted as
498a8f1f0dcSJeff LaBundy              switches and all others are interpreted as keys.
499a8f1f0dcSJeff LaBundy
500a8f1f0dcSJeff LaBundy        additionalProperties: false
501a8f1f0dcSJeff LaBundy
502a8f1f0dcSJeff LaBundy    dependencies:
503a8f1f0dcSJeff LaBundy      azoteq,assoc-weight: ["azoteq,assoc-select"]
504a8f1f0dcSJeff LaBundy
505a8f1f0dcSJeff LaBundy    additionalProperties: false
506a8f1f0dcSJeff LaBundy
507a8f1f0dcSJeff LaBundy  "^trackpad-3x[2-3]$":
508a8f1f0dcSJeff LaBundy    type: object
509d853cec7SRob Herring    $ref: input.yaml#
510a8f1f0dcSJeff LaBundy    description:
511a8f1f0dcSJeff LaBundy      Represents all channels associated with the trackpad. The channels are
512a8f1f0dcSJeff LaBundy      collectively active if the trackpad is defined and inactive otherwise.
513a8f1f0dcSJeff LaBundy
514a8f1f0dcSJeff LaBundy    properties:
515a8f1f0dcSJeff LaBundy      azoteq,ati-exclude:
516a8f1f0dcSJeff LaBundy        type: boolean
517a8f1f0dcSJeff LaBundy        description:
518a8f1f0dcSJeff LaBundy          Prevents the trackpad channels from participating in an ATI event
519a8f1f0dcSJeff LaBundy          that is manually triggered during initialization.
520a8f1f0dcSJeff LaBundy
521a8f1f0dcSJeff LaBundy      azoteq,reseed-disable:
522a8f1f0dcSJeff LaBundy        type: boolean
523a8f1f0dcSJeff LaBundy        description:
524a8f1f0dcSJeff LaBundy          Prevents the trackpad channels from being reseeded if the long-term
525a8f1f0dcSJeff LaBundy          average timeout (defined in 'azoteq,timeout-lta') expires.
526a8f1f0dcSJeff LaBundy
527a8f1f0dcSJeff LaBundy      azoteq,meas-cap-decrease:
528a8f1f0dcSJeff LaBundy        type: boolean
529a8f1f0dcSJeff LaBundy        description:
530a8f1f0dcSJeff LaBundy          Decreases the internal measurement capacitance from 60 pF to 15 pF.
531a8f1f0dcSJeff LaBundy
532a8f1f0dcSJeff LaBundy      azoteq,rx-inactive:
533a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
534a8f1f0dcSJeff LaBundy        enum: [0, 1]
535a8f1f0dcSJeff LaBundy        default: 0
536a8f1f0dcSJeff LaBundy        description: |
537a8f1f0dcSJeff LaBundy          Specifies how inactive CRX pins are to be terminated as follows:
538a8f1f0dcSJeff LaBundy          0: VSS
539a8f1f0dcSJeff LaBundy          1: Floating
540a8f1f0dcSJeff LaBundy
541a8f1f0dcSJeff LaBundy      azoteq,linearize:
542a8f1f0dcSJeff LaBundy        type: boolean
543a8f1f0dcSJeff LaBundy        description: Inverts the polarity of the trackpad's touch state.
544a8f1f0dcSJeff LaBundy
545a8f1f0dcSJeff LaBundy      azoteq,dual-direction:
546a8f1f0dcSJeff LaBundy        type: boolean
547a8f1f0dcSJeff LaBundy        description:
548a8f1f0dcSJeff LaBundy          Specifies that the trackpad's long-term averages are to freeze in
549a8f1f0dcSJeff LaBundy          the presence of either increasing or decreasing counts, thereby
550a8f1f0dcSJeff LaBundy          permitting events to be reported in either direction.
551a8f1f0dcSJeff LaBundy
552a8f1f0dcSJeff LaBundy      azoteq,filt-disable:
553a8f1f0dcSJeff LaBundy        type: boolean
554a8f1f0dcSJeff LaBundy        description: Disables raw count filtering for the trackpad channels.
555a8f1f0dcSJeff LaBundy
556a8f1f0dcSJeff LaBundy      azoteq,ati-mode:
557a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
558a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
559a8f1f0dcSJeff LaBundy        default: 0
560a8f1f0dcSJeff LaBundy        description: |
561a8f1f0dcSJeff LaBundy          Specifies the trackpad's ATI mode as follows:
562a8f1f0dcSJeff LaBundy          0: Disabled
563a8f1f0dcSJeff LaBundy          1: Semi-partial
564a8f1f0dcSJeff LaBundy          2: Partial
565a8f1f0dcSJeff LaBundy          3: Full
566a8f1f0dcSJeff LaBundy
567a8f1f0dcSJeff LaBundy      azoteq,ati-target:
568a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
569a8f1f0dcSJeff LaBundy        multipleOf: 32
570a8f1f0dcSJeff LaBundy        minimum: 0
571a8f1f0dcSJeff LaBundy        maximum: 2016
572a8f1f0dcSJeff LaBundy        default: 0
573a8f1f0dcSJeff LaBundy        description: Specifies the trackpad's ATI target.
574a8f1f0dcSJeff LaBundy
575a8f1f0dcSJeff LaBundy      azoteq,cct-increase:
576a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
577a8f1f0dcSJeff LaBundy        minimum: 0
578a8f1f0dcSJeff LaBundy        maximum: 4
579a8f1f0dcSJeff LaBundy        default: 0
580a8f1f0dcSJeff LaBundy        description:
581a8f1f0dcSJeff LaBundy          Specifies the degree to which the trackpad's charge cycle time is to
582a8f1f0dcSJeff LaBundy          be increased, with 0 representing no increase.
583a8f1f0dcSJeff LaBundy
584a8f1f0dcSJeff LaBundy      azoteq,proj-bias:
585a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
586a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
587a8f1f0dcSJeff LaBundy        default: 0
588a8f1f0dcSJeff LaBundy        description: |
589a8f1f0dcSJeff LaBundy          Specifies the bias current applied during projected-capacitance
590a8f1f0dcSJeff LaBundy          sensing as follows:
591a8f1f0dcSJeff LaBundy          0: 2.5 uA
592a8f1f0dcSJeff LaBundy          1: 5 uA
593a8f1f0dcSJeff LaBundy          2: 10 uA
594a8f1f0dcSJeff LaBundy          3: 20 uA
595a8f1f0dcSJeff LaBundy
596a8f1f0dcSJeff LaBundy      azoteq,sense-freq:
597a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
598a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
599a8f1f0dcSJeff LaBundy        default: 0
600a8f1f0dcSJeff LaBundy        description: |
601a8f1f0dcSJeff LaBundy          Specifies the trackpad's sensing frequency as follows (parenthesized
602a8f1f0dcSJeff LaBundy          numbers represent the frequency if 'azoteq,clk-div' is present):
603a8f1f0dcSJeff LaBundy          0: 4 MHz (1 MHz)
604a8f1f0dcSJeff LaBundy          1: 2 MHz (500 kHz)
605a8f1f0dcSJeff LaBundy          2: 1 MHz (250 kHz)
606a8f1f0dcSJeff LaBundy          3: 500 kHz (125 kHz)
607a8f1f0dcSJeff LaBundy
608a8f1f0dcSJeff LaBundy      azoteq,ati-band-tighten:
609a8f1f0dcSJeff LaBundy        type: boolean
610a8f1f0dcSJeff LaBundy        description:
611a8f1f0dcSJeff LaBundy          Tightens the ATI band from 1/8 to 1/16 of the desired target.
612a8f1f0dcSJeff LaBundy
613a8f1f0dcSJeff LaBundy      azoteq,hyst:
614a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
615a8f1f0dcSJeff LaBundy        minimum: 0
616a8f1f0dcSJeff LaBundy        maximum: 15
617a8f1f0dcSJeff LaBundy        default: 0
618a8f1f0dcSJeff LaBundy        description: Specifies the trackpad's touch hysteresis.
619a8f1f0dcSJeff LaBundy
620a8f1f0dcSJeff LaBundy      azoteq,lta-update:
621a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
622a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3, 4, 5, 6, 7]
623a8f1f0dcSJeff LaBundy        default: 0
624a8f1f0dcSJeff LaBundy        description: |
625a8f1f0dcSJeff LaBundy          Specifies the update rate of the trackpad's long-term average during
626a8f1f0dcSJeff LaBundy          ultra-low-power mode as follows:
627a8f1f0dcSJeff LaBundy          0: 2
628a8f1f0dcSJeff LaBundy          1: 4
629a8f1f0dcSJeff LaBundy          2: 8
630a8f1f0dcSJeff LaBundy          3: 16
631a8f1f0dcSJeff LaBundy          4: 32
632a8f1f0dcSJeff LaBundy          5: 64
633a8f1f0dcSJeff LaBundy          6: 128
634a8f1f0dcSJeff LaBundy          7: 255
635a8f1f0dcSJeff LaBundy
636a8f1f0dcSJeff LaBundy      azoteq,filt-str-trackpad:
637a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
638a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
639a8f1f0dcSJeff LaBundy        default: 0
640a8f1f0dcSJeff LaBundy        description: Specifies the trackpad coordinate filter strength.
641a8f1f0dcSJeff LaBundy
642a8f1f0dcSJeff LaBundy      azoteq,filt-str-np-cnt:
643a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
644a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
645a8f1f0dcSJeff LaBundy        default: 0
646a8f1f0dcSJeff LaBundy        description:
647a8f1f0dcSJeff LaBundy          Specifies the raw count filter strength during normal-power mode.
648a8f1f0dcSJeff LaBundy
649a8f1f0dcSJeff LaBundy      azoteq,filt-str-lp-cnt:
650a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
651a8f1f0dcSJeff LaBundy        enum: [0, 1, 2, 3]
652a8f1f0dcSJeff LaBundy        default: 0
653a8f1f0dcSJeff LaBundy        description:
654a8f1f0dcSJeff LaBundy          Specifies the raw count filter strength during low-power mode.
655a8f1f0dcSJeff LaBundy
656a8f1f0dcSJeff LaBundy      linux,keycodes:
657a8f1f0dcSJeff LaBundy        minItems: 1
658a8f1f0dcSJeff LaBundy        maxItems: 6
659a8f1f0dcSJeff LaBundy        description: |
660a8f1f0dcSJeff LaBundy          Specifies the numeric keycodes associated with each available gesture
661a8f1f0dcSJeff LaBundy          in the following order (enter 0 for unused gestures):
662a8f1f0dcSJeff LaBundy          0: Positive flick or swipe in X direction
663a8f1f0dcSJeff LaBundy          1: Negative flick or swipe in X direction
664a8f1f0dcSJeff LaBundy          2: Positive flick or swipe in Y direction
665a8f1f0dcSJeff LaBundy          3: Negative flick or swipe in Y direction
666a8f1f0dcSJeff LaBundy          4: Tap
667a8f1f0dcSJeff LaBundy          5: Hold
668a8f1f0dcSJeff LaBundy
669a8f1f0dcSJeff LaBundy      azoteq,gesture-swipe:
670a8f1f0dcSJeff LaBundy        type: boolean
671a8f1f0dcSJeff LaBundy        description:
672a8f1f0dcSJeff LaBundy          Directs the device to interpret axial gestures as a swipe (finger
673a8f1f0dcSJeff LaBundy          remains on trackpad) instead of a flick (finger leaves trackpad).
674a8f1f0dcSJeff LaBundy
675a8f1f0dcSJeff LaBundy      azoteq,timeout-tap-ms:
676a8f1f0dcSJeff LaBundy        multipleOf: 16
677a8f1f0dcSJeff LaBundy        minimum: 0
678a8f1f0dcSJeff LaBundy        maximum: 4080
679a8f1f0dcSJeff LaBundy        default: 0
680a8f1f0dcSJeff LaBundy        description:
681a8f1f0dcSJeff LaBundy          Specifies the length of time (in ms) within which a trackpad touch
682a8f1f0dcSJeff LaBundy          must be released in order to be interpreted as a tap.
683a8f1f0dcSJeff LaBundy
684a8f1f0dcSJeff LaBundy      azoteq,timeout-swipe-ms:
685a8f1f0dcSJeff LaBundy        multipleOf: 16
686a8f1f0dcSJeff LaBundy        minimum: 0
687a8f1f0dcSJeff LaBundy        maximum: 4080
688a8f1f0dcSJeff LaBundy        default: 0
689a8f1f0dcSJeff LaBundy        description:
690a8f1f0dcSJeff LaBundy          Specifies the length of time (in ms) within which an axial gesture
691a8f1f0dcSJeff LaBundy          must be completed in order to be interpreted as a flick or swipe.
692a8f1f0dcSJeff LaBundy
693a8f1f0dcSJeff LaBundy      azoteq,thresh-swipe:
694a8f1f0dcSJeff LaBundy        $ref: /schemas/types.yaml#/definitions/uint32
695a8f1f0dcSJeff LaBundy        minimum: 0
696a8f1f0dcSJeff LaBundy        maximum: 255
697a8f1f0dcSJeff LaBundy        default: 0
698a8f1f0dcSJeff LaBundy        description:
699a8f1f0dcSJeff LaBundy          Specifies the number of points across which an axial gesture must
700a8f1f0dcSJeff LaBundy          travel in order to be interpreted as a flick or swipe.
701a8f1f0dcSJeff LaBundy
702*9e69e845SJeff LaBundy    patternProperties:
703*9e69e845SJeff LaBundy      "^channel-[0-8]$":
704*9e69e845SJeff LaBundy        type: object
705*9e69e845SJeff LaBundy        description: Represents a single trackpad channel.
706*9e69e845SJeff LaBundy
707*9e69e845SJeff LaBundy        properties:
708*9e69e845SJeff LaBundy          azoteq,thresh:
709*9e69e845SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
710*9e69e845SJeff LaBundy            minimum: 0
711*9e69e845SJeff LaBundy            maximum: 255
712*9e69e845SJeff LaBundy            default: 0
713*9e69e845SJeff LaBundy            description: Specifies the threshold for the channel.
714*9e69e845SJeff LaBundy
715*9e69e845SJeff LaBundy          azoteq,ati-base:
716*9e69e845SJeff LaBundy            $ref: /schemas/types.yaml#/definitions/uint32
717*9e69e845SJeff LaBundy            minimum: 45
718*9e69e845SJeff LaBundy            maximum: 300
719*9e69e845SJeff LaBundy            default: 45
720*9e69e845SJeff LaBundy            description: Specifies the channel's ATI base.
721*9e69e845SJeff LaBundy
722*9e69e845SJeff LaBundy        additionalProperties: false
723*9e69e845SJeff LaBundy
724a8f1f0dcSJeff LaBundy    dependencies:
725a8f1f0dcSJeff LaBundy      azoteq,gesture-swipe: ["linux,keycodes"]
726a8f1f0dcSJeff LaBundy      azoteq,timeout-tap-ms: ["linux,keycodes"]
727a8f1f0dcSJeff LaBundy      azoteq,timeout-swipe-ms: ["linux,keycodes"]
728a8f1f0dcSJeff LaBundy      azoteq,thresh-swipe: ["linux,keycodes"]
729a8f1f0dcSJeff LaBundy
730a8f1f0dcSJeff LaBundy    additionalProperties: false
731a8f1f0dcSJeff LaBundy
732a8f1f0dcSJeff LaBundyrequired:
733a8f1f0dcSJeff LaBundy  - compatible
734a8f1f0dcSJeff LaBundy  - reg
735a8f1f0dcSJeff LaBundy  - interrupts
736a8f1f0dcSJeff LaBundy  - "#address-cells"
737a8f1f0dcSJeff LaBundy  - "#size-cells"
738a8f1f0dcSJeff LaBundy
739a8f1f0dcSJeff LaBundyadditionalProperties: false
740a8f1f0dcSJeff LaBundy
741a8f1f0dcSJeff LaBundyexamples:
742a8f1f0dcSJeff LaBundy  - |
743a8f1f0dcSJeff LaBundy    #include <dt-bindings/input/input.h>
744a8f1f0dcSJeff LaBundy    #include <dt-bindings/interrupt-controller/irq.h>
745a8f1f0dcSJeff LaBundy
746a8f1f0dcSJeff LaBundy    i2c {
747a8f1f0dcSJeff LaBundy            #address-cells = <1>;
748a8f1f0dcSJeff LaBundy            #size-cells = <0>;
749a8f1f0dcSJeff LaBundy
7504fda8a2dSKrzysztof Kozlowski            touch@44 {
751a8f1f0dcSJeff LaBundy                    #address-cells = <1>;
752a8f1f0dcSJeff LaBundy                    #size-cells = <0>;
753a8f1f0dcSJeff LaBundy
754a8f1f0dcSJeff LaBundy                    compatible = "azoteq,iqs626a";
755a8f1f0dcSJeff LaBundy                    reg = <0x44>;
756a8f1f0dcSJeff LaBundy                    interrupt-parent = <&gpio>;
757a8f1f0dcSJeff LaBundy                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
758a8f1f0dcSJeff LaBundy
759a8f1f0dcSJeff LaBundy                    azoteq,rate-np-ms = <16>;
760a8f1f0dcSJeff LaBundy                    azoteq,rate-lp-ms = <160>;
761a8f1f0dcSJeff LaBundy
762a8f1f0dcSJeff LaBundy                    azoteq,timeout-pwr-ms = <2560>;
763a8f1f0dcSJeff LaBundy                    azoteq,timeout-lta-ms = <32768>;
764a8f1f0dcSJeff LaBundy
765a8f1f0dcSJeff LaBundy                    ulp-0 {
766a8f1f0dcSJeff LaBundy                            azoteq,meas-cap-decrease;
767a8f1f0dcSJeff LaBundy
768a8f1f0dcSJeff LaBundy                            azoteq,ati-base = <75>;
769a8f1f0dcSJeff LaBundy                            azoteq,ati-target = <1024>;
770a8f1f0dcSJeff LaBundy
771a8f1f0dcSJeff LaBundy                            azoteq,rx-enable = <2>, <3>, <4>,
772a8f1f0dcSJeff LaBundy                                               <5>, <6>, <7>;
773a8f1f0dcSJeff LaBundy
774a8f1f0dcSJeff LaBundy                            event-prox {
775a8f1f0dcSJeff LaBundy                                    linux,code = <KEY_POWER>;
776a8f1f0dcSJeff LaBundy                            };
777a8f1f0dcSJeff LaBundy                    };
778a8f1f0dcSJeff LaBundy
779a8f1f0dcSJeff LaBundy                    trackpad-3x3 {
780a8f1f0dcSJeff LaBundy                            azoteq,filt-str-np-cnt = <1>;
781a8f1f0dcSJeff LaBundy                            azoteq,filt-str-lp-cnt = <1>;
782a8f1f0dcSJeff LaBundy
783a8f1f0dcSJeff LaBundy                            azoteq,hyst = <4>;
784a8f1f0dcSJeff LaBundy
785a8f1f0dcSJeff LaBundy                            azoteq,ati-mode = <3>;
786a8f1f0dcSJeff LaBundy                            azoteq,ati-target = <512>;
787a8f1f0dcSJeff LaBundy
788a8f1f0dcSJeff LaBundy                            azoteq,proj-bias = <1>;
789a8f1f0dcSJeff LaBundy                            azoteq,sense-freq = <2>;
790a8f1f0dcSJeff LaBundy
791a8f1f0dcSJeff LaBundy                            linux,keycodes = <KEY_VOLUMEUP>,
792a8f1f0dcSJeff LaBundy                                             <KEY_VOLUMEDOWN>,
793a8f1f0dcSJeff LaBundy                                             <KEY_NEXTSONG>,
794a8f1f0dcSJeff LaBundy                                             <KEY_PREVIOUSSONG>,
795a8f1f0dcSJeff LaBundy                                             <KEY_PLAYPAUSE>,
796a8f1f0dcSJeff LaBundy                                             <KEY_STOPCD>;
797a8f1f0dcSJeff LaBundy
798a8f1f0dcSJeff LaBundy                            azoteq,gesture-swipe;
799a8f1f0dcSJeff LaBundy                            azoteq,timeout-swipe-ms = <800>;
800a8f1f0dcSJeff LaBundy                            azoteq,timeout-tap-ms = <400>;
801a8f1f0dcSJeff LaBundy                            azoteq,thresh-swipe = <40>;
802*9e69e845SJeff LaBundy
803*9e69e845SJeff LaBundy                            channel-0 {
804*9e69e845SJeff LaBundy                                    azoteq,thresh = <35>;
805*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
806*9e69e845SJeff LaBundy                            };
807*9e69e845SJeff LaBundy
808*9e69e845SJeff LaBundy                            channel-1 {
809*9e69e845SJeff LaBundy                                    azoteq,thresh = <40>;
810*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
811*9e69e845SJeff LaBundy                            };
812*9e69e845SJeff LaBundy
813*9e69e845SJeff LaBundy                            channel-2 {
814*9e69e845SJeff LaBundy                                    azoteq,thresh = <40>;
815*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
816*9e69e845SJeff LaBundy                            };
817*9e69e845SJeff LaBundy
818*9e69e845SJeff LaBundy                            channel-3 {
819*9e69e845SJeff LaBundy                                    azoteq,thresh = <38>;
820*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
821*9e69e845SJeff LaBundy                            };
822*9e69e845SJeff LaBundy
823*9e69e845SJeff LaBundy                            channel-4 {
824*9e69e845SJeff LaBundy                                    azoteq,thresh = <33>;
825*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
826*9e69e845SJeff LaBundy                            };
827*9e69e845SJeff LaBundy
828*9e69e845SJeff LaBundy                            channel-5 {
829*9e69e845SJeff LaBundy                                    azoteq,thresh = <38>;
830*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
831*9e69e845SJeff LaBundy                            };
832*9e69e845SJeff LaBundy
833*9e69e845SJeff LaBundy                            channel-6 {
834*9e69e845SJeff LaBundy                                    azoteq,thresh = <35>;
835*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
836*9e69e845SJeff LaBundy                            };
837*9e69e845SJeff LaBundy
838*9e69e845SJeff LaBundy                            channel-7 {
839*9e69e845SJeff LaBundy                                    azoteq,thresh = <35>;
840*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
841*9e69e845SJeff LaBundy                            };
842*9e69e845SJeff LaBundy
843*9e69e845SJeff LaBundy                            channel-8 {
844*9e69e845SJeff LaBundy                                    azoteq,thresh = <35>;
845*9e69e845SJeff LaBundy                                    azoteq,ati-base = <195>;
846*9e69e845SJeff LaBundy                            };
847a8f1f0dcSJeff LaBundy                    };
848a8f1f0dcSJeff LaBundy
849a8f1f0dcSJeff LaBundy                    /*
850a8f1f0dcSJeff LaBundy                     * Preserve the default register settings for
851a8f1f0dcSJeff LaBundy                     * the temperature-tracking channel leveraged
852a8f1f0dcSJeff LaBundy                     * by reset user interface (RUI) 1.
853a8f1f0dcSJeff LaBundy                     *
854a8f1f0dcSJeff LaBundy                     * Scalar properties (e.g. ATI mode) are left
855a8f1f0dcSJeff LaBundy                     * untouched by simply omitting them; boolean
856a8f1f0dcSJeff LaBundy                     * properties must be specified explicitly as
857a8f1f0dcSJeff LaBundy                     * needed.
858a8f1f0dcSJeff LaBundy                     */
859a8f1f0dcSJeff LaBundy                    generic-2 {
860a8f1f0dcSJeff LaBundy                            azoteq,reseed-disable;
861a8f1f0dcSJeff LaBundy                            azoteq,meas-cap-decrease;
862a8f1f0dcSJeff LaBundy                            azoteq,dual-direction;
863a8f1f0dcSJeff LaBundy                            azoteq,comp-disable;
864a8f1f0dcSJeff LaBundy                            azoteq,static-enable;
865a8f1f0dcSJeff LaBundy                    };
866a8f1f0dcSJeff LaBundy
867a8f1f0dcSJeff LaBundy                    hall {
868a8f1f0dcSJeff LaBundy                            azoteq,reseed-disable;
869a8f1f0dcSJeff LaBundy                            azoteq,meas-cap-decrease;
870a8f1f0dcSJeff LaBundy
871a8f1f0dcSJeff LaBundy                            event-touch {
872a8f1f0dcSJeff LaBundy                                    linux,code = <SW_LID>;
873a8f1f0dcSJeff LaBundy                            };
874a8f1f0dcSJeff LaBundy                    };
875a8f1f0dcSJeff LaBundy            };
876a8f1f0dcSJeff LaBundy    };
877a8f1f0dcSJeff LaBundy
878a8f1f0dcSJeff LaBundy...
879