xref: /openbmc/linux/Documentation/devicetree/bindings/input/iqs269a.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1430ee40dSJeff LaBundy# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2430ee40dSJeff LaBundy%YAML 1.2
3430ee40dSJeff LaBundy---
4430ee40dSJeff LaBundy$id: http://devicetree.org/schemas/input/iqs269a.yaml#
5430ee40dSJeff LaBundy$schema: http://devicetree.org/meta-schemas/core.yaml#
6430ee40dSJeff LaBundy
7430ee40dSJeff LaBundytitle: Azoteq IQS269A Capacitive Touch Controller
8430ee40dSJeff LaBundy
9430ee40dSJeff LaBundymaintainers:
10430ee40dSJeff LaBundy  - Jeff LaBundy <jeff@labundy.com>
11430ee40dSJeff LaBundy
12430ee40dSJeff LaBundydescription: |
13430ee40dSJeff LaBundy  The Azoteq IQS269A is an 8-channel capacitive touch controller that features
14430ee40dSJeff LaBundy  additional Hall-effect and inductive sensing capabilities.
15430ee40dSJeff LaBundy
16430ee40dSJeff LaBundy  Link to datasheet: https://www.azoteq.com/
17430ee40dSJeff LaBundy
18430ee40dSJeff LaBundyproperties:
19430ee40dSJeff LaBundy  compatible:
20430ee40dSJeff LaBundy    const: azoteq,iqs269a
21430ee40dSJeff LaBundy
22430ee40dSJeff LaBundy  reg:
23430ee40dSJeff LaBundy    maxItems: 1
24430ee40dSJeff LaBundy
25430ee40dSJeff LaBundy  interrupts:
26430ee40dSJeff LaBundy    maxItems: 1
27430ee40dSJeff LaBundy
28430ee40dSJeff LaBundy  "#address-cells":
29430ee40dSJeff LaBundy    const: 1
30430ee40dSJeff LaBundy
31430ee40dSJeff LaBundy  "#size-cells":
32430ee40dSJeff LaBundy    const: 0
33430ee40dSJeff LaBundy
34430ee40dSJeff LaBundy  azoteq,hall-enable:
35430ee40dSJeff LaBundy    type: boolean
36430ee40dSJeff LaBundy    description:
37430ee40dSJeff LaBundy      Enables Hall-effect sensing on channels 6 and 7. In this case, keycodes
38430ee40dSJeff LaBundy      assigned to channel 6 are ignored and keycodes assigned to channel 7 are
39430ee40dSJeff LaBundy      interpreted as switch codes. Refer to the datasheet for requirements im-
40430ee40dSJeff LaBundy      posed on channels 6 and 7 by Hall-effect sensing.
41430ee40dSJeff LaBundy
42430ee40dSJeff LaBundy  azoteq,suspend-mode:
43086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
44086e9074SRob Herring    enum: [0, 1, 2, 3]
45430ee40dSJeff LaBundy    default: 0
46430ee40dSJeff LaBundy    description: |
47430ee40dSJeff LaBundy      Specifies the power mode during suspend as follows:
48430ee40dSJeff LaBundy      0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
49430ee40dSJeff LaBundy      1: Low power (all sensing at a reduced reporting rate)
50430ee40dSJeff LaBundy      2: Ultra-low power (channel 0 proximity sensing)
51430ee40dSJeff LaBundy      3: Halt (no sensing)
52430ee40dSJeff LaBundy
53430ee40dSJeff LaBundy  azoteq,clk-div:
54430ee40dSJeff LaBundy    type: boolean
55430ee40dSJeff LaBundy    description: Divides the device's core clock by a factor of 4.
56430ee40dSJeff LaBundy
57430ee40dSJeff LaBundy  azoteq,ulp-update:
58086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
59086e9074SRob Herring    minimum: 0
60430ee40dSJeff LaBundy    maximum: 7
61430ee40dSJeff LaBundy    default: 3
62430ee40dSJeff LaBundy    description: Specifies the ultra-low-power mode update rate.
63430ee40dSJeff LaBundy
64430ee40dSJeff LaBundy  azoteq,reseed-offset:
65430ee40dSJeff LaBundy    type: boolean
66430ee40dSJeff LaBundy    description:
67430ee40dSJeff LaBundy      Applies an 8-count offset to all long-term averages upon either ATI or
68430ee40dSJeff LaBundy      reseed events.
69430ee40dSJeff LaBundy
70430ee40dSJeff LaBundy  azoteq,filt-str-lp-lta:
71086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
72086e9074SRob Herring    enum: [0, 1, 2, 3]
73430ee40dSJeff LaBundy    default: 0
74430ee40dSJeff LaBundy    description:
75430ee40dSJeff LaBundy      Specifies the long-term average filter strength during low-power mode.
76430ee40dSJeff LaBundy
77430ee40dSJeff LaBundy  azoteq,filt-str-lp-cnt:
78086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
79086e9074SRob Herring    enum: [0, 1, 2, 3]
80430ee40dSJeff LaBundy    default: 0
81430ee40dSJeff LaBundy    description:
82430ee40dSJeff LaBundy      Specifies the raw count filter strength during low-power mode.
83430ee40dSJeff LaBundy
84430ee40dSJeff LaBundy  azoteq,filt-str-np-lta:
85086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
86086e9074SRob Herring    enum: [0, 1, 2, 3]
87430ee40dSJeff LaBundy    default: 0
88430ee40dSJeff LaBundy    description:
89430ee40dSJeff LaBundy      Specifies the long-term average filter strength during normal-power mode.
90430ee40dSJeff LaBundy
91430ee40dSJeff LaBundy  azoteq,filt-str-np-cnt:
92086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
93086e9074SRob Herring    enum: [0, 1, 2, 3]
94430ee40dSJeff LaBundy    default: 0
95430ee40dSJeff LaBundy    description:
96430ee40dSJeff LaBundy      Specifies the raw count filter strength during normal-power mode.
97430ee40dSJeff LaBundy
98430ee40dSJeff LaBundy  azoteq,rate-np-ms:
99430ee40dSJeff LaBundy    minimum: 0
100430ee40dSJeff LaBundy    maximum: 255
101430ee40dSJeff LaBundy    default: 16
102430ee40dSJeff LaBundy    description: Specifies the report rate (in ms) during normal-power mode.
103430ee40dSJeff LaBundy
104430ee40dSJeff LaBundy  azoteq,rate-lp-ms:
105430ee40dSJeff LaBundy    minimum: 0
106430ee40dSJeff LaBundy    maximum: 255
107430ee40dSJeff LaBundy    default: 160
108430ee40dSJeff LaBundy    description: Specifies the report rate (in ms) during low-power mode.
109430ee40dSJeff LaBundy
110430ee40dSJeff LaBundy  azoteq,rate-ulp-ms:
111430ee40dSJeff LaBundy    multipleOf: 16
112430ee40dSJeff LaBundy    minimum: 0
113430ee40dSJeff LaBundy    maximum: 4080
114430ee40dSJeff LaBundy    default: 160
115430ee40dSJeff LaBundy    description: Specifies the report rate (in ms) during ultra-low-power mode.
116430ee40dSJeff LaBundy
117430ee40dSJeff LaBundy  azoteq,timeout-pwr-ms:
118430ee40dSJeff LaBundy    multipleOf: 512
119430ee40dSJeff LaBundy    minimum: 0
120430ee40dSJeff LaBundy    maximum: 130560
121430ee40dSJeff LaBundy    default: 2560
122430ee40dSJeff LaBundy    description:
123430ee40dSJeff LaBundy      Specifies the length of time (in ms) to wait for an event during normal-
124430ee40dSJeff LaBundy      power mode before transitioning to low-power mode.
125430ee40dSJeff LaBundy
126430ee40dSJeff LaBundy  azoteq,timeout-lta-ms:
127430ee40dSJeff LaBundy    multipleOf: 512
128430ee40dSJeff LaBundy    minimum: 0
129430ee40dSJeff LaBundy    maximum: 130560
130430ee40dSJeff LaBundy    default: 32768
131430ee40dSJeff LaBundy    description:
132430ee40dSJeff LaBundy      Specifies the length of time (in ms) to wait before resetting the long-
133430ee40dSJeff LaBundy      term average of all channels. Specify the maximum timeout to disable it
134430ee40dSJeff LaBundy      altogether.
135430ee40dSJeff LaBundy
136430ee40dSJeff LaBundy  azoteq,ati-band-disable:
137430ee40dSJeff LaBundy    type: boolean
138430ee40dSJeff LaBundy    description: Disables the ATI band check.
139430ee40dSJeff LaBundy
140430ee40dSJeff LaBundy  azoteq,ati-lp-only:
141430ee40dSJeff LaBundy    type: boolean
142430ee40dSJeff LaBundy    description: Limits automatic ATI to low-power mode.
143430ee40dSJeff LaBundy
144430ee40dSJeff LaBundy  azoteq,ati-band-tighten:
145430ee40dSJeff LaBundy    type: boolean
146430ee40dSJeff LaBundy    description: Tightens the ATI band from 1/8 to 1/16 of the desired target.
147430ee40dSJeff LaBundy
148430ee40dSJeff LaBundy  azoteq,filt-disable:
149430ee40dSJeff LaBundy    type: boolean
150430ee40dSJeff LaBundy    description: Disables all raw count filtering.
151430ee40dSJeff LaBundy
152430ee40dSJeff LaBundy  azoteq,gpio3-select:
153086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
154086e9074SRob Herring    minimum: 0
155430ee40dSJeff LaBundy    maximum: 7
156430ee40dSJeff LaBundy    default: 0
157430ee40dSJeff LaBundy    description:
158430ee40dSJeff LaBundy      Selects the channel for which the GPIO3 pin represents touch state.
159430ee40dSJeff LaBundy
160430ee40dSJeff LaBundy  azoteq,dual-direction:
161430ee40dSJeff LaBundy    type: boolean
162430ee40dSJeff LaBundy    description:
163430ee40dSJeff LaBundy      Specifies that long-term averages are to freeze in the presence of either
164430ee40dSJeff LaBundy      increasing or decreasing counts, thereby permitting events to be reported
165430ee40dSJeff LaBundy      in either direction.
166430ee40dSJeff LaBundy
167430ee40dSJeff LaBundy  azoteq,tx-freq:
168086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
169086e9074SRob Herring    enum: [0, 1, 2, 3]
170430ee40dSJeff LaBundy    default: 0
171430ee40dSJeff LaBundy    description: |
172430ee40dSJeff LaBundy      Specifies the inductive sensing excitation frequency as follows (paren-
173430ee40dSJeff LaBundy      thesized numbers represent the frequency if 'azoteq,clk-div' is present):
174430ee40dSJeff LaBundy      0: 16 MHz (4 MHz)
175430ee40dSJeff LaBundy      1: 8 MHz (2 MHz)
176430ee40dSJeff LaBundy      2: 4 MHz (1 MHz)
177430ee40dSJeff LaBundy      3: 2 MHz (500 kHz)
178430ee40dSJeff LaBundy
179430ee40dSJeff LaBundy  azoteq,global-cap-increase:
180430ee40dSJeff LaBundy    type: boolean
181430ee40dSJeff LaBundy    description: Increases the global capacitance adder from 0.5 pF to 1.5 pF.
182430ee40dSJeff LaBundy
183430ee40dSJeff LaBundy  azoteq,reseed-select:
184086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
185086e9074SRob Herring    enum: [0, 1, 2, 3]
186430ee40dSJeff LaBundy    default: 0
187430ee40dSJeff LaBundy    description: |
188430ee40dSJeff LaBundy      Specifies the event(s) that prompt the device to reseed (i.e. reset the
189430ee40dSJeff LaBundy      long-term average) of an associated channel as follows:
190430ee40dSJeff LaBundy      0: None
191430ee40dSJeff LaBundy      1: Proximity
192430ee40dSJeff LaBundy      2: Proximity or touch
193430ee40dSJeff LaBundy      3: Proximity, touch or deep touch
194430ee40dSJeff LaBundy
195430ee40dSJeff LaBundy  azoteq,tracking-enable:
196430ee40dSJeff LaBundy    type: boolean
197430ee40dSJeff LaBundy    description:
198430ee40dSJeff LaBundy      Enables all associated channels to track their respective reference
199430ee40dSJeff LaBundy      channels.
200430ee40dSJeff LaBundy
201430ee40dSJeff LaBundy  azoteq,filt-str-slider:
202086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
203086e9074SRob Herring    enum: [0, 1, 2, 3]
204430ee40dSJeff LaBundy    default: 1
205430ee40dSJeff LaBundy    description: Specifies the slider coordinate filter strength.
206430ee40dSJeff LaBundy
207430ee40dSJeff LaBundypatternProperties:
208430ee40dSJeff LaBundy  "^channel@[0-7]$":
209430ee40dSJeff LaBundy    type: object
210430ee40dSJeff LaBundy    description:
211430ee40dSJeff LaBundy      Represents a single sensing channel. A channel is active if defined and
212430ee40dSJeff LaBundy      inactive otherwise.
213430ee40dSJeff LaBundy
214430ee40dSJeff LaBundy    properties:
215430ee40dSJeff LaBundy      reg:
216430ee40dSJeff LaBundy        minimum: 0
217430ee40dSJeff LaBundy        maximum: 7
218430ee40dSJeff LaBundy        description: Index of the channel.
219430ee40dSJeff LaBundy
220430ee40dSJeff LaBundy      azoteq,reseed-disable:
221430ee40dSJeff LaBundy        type: boolean
222430ee40dSJeff LaBundy        description:
223430ee40dSJeff LaBundy          Prevents the channel from being reseeded if the long-term average
224430ee40dSJeff LaBundy          timeout (defined in 'azoteq,timeout-lta') expires.
225430ee40dSJeff LaBundy
226430ee40dSJeff LaBundy      azoteq,blocking-enable:
227430ee40dSJeff LaBundy        type: boolean
228430ee40dSJeff LaBundy        description: Specifies that the channel is a blocking channel.
229430ee40dSJeff LaBundy
230430ee40dSJeff LaBundy      azoteq,slider0-select:
231430ee40dSJeff LaBundy        type: boolean
232430ee40dSJeff LaBundy        description: Specifies that the channel participates in slider 0.
233430ee40dSJeff LaBundy
234430ee40dSJeff LaBundy      azoteq,slider1-select:
235430ee40dSJeff LaBundy        type: boolean
236430ee40dSJeff LaBundy        description: Specifies that the channel participates in slider 1.
237430ee40dSJeff LaBundy
238430ee40dSJeff LaBundy      azoteq,rx-enable:
239086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32-array
240086e9074SRob Herring        minItems: 1
241430ee40dSJeff LaBundy        maxItems: 8
242430ee40dSJeff LaBundy        items:
243430ee40dSJeff LaBundy          minimum: 0
244430ee40dSJeff LaBundy          maximum: 7
245430ee40dSJeff LaBundy        description:
246430ee40dSJeff LaBundy          Specifies the CRX pin(s) associated with the channel. By default, only
247430ee40dSJeff LaBundy          the CRX pin corresponding to the channel's index is enabled (e.g. CRX0
248430ee40dSJeff LaBundy          for channel 0).
249430ee40dSJeff LaBundy
250430ee40dSJeff LaBundy      azoteq,tx-enable:
251086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32-array
252086e9074SRob Herring        minItems: 1
253430ee40dSJeff LaBundy        maxItems: 8
254430ee40dSJeff LaBundy        items:
255430ee40dSJeff LaBundy          minimum: 0
256430ee40dSJeff LaBundy          maximum: 7
257430ee40dSJeff LaBundy        default: [0, 1, 2, 3, 4, 5, 6, 7]
258430ee40dSJeff LaBundy        description: Specifies the TX pin(s) associated with the channel.
259430ee40dSJeff LaBundy
260430ee40dSJeff LaBundy      azoteq,meas-cap-decrease:
261430ee40dSJeff LaBundy        type: boolean
262430ee40dSJeff LaBundy        description:
263430ee40dSJeff LaBundy          Decreases the internal measurement capacitance from 60 pF to 15 pF.
264430ee40dSJeff LaBundy
265430ee40dSJeff LaBundy      azoteq,rx-float-inactive:
266430ee40dSJeff LaBundy        type: boolean
267430ee40dSJeff LaBundy        description: Floats any inactive CRX pins instead of grounding them.
268430ee40dSJeff LaBundy
269430ee40dSJeff LaBundy      azoteq,local-cap-size:
270086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
271086e9074SRob Herring        enum: [0, 1, 2]
272430ee40dSJeff LaBundy        default: 0
273430ee40dSJeff LaBundy        description: |
274430ee40dSJeff LaBundy          Specifies the capacitance to be added to the channel as follows:
275430ee40dSJeff LaBundy          0: None
276430ee40dSJeff LaBundy          1: Global adder (based on 'azoteq,global-cap-increase')
277430ee40dSJeff LaBundy          2: Global adder + 0.5 pF
278430ee40dSJeff LaBundy
279430ee40dSJeff LaBundy      azoteq,invert-enable:
280430ee40dSJeff LaBundy        type: boolean
281430ee40dSJeff LaBundy        description:
282430ee40dSJeff LaBundy          Inverts the polarity of the states reported for proximity, touch and
283430ee40dSJeff LaBundy          deep-touch events relative to their respective thresholds.
284430ee40dSJeff LaBundy
285430ee40dSJeff LaBundy      azoteq,proj-bias:
286086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
287086e9074SRob Herring        enum: [0, 1, 2, 3]
288430ee40dSJeff LaBundy        default: 2
289430ee40dSJeff LaBundy        description: |
290430ee40dSJeff LaBundy          Specifies the bias current applied during projected-capacitance
291430ee40dSJeff LaBundy          sensing as follows:
292430ee40dSJeff LaBundy          0: 2.5 uA
293430ee40dSJeff LaBundy          1: 5 uA
294430ee40dSJeff LaBundy          2: 10 uA
295430ee40dSJeff LaBundy          3: 20 uA
296430ee40dSJeff LaBundy
297430ee40dSJeff LaBundy      azoteq,sense-mode:
298086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
299086e9074SRob Herring        enum: [0, 1, 9, 14, 15]
300430ee40dSJeff LaBundy        default: 0
301430ee40dSJeff LaBundy        description: |
302430ee40dSJeff LaBundy          Specifies the channel's sensing mode as follows:
303430ee40dSJeff LaBundy          0:  Self capacitance
304430ee40dSJeff LaBundy          1:  Projected capacitance
305430ee40dSJeff LaBundy          9:  Self or mutual inductance
306430ee40dSJeff LaBundy          14: Hall effect
307430ee40dSJeff LaBundy          15: Temperature
308430ee40dSJeff LaBundy
309430ee40dSJeff LaBundy      azoteq,sense-freq:
310086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
311086e9074SRob Herring        enum: [0, 1, 2, 3]
312430ee40dSJeff LaBundy        default: 1
313430ee40dSJeff LaBundy        description: |
314430ee40dSJeff LaBundy          Specifies the channel's sensing frequency as follows (parenthesized
315430ee40dSJeff LaBundy          numbers represent the frequency if 'azoteq,clk-div' is present):
316430ee40dSJeff LaBundy          0: 4 MHz (1 MHz)
317430ee40dSJeff LaBundy          1: 2 MHz (500 kHz)
318430ee40dSJeff LaBundy          2: 1 MHz (250 kHz)
319430ee40dSJeff LaBundy          3: 500 kHz (125 kHz)
320430ee40dSJeff LaBundy
321430ee40dSJeff LaBundy      azoteq,static-enable:
322430ee40dSJeff LaBundy        type: boolean
323430ee40dSJeff LaBundy        description: Enables the static front-end for the channel.
324430ee40dSJeff LaBundy
325430ee40dSJeff LaBundy      azoteq,ati-mode:
326086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
327086e9074SRob Herring        enum: [0, 1, 2, 3]
328430ee40dSJeff LaBundy        default: 3
329430ee40dSJeff LaBundy        description: |
330430ee40dSJeff LaBundy          Specifies the channel's ATI mode as follows:
331430ee40dSJeff LaBundy          0: Disabled
332430ee40dSJeff LaBundy          1: Semi-partial
333430ee40dSJeff LaBundy          2: Partial
334430ee40dSJeff LaBundy          3: Full
335430ee40dSJeff LaBundy
336430ee40dSJeff LaBundy      azoteq,ati-base:
337086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
338086e9074SRob Herring        enum: [75, 100, 150, 200]
339430ee40dSJeff LaBundy        default: 100
340430ee40dSJeff LaBundy        description: Specifies the channel's ATI base.
341430ee40dSJeff LaBundy
342430ee40dSJeff LaBundy      azoteq,ati-target:
343086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
344086e9074SRob Herring        multipleOf: 32
345430ee40dSJeff LaBundy        minimum: 0
346430ee40dSJeff LaBundy        maximum: 2016
347430ee40dSJeff LaBundy        default: 512
348430ee40dSJeff LaBundy        description: Specifies the channel's ATI target.
349430ee40dSJeff LaBundy
350430ee40dSJeff LaBundy      azoteq,assoc-select:
351086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32-array
352086e9074SRob Herring        minItems: 1
353430ee40dSJeff LaBundy        maxItems: 8
354430ee40dSJeff LaBundy        items:
355430ee40dSJeff LaBundy          minimum: 0
356430ee40dSJeff LaBundy          maximum: 7
357430ee40dSJeff LaBundy        description:
358430ee40dSJeff LaBundy          Specifies the associated channels for which the channel serves as a
359430ee40dSJeff LaBundy          reference channel. By default, no channels are selected.
360430ee40dSJeff LaBundy
361430ee40dSJeff LaBundy      azoteq,assoc-weight:
362086e9074SRob Herring        $ref: /schemas/types.yaml#/definitions/uint32
363086e9074SRob Herring        minimum: 0
364430ee40dSJeff LaBundy        maximum: 255
365430ee40dSJeff LaBundy        default: 0
366430ee40dSJeff LaBundy        description:
367430ee40dSJeff LaBundy          Specifies the channel's impact weight if it acts as an associated
368430ee40dSJeff LaBundy          channel (0 = 0% impact, 255 = 200% impact).
369430ee40dSJeff LaBundy
370430ee40dSJeff LaBundy    patternProperties:
371430ee40dSJeff LaBundy      "^event-prox(-alt)?$":
372430ee40dSJeff LaBundy        type: object
373*8ac14d2cSRob Herring        $ref: input.yaml#
374430ee40dSJeff LaBundy        description:
375430ee40dSJeff LaBundy          Represents a proximity event reported by the channel in response to
376430ee40dSJeff LaBundy          a decrease in counts. Node names suffixed with '-alt' instead corre-
377430ee40dSJeff LaBundy          spond to an increase in counts.
378430ee40dSJeff LaBundy
379430ee40dSJeff LaBundy          By default, the long-term average tracks an increase in counts such
380430ee40dSJeff LaBundy          that only events corresponding to a decrease in counts are reported
381430ee40dSJeff LaBundy          (refer to the datasheet for more information).
382430ee40dSJeff LaBundy
383430ee40dSJeff LaBundy          Specify 'azoteq,dual-direction' to freeze the long-term average when
384430ee40dSJeff LaBundy          the counts increase or decrease such that events of either direction
385430ee40dSJeff LaBundy          can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
386430ee40dSJeff LaBundy          vert the polarity of the states reported by the channel.
387430ee40dSJeff LaBundy
388430ee40dSJeff LaBundy          Complementary events (e.g. event-touch and event-touch-alt) can both
389430ee40dSJeff LaBundy          be present and specify different key or switch codes, but not differ-
390430ee40dSJeff LaBundy          ent thresholds or hysteresis (if applicable).
391430ee40dSJeff LaBundy
392430ee40dSJeff LaBundy        properties:
393430ee40dSJeff LaBundy          azoteq,thresh:
394086e9074SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
395086e9074SRob Herring            minimum: 0
396430ee40dSJeff LaBundy            maximum: 255
397430ee40dSJeff LaBundy            default: 10
398430ee40dSJeff LaBundy            description: Specifies the threshold for the event.
399430ee40dSJeff LaBundy
400*8ac14d2cSRob Herring          linux,code: true
401430ee40dSJeff LaBundy
402430ee40dSJeff LaBundy        additionalProperties: false
403430ee40dSJeff LaBundy
404430ee40dSJeff LaBundy      "^event-touch(-alt)?$":
405430ee40dSJeff LaBundy        type: object
406*8ac14d2cSRob Herring        $ref: input.yaml#
407430ee40dSJeff LaBundy        description: Represents a touch event reported by the channel.
408430ee40dSJeff LaBundy
409430ee40dSJeff LaBundy        properties:
410430ee40dSJeff LaBundy          azoteq,thresh:
411086e9074SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
412086e9074SRob Herring            minimum: 0
413430ee40dSJeff LaBundy            maximum: 255
414430ee40dSJeff LaBundy            default: 8
415430ee40dSJeff LaBundy            description: Specifies the threshold for the event.
416430ee40dSJeff LaBundy
417430ee40dSJeff LaBundy          azoteq,hyst:
418086e9074SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
419086e9074SRob Herring            minimum: 0
420430ee40dSJeff LaBundy            maximum: 15
421430ee40dSJeff LaBundy            default: 4
422430ee40dSJeff LaBundy            description: Specifies the hysteresis for the event.
423430ee40dSJeff LaBundy
424*8ac14d2cSRob Herring          linux,code: true
425430ee40dSJeff LaBundy
426430ee40dSJeff LaBundy        additionalProperties: false
427430ee40dSJeff LaBundy
428430ee40dSJeff LaBundy      "^event-deep(-alt)?$":
429430ee40dSJeff LaBundy        type: object
430*8ac14d2cSRob Herring        $ref: input.yaml#
431430ee40dSJeff LaBundy        description: Represents a deep-touch event reported by the channel.
432430ee40dSJeff LaBundy
433430ee40dSJeff LaBundy        properties:
434430ee40dSJeff LaBundy          azoteq,thresh:
435086e9074SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
436086e9074SRob Herring            minimum: 0
437430ee40dSJeff LaBundy            maximum: 255
438430ee40dSJeff LaBundy            default: 26
439430ee40dSJeff LaBundy            description: Specifies the threshold for the event.
440430ee40dSJeff LaBundy
441430ee40dSJeff LaBundy          azoteq,hyst:
442086e9074SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
443086e9074SRob Herring            minimum: 0
444430ee40dSJeff LaBundy            maximum: 15
445430ee40dSJeff LaBundy            default: 0
446430ee40dSJeff LaBundy            description: Specifies the hysteresis for the event.
447430ee40dSJeff LaBundy
448*8ac14d2cSRob Herring          linux,code: true
449430ee40dSJeff LaBundy
450430ee40dSJeff LaBundy        additionalProperties: false
451430ee40dSJeff LaBundy
452430ee40dSJeff LaBundy    required:
453430ee40dSJeff LaBundy      - reg
454430ee40dSJeff LaBundy
455430ee40dSJeff LaBundy    additionalProperties: false
456430ee40dSJeff LaBundy
457430ee40dSJeff LaBundyrequired:
458430ee40dSJeff LaBundy  - compatible
459430ee40dSJeff LaBundy  - reg
460430ee40dSJeff LaBundy  - interrupts
461430ee40dSJeff LaBundy  - "#address-cells"
462430ee40dSJeff LaBundy  - "#size-cells"
463430ee40dSJeff LaBundy
464430ee40dSJeff LaBundyadditionalProperties: false
465430ee40dSJeff LaBundy
466430ee40dSJeff LaBundyexamples:
467430ee40dSJeff LaBundy  - |
468430ee40dSJeff LaBundy    #include <dt-bindings/input/input.h>
469430ee40dSJeff LaBundy    #include <dt-bindings/interrupt-controller/irq.h>
470430ee40dSJeff LaBundy
471430ee40dSJeff LaBundy    i2c {
472430ee40dSJeff LaBundy            #address-cells = <1>;
473430ee40dSJeff LaBundy            #size-cells = <0>;
474430ee40dSJeff LaBundy
4754fda8a2dSKrzysztof Kozlowski            touch@44 {
476430ee40dSJeff LaBundy                    #address-cells = <1>;
477430ee40dSJeff LaBundy                    #size-cells = <0>;
478430ee40dSJeff LaBundy
479430ee40dSJeff LaBundy                    compatible = "azoteq,iqs269a";
480430ee40dSJeff LaBundy                    reg = <0x44>;
481430ee40dSJeff LaBundy                    interrupt-parent = <&gpio>;
482430ee40dSJeff LaBundy                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
483430ee40dSJeff LaBundy
484430ee40dSJeff LaBundy                    azoteq,hall-enable;
485430ee40dSJeff LaBundy                    azoteq,suspend-mode = <2>;
486430ee40dSJeff LaBundy
487430ee40dSJeff LaBundy                    channel@0 {
488430ee40dSJeff LaBundy                            reg = <0x0>;
489430ee40dSJeff LaBundy
490430ee40dSJeff LaBundy                            event-prox {
491430ee40dSJeff LaBundy                                    linux,code = <KEY_POWER>;
492430ee40dSJeff LaBundy                            };
493430ee40dSJeff LaBundy                    };
494430ee40dSJeff LaBundy
495430ee40dSJeff LaBundy                    channel@1 {
496430ee40dSJeff LaBundy                            reg = <0x1>;
497430ee40dSJeff LaBundy                            azoteq,slider0-select;
498430ee40dSJeff LaBundy                    };
499430ee40dSJeff LaBundy
500430ee40dSJeff LaBundy                    channel@2 {
501430ee40dSJeff LaBundy                            reg = <0x2>;
502430ee40dSJeff LaBundy                            azoteq,slider0-select;
503430ee40dSJeff LaBundy                    };
504430ee40dSJeff LaBundy
505430ee40dSJeff LaBundy                    channel@3 {
506430ee40dSJeff LaBundy                            reg = <0x3>;
507430ee40dSJeff LaBundy                            azoteq,slider0-select;
508430ee40dSJeff LaBundy                    };
509430ee40dSJeff LaBundy
510430ee40dSJeff LaBundy                    channel@4 {
511430ee40dSJeff LaBundy                            reg = <0x4>;
512430ee40dSJeff LaBundy                            azoteq,slider0-select;
513430ee40dSJeff LaBundy                    };
514430ee40dSJeff LaBundy
515430ee40dSJeff LaBundy                    channel@5 {
516430ee40dSJeff LaBundy                            reg = <0x5>;
517430ee40dSJeff LaBundy                            azoteq,slider0-select;
518430ee40dSJeff LaBundy                    };
519430ee40dSJeff LaBundy
520430ee40dSJeff LaBundy                    channel@6 {
521430ee40dSJeff LaBundy                            reg = <0x6>;
522430ee40dSJeff LaBundy                            azoteq,invert-enable;
523430ee40dSJeff LaBundy                            azoteq,static-enable;
524430ee40dSJeff LaBundy                            azoteq,reseed-disable;
525430ee40dSJeff LaBundy                            azoteq,rx-enable = <0>;
526430ee40dSJeff LaBundy                            azoteq,sense-freq = <0x0>;
527430ee40dSJeff LaBundy                            azoteq,sense-mode = <0xE>;
528430ee40dSJeff LaBundy                            azoteq,ati-mode = <0x0>;
529430ee40dSJeff LaBundy                            azoteq,ati-base = <200>;
530430ee40dSJeff LaBundy                            azoteq,ati-target = <320>;
531430ee40dSJeff LaBundy                    };
532430ee40dSJeff LaBundy
533430ee40dSJeff LaBundy                    channel@7 {
534430ee40dSJeff LaBundy                            reg = <0x7>;
535430ee40dSJeff LaBundy                            azoteq,invert-enable;
536430ee40dSJeff LaBundy                            azoteq,static-enable;
537430ee40dSJeff LaBundy                            azoteq,reseed-disable;
538430ee40dSJeff LaBundy                            azoteq,rx-enable = <0>, <6>;
539430ee40dSJeff LaBundy                            azoteq,sense-freq = <0x0>;
540430ee40dSJeff LaBundy                            azoteq,sense-mode = <0xE>;
541430ee40dSJeff LaBundy                            azoteq,ati-mode = <0x3>;
542430ee40dSJeff LaBundy                            azoteq,ati-base = <200>;
543430ee40dSJeff LaBundy                            azoteq,ati-target = <320>;
544430ee40dSJeff LaBundy
545430ee40dSJeff LaBundy                            event-touch {
546430ee40dSJeff LaBundy                                    linux,code = <SW_LID>;
547430ee40dSJeff LaBundy                            };
548430ee40dSJeff LaBundy                    };
549430ee40dSJeff LaBundy            };
550430ee40dSJeff LaBundy    };
551430ee40dSJeff LaBundy
552430ee40dSJeff LaBundy...
553